INFO buildroot.py:494: Mock Version: 3.5 DEBUG file_util.py:17: ensuring that dir exists: /var/lib/mock/dlrn-centos9-xena-x86_64-5/root/dev/pts DEBUG file_util.py:20: creating dir: /var/lib/mock/dlrn-centos9-xena-x86_64-5/root/dev/pts DEBUG file_util.py:17: ensuring that dir exists: /var/lib/mock/dlrn-centos9-xena-x86_64-5/root/dev/shm DEBUG file_util.py:20: creating dir: /var/lib/mock/dlrn-centos9-xena-x86_64-5/root/dev/shm DEBUG file_util.py:17: ensuring that dir exists: /var/lib/mock/dlrn-centos9-xena-x86_64-5/root/dev/mapper DEBUG file_util.py:20: creating dir: /var/lib/mock/dlrn-centos9-xena-x86_64-5/root/dev/mapper DEBUG buildroot.py:687: kernel version == 4.18.0-485.el8.x86_64 DEBUG file_util.py:30: touching file: /var/lib/mock/dlrn-centos9-xena-x86_64-5/root/etc/fstab DEBUG file_util.py:30: touching file: /var/lib/mock/dlrn-centos9-xena-x86_64-5/root/etc/yum/yum.conf DEBUG file_util.py:30: touching file: /var/lib/mock/dlrn-centos9-xena-x86_64-5/root/etc/dnf/dnf.conf DEBUG file_util.py:30: touching file: /var/lib/mock/dlrn-centos9-xena-x86_64-5/root/var/log/yum.log DEBUG file_util.py:17: ensuring that dir exists: /var/lib/mock/dlrn-centos9-xena-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-xena-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-xena-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-xena-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-xena-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-xena-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-xena-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-xena-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-xena-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-xena-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-xena-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-xena-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-xena-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-xena-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-xena-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-xena-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-xena-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-xena-x86_64-5/yum_cache', '/var/lib/mock/dlrn-centos9-xena-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-xena-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-xena-x86_64-5/dnf_cache', '/var/lib/mock/dlrn-centos9-xena-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.sf555t9u', '/var/lib/mock/dlrn-centos9-xena-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-xena-x86_64-5-bootstrap/root/var/lib/mock/dlrn-centos9-xena-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-xena-x86_64-5-bootstrap/root/var/lib/mock/dlrn-centos9-xena-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-xena-x86_64-5-bootstrap/root/var/lib/mock/dlrn-centos9-xena-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-xena-x86_64-5/root', '/var/lib/mock/dlrn-centos9-xena-x86_64-5-bootstrap/root/var/lib/mock/dlrn-centos9-xena-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-xena-x86_64-5-bootstrap/root/var/lib/mock/dlrn-centos9-xena-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-xena-x86_64-5/root DEBUG buildroot.py:199: resultdir = /home/centos9-xena/data/repos/component/baremetal/96/d2/96d2c3cb44f6c3a355c4b6ac51345009bfd25e10_4c152d56 DEBUG file_util.py:17: ensuring that dir exists: /var/lib/mock/dlrn-centos9-xena-x86_64-5/root/etc/pki/mock DEBUG file_util.py:17: ensuring that dir exists: /var/lib/mock/dlrn-centos9-xena-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', '1027', '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-xena-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-xena-x86_64-5-bootstrap/root/var/lib/mock/dlrn-centos9-xena-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-xena-x86_64-5-bootstrap/root/var/lib/mock/dlrn-centos9-xena-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-xena-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-xena-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-xena-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-xena-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-xena-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-xena-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-xena-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-xena-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-xena-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-xena-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-xena-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-xena-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-xena-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-xena-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-xena-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-xena-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-xena-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-xena-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-xena-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-xena-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-xena-x86_64-5/root/dev/pts DEBUG file_util.py:17: ensuring that dir exists: /var/lib/mock/dlrn-centos9-xena-x86_64-5/root/dev/shm DEBUG file_util.py:17: ensuring that dir exists: /var/lib/mock/dlrn-centos9-xena-x86_64-5/root/dev/mapper DEBUG file_util.py:20: creating dir: /var/lib/mock/dlrn-centos9-xena-x86_64-5/root/dev/mapper DEBUG buildroot.py:687: kernel version == 4.18.0-485.el8.x86_64 DEBUG file_util.py:30: touching file: /var/lib/mock/dlrn-centos9-xena-x86_64-5/root/etc/fstab DEBUG file_util.py:30: touching file: /var/lib/mock/dlrn-centos9-xena-x86_64-5/root/etc/yum/yum.conf DEBUG file_util.py:30: touching file: /var/lib/mock/dlrn-centos9-xena-x86_64-5/root/etc/dnf/dnf.conf DEBUG file_util.py:30: touching file: /var/lib/mock/dlrn-centos9-xena-x86_64-5/root/var/log/yum.log DEBUG file_util.py:17: ensuring that dir exists: /var/lib/mock/dlrn-centos9-xena-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-xena-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-xena-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-xena-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-xena-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-xena-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-xena-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-xena-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-xena-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-xena-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-xena-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-xena-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-xena-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-xena-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-xena-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-xena-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-xena-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-xena-x86_64-5/yum_cache', '/var/lib/mock/dlrn-centos9-xena-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-xena-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-xena-x86_64-5/dnf_cache', '/var/lib/mock/dlrn-centos9-xena-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.f5bcdgwc', '/var/lib/mock/dlrn-centos9-xena-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-xena-x86_64-5-bootstrap/root/var/lib/mock/dlrn-centos9-xena-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-xena-x86_64-5-bootstrap/root/var/lib/mock/dlrn-centos9-xena-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-xena-x86_64-5-bootstrap/root/var/lib/mock/dlrn-centos9-xena-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-xena-x86_64-5/root', '/var/lib/mock/dlrn-centos9-xena-x86_64-5-bootstrap/root/var/lib/mock/dlrn-centos9-xena-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-xena-x86_64-5-bootstrap/root/var/lib/mock/dlrn-centos9-xena-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-xena-x86_64-5/root DEBUG buildroot.py:199: resultdir = /home/centos9-xena/data/repos/component/baremetal/96/d2/96d2c3cb44f6c3a355c4b6ac51345009bfd25e10_4c152d56 DEBUG file_util.py:17: ensuring that dir exists: /var/lib/mock/dlrn-centos9-xena-x86_64-5/root/etc/pki/mock DEBUG file_util.py:17: ensuring that dir exists: /var/lib/mock/dlrn-centos9-xena-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', '1027', '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-xena-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.5s) DEBUG util.py:445: [pbr] Generating AUTHORS DEBUG util.py:445: [pbr] AUTHORS complete (0.7s) 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-18.3.1.dev11 DEBUG util.py:445: creating ironic-18.3.1.dev11/api-ref DEBUG util.py:445: creating ironic-18.3.1.dev11/api-ref/source DEBUG util.py:445: creating ironic-18.3.1.dev11/api-ref/source/samples DEBUG util.py:445: creating ironic-18.3.1.dev11/devstack DEBUG util.py:445: creating ironic-18.3.1.dev11/devstack/files DEBUG util.py:445: creating ironic-18.3.1.dev11/devstack/files/debs DEBUG util.py:445: creating ironic-18.3.1.dev11/devstack/files/hooks DEBUG util.py:445: creating ironic-18.3.1.dev11/devstack/files/rpms DEBUG util.py:445: creating ironic-18.3.1.dev11/devstack/lib DEBUG util.py:445: creating ironic-18.3.1.dev11/devstack/tools DEBUG util.py:445: creating ironic-18.3.1.dev11/devstack/tools/ironic DEBUG util.py:445: creating ironic-18.3.1.dev11/devstack/tools/ironic/scripts DEBUG util.py:445: creating ironic-18.3.1.dev11/devstack/tools/ironic/templates DEBUG util.py:445: creating ironic-18.3.1.dev11/devstack/upgrade DEBUG util.py:445: creating ironic-18.3.1.dev11/devstack/upgrade/from-queens DEBUG util.py:445: creating ironic-18.3.1.dev11/doc DEBUG util.py:445: creating ironic-18.3.1.dev11/doc/source DEBUG util.py:445: creating ironic-18.3.1.dev11/doc/source/_exts DEBUG util.py:445: creating ironic-18.3.1.dev11/doc/source/admin DEBUG util.py:445: creating ironic-18.3.1.dev11/doc/source/admin/drivers DEBUG util.py:445: creating ironic-18.3.1.dev11/doc/source/admin/interfaces DEBUG util.py:445: creating ironic-18.3.1.dev11/doc/source/cli DEBUG util.py:445: creating ironic-18.3.1.dev11/doc/source/configuration DEBUG util.py:445: creating ironic-18.3.1.dev11/doc/source/contributor DEBUG util.py:445: creating ironic-18.3.1.dev11/doc/source/images DEBUG util.py:445: creating ironic-18.3.1.dev11/doc/source/install DEBUG util.py:445: creating ironic-18.3.1.dev11/doc/source/install/include DEBUG util.py:445: creating ironic-18.3.1.dev11/doc/source/install/refarch DEBUG util.py:445: creating ironic-18.3.1.dev11/doc/source/install/standalone DEBUG util.py:445: creating ironic-18.3.1.dev11/doc/source/user DEBUG util.py:445: creating ironic-18.3.1.dev11/etc DEBUG util.py:445: creating ironic-18.3.1.dev11/etc/apache2 DEBUG util.py:445: creating ironic-18.3.1.dev11/etc/ironic DEBUG util.py:445: creating ironic-18.3.1.dev11/etc/ironic/rootwrap.d DEBUG util.py:445: creating ironic-18.3.1.dev11/ironic DEBUG util.py:445: creating ironic-18.3.1.dev11/ironic.egg-info DEBUG util.py:445: creating ironic-18.3.1.dev11/ironic/api DEBUG util.py:445: creating ironic-18.3.1.dev11/ironic/api/controllers DEBUG util.py:445: creating ironic-18.3.1.dev11/ironic/api/controllers/v1 DEBUG util.py:445: creating ironic-18.3.1.dev11/ironic/api/middleware DEBUG util.py:445: creating ironic-18.3.1.dev11/ironic/cmd DEBUG util.py:445: creating ironic-18.3.1.dev11/ironic/common DEBUG util.py:445: creating ironic-18.3.1.dev11/ironic/common/glance_service DEBUG util.py:445: creating ironic-18.3.1.dev11/ironic/conductor DEBUG util.py:445: creating ironic-18.3.1.dev11/ironic/conf DEBUG util.py:445: creating ironic-18.3.1.dev11/ironic/db DEBUG util.py:445: creating ironic-18.3.1.dev11/ironic/db/sqlalchemy DEBUG util.py:445: creating ironic-18.3.1.dev11/ironic/db/sqlalchemy/alembic DEBUG util.py:445: creating ironic-18.3.1.dev11/ironic/db/sqlalchemy/alembic/versions DEBUG util.py:445: creating ironic-18.3.1.dev11/ironic/dhcp DEBUG util.py:445: creating ironic-18.3.1.dev11/ironic/drivers DEBUG util.py:445: creating ironic-18.3.1.dev11/ironic/drivers/modules DEBUG util.py:445: creating ironic-18.3.1.dev11/ironic/drivers/modules/ansible DEBUG util.py:445: creating ironic-18.3.1.dev11/ironic/drivers/modules/ansible/playbooks DEBUG util.py:445: creating ironic-18.3.1.dev11/ironic/drivers/modules/ansible/playbooks/callback_plugins DEBUG util.py:445: creating ironic-18.3.1.dev11/ironic/drivers/modules/ansible/playbooks/library DEBUG util.py:445: creating ironic-18.3.1.dev11/ironic/drivers/modules/ansible/playbooks/roles DEBUG util.py:445: creating ironic-18.3.1.dev11/ironic/drivers/modules/ansible/playbooks/roles/clean DEBUG util.py:445: creating ironic-18.3.1.dev11/ironic/drivers/modules/ansible/playbooks/roles/clean/defaults DEBUG util.py:445: creating ironic-18.3.1.dev11/ironic/drivers/modules/ansible/playbooks/roles/clean/tasks DEBUG util.py:445: creating ironic-18.3.1.dev11/ironic/drivers/modules/ansible/playbooks/roles/configure DEBUG util.py:445: creating ironic-18.3.1.dev11/ironic/drivers/modules/ansible/playbooks/roles/configure/defaults DEBUG util.py:445: creating ironic-18.3.1.dev11/ironic/drivers/modules/ansible/playbooks/roles/configure/tasks DEBUG util.py:445: creating ironic-18.3.1.dev11/ironic/drivers/modules/ansible/playbooks/roles/deploy DEBUG util.py:445: creating ironic-18.3.1.dev11/ironic/drivers/modules/ansible/playbooks/roles/deploy/files DEBUG util.py:445: creating ironic-18.3.1.dev11/ironic/drivers/modules/ansible/playbooks/roles/deploy/tasks DEBUG util.py:445: creating ironic-18.3.1.dev11/ironic/drivers/modules/ansible/playbooks/roles/discover DEBUG util.py:445: creating ironic-18.3.1.dev11/ironic/drivers/modules/ansible/playbooks/roles/discover/tasks DEBUG util.py:445: creating ironic-18.3.1.dev11/ironic/drivers/modules/ansible/playbooks/roles/prepare DEBUG util.py:445: creating ironic-18.3.1.dev11/ironic/drivers/modules/ansible/playbooks/roles/prepare/tasks DEBUG util.py:445: creating ironic-18.3.1.dev11/ironic/drivers/modules/ansible/playbooks/roles/shutdown DEBUG util.py:445: creating ironic-18.3.1.dev11/ironic/drivers/modules/ansible/playbooks/roles/shutdown/tasks DEBUG util.py:445: creating ironic-18.3.1.dev11/ironic/drivers/modules/drac DEBUG util.py:445: creating ironic-18.3.1.dev11/ironic/drivers/modules/ibmc DEBUG util.py:445: creating ironic-18.3.1.dev11/ironic/drivers/modules/ilo DEBUG util.py:445: creating ironic-18.3.1.dev11/ironic/drivers/modules/intel_ipmi DEBUG util.py:445: creating ironic-18.3.1.dev11/ironic/drivers/modules/irmc DEBUG util.py:445: creating ironic-18.3.1.dev11/ironic/drivers/modules/network DEBUG util.py:445: creating ironic-18.3.1.dev11/ironic/drivers/modules/redfish DEBUG util.py:445: creating ironic-18.3.1.dev11/ironic/drivers/modules/storage DEBUG util.py:445: creating ironic-18.3.1.dev11/ironic/drivers/modules/xclarity DEBUG util.py:445: creating ironic-18.3.1.dev11/ironic/hacking DEBUG util.py:445: creating ironic-18.3.1.dev11/ironic/objects DEBUG util.py:445: creating ironic-18.3.1.dev11/ironic/tests DEBUG util.py:445: creating ironic-18.3.1.dev11/ironic/tests/functional DEBUG util.py:445: creating ironic-18.3.1.dev11/ironic/tests/json_samples DEBUG util.py:445: creating ironic-18.3.1.dev11/ironic/tests/unit DEBUG util.py:445: creating ironic-18.3.1.dev11/ironic/tests/unit/api DEBUG util.py:445: creating ironic-18.3.1.dev11/ironic/tests/unit/api/controllers DEBUG util.py:445: creating ironic-18.3.1.dev11/ironic/tests/unit/api/controllers/v1 DEBUG util.py:445: creating ironic-18.3.1.dev11/ironic/tests/unit/cmd DEBUG util.py:445: creating ironic-18.3.1.dev11/ironic/tests/unit/common DEBUG util.py:445: creating ironic-18.3.1.dev11/ironic/tests/unit/common/json_samples DEBUG util.py:445: creating ironic-18.3.1.dev11/ironic/tests/unit/conductor DEBUG util.py:445: creating ironic-18.3.1.dev11/ironic/tests/unit/conf DEBUG util.py:445: creating ironic-18.3.1.dev11/ironic/tests/unit/db DEBUG util.py:445: creating ironic-18.3.1.dev11/ironic/tests/unit/db/sqlalchemy DEBUG util.py:445: creating ironic-18.3.1.dev11/ironic/tests/unit/dhcp DEBUG util.py:445: creating ironic-18.3.1.dev11/ironic/tests/unit/drivers DEBUG util.py:445: creating ironic-18.3.1.dev11/ironic/tests/unit/drivers/modules DEBUG util.py:445: creating ironic-18.3.1.dev11/ironic/tests/unit/drivers/modules/ansible DEBUG util.py:445: creating ironic-18.3.1.dev11/ironic/tests/unit/drivers/modules/drac DEBUG util.py:445: creating ironic-18.3.1.dev11/ironic/tests/unit/drivers/modules/ibmc DEBUG util.py:445: creating ironic-18.3.1.dev11/ironic/tests/unit/drivers/modules/ilo DEBUG util.py:445: creating ironic-18.3.1.dev11/ironic/tests/unit/drivers/modules/intel_ipmi DEBUG util.py:445: creating ironic-18.3.1.dev11/ironic/tests/unit/drivers/modules/irmc DEBUG util.py:445: creating ironic-18.3.1.dev11/ironic/tests/unit/drivers/modules/network DEBUG util.py:445: creating ironic-18.3.1.dev11/ironic/tests/unit/drivers/modules/network/json_samples DEBUG util.py:445: creating ironic-18.3.1.dev11/ironic/tests/unit/drivers/modules/redfish DEBUG util.py:445: creating ironic-18.3.1.dev11/ironic/tests/unit/drivers/modules/storage DEBUG util.py:445: creating ironic-18.3.1.dev11/ironic/tests/unit/drivers/modules/xclarity DEBUG util.py:445: creating ironic-18.3.1.dev11/ironic/tests/unit/objects DEBUG util.py:445: creating ironic-18.3.1.dev11/playbooks DEBUG util.py:445: creating ironic-18.3.1.dev11/playbooks/ci-workarounds DEBUG util.py:445: creating ironic-18.3.1.dev11/releasenotes DEBUG util.py:445: creating ironic-18.3.1.dev11/releasenotes/notes DEBUG util.py:445: creating ironic-18.3.1.dev11/releasenotes/source DEBUG util.py:445: creating ironic-18.3.1.dev11/releasenotes/source/_static DEBUG util.py:445: creating ironic-18.3.1.dev11/releasenotes/source/_templates DEBUG util.py:445: creating ironic-18.3.1.dev11/releasenotes/source/locale DEBUG util.py:445: creating ironic-18.3.1.dev11/releasenotes/source/locale/en_GB DEBUG util.py:445: creating ironic-18.3.1.dev11/releasenotes/source/locale/en_GB/LC_MESSAGES DEBUG util.py:445: creating ironic-18.3.1.dev11/releasenotes/source/locale/ja DEBUG util.py:445: creating ironic-18.3.1.dev11/releasenotes/source/locale/ja/LC_MESSAGES DEBUG util.py:445: creating ironic-18.3.1.dev11/tools DEBUG util.py:445: creating ironic-18.3.1.dev11/tools/benchmark DEBUG util.py:445: creating ironic-18.3.1.dev11/tools/config DEBUG util.py:445: creating ironic-18.3.1.dev11/tools/policy DEBUG util.py:445: creating ironic-18.3.1.dev11/zuul.d DEBUG util.py:445: copying files to ironic-18.3.1.dev11... DEBUG util.py:445: copying .mailmap -> ironic-18.3.1.dev11 DEBUG util.py:445: copying .stestr.conf -> ironic-18.3.1.dev11 DEBUG util.py:445: copying AUTHORS -> ironic-18.3.1.dev11 DEBUG util.py:445: copying CONTRIBUTING.rst -> ironic-18.3.1.dev11 DEBUG util.py:445: copying ChangeLog -> ironic-18.3.1.dev11 DEBUG util.py:445: copying LICENSE -> ironic-18.3.1.dev11 DEBUG util.py:445: copying README.rst -> ironic-18.3.1.dev11 DEBUG util.py:445: copying bindep.txt -> ironic-18.3.1.dev11 DEBUG util.py:445: copying driver-requirements.txt -> ironic-18.3.1.dev11 DEBUG util.py:445: copying lower-constraints.txt -> ironic-18.3.1.dev11 DEBUG util.py:445: copying requirements.txt -> ironic-18.3.1.dev11 DEBUG util.py:445: copying setup.cfg -> ironic-18.3.1.dev11 DEBUG util.py:445: copying setup.py -> ironic-18.3.1.dev11 DEBUG util.py:445: copying test-requirements.txt -> ironic-18.3.1.dev11 DEBUG util.py:445: copying tox.ini -> ironic-18.3.1.dev11 DEBUG util.py:445: copying api-ref/regenerate-samples.sh -> ironic-18.3.1.dev11/api-ref DEBUG util.py:445: copying api-ref/source/baremetal-api-v1-allocation.inc -> ironic-18.3.1.dev11/api-ref/source DEBUG util.py:445: copying api-ref/source/baremetal-api-v1-chassis.inc -> ironic-18.3.1.dev11/api-ref/source DEBUG util.py:445: copying api-ref/source/baremetal-api-v1-conductors.inc -> ironic-18.3.1.dev11/api-ref/source DEBUG util.py:445: copying api-ref/source/baremetal-api-v1-deploy-templates.inc -> ironic-18.3.1.dev11/api-ref/source DEBUG util.py:445: copying api-ref/source/baremetal-api-v1-driver-passthru.inc -> ironic-18.3.1.dev11/api-ref/source DEBUG util.py:445: copying api-ref/source/baremetal-api-v1-drivers.inc -> ironic-18.3.1.dev11/api-ref/source DEBUG util.py:445: copying api-ref/source/baremetal-api-v1-indicators.inc -> ironic-18.3.1.dev11/api-ref/source DEBUG util.py:445: copying api-ref/source/baremetal-api-v1-misc.inc -> ironic-18.3.1.dev11/api-ref/source DEBUG util.py:445: copying api-ref/source/baremetal-api-v1-node-allocation.inc -> ironic-18.3.1.dev11/api-ref/source DEBUG util.py:445: copying api-ref/source/baremetal-api-v1-node-management.inc -> ironic-18.3.1.dev11/api-ref/source DEBUG util.py:445: copying api-ref/source/baremetal-api-v1-node-passthru.inc -> ironic-18.3.1.dev11/api-ref/source DEBUG util.py:445: copying api-ref/source/baremetal-api-v1-nodes-bios.inc -> ironic-18.3.1.dev11/api-ref/source DEBUG util.py:445: copying api-ref/source/baremetal-api-v1-nodes-history.inc -> ironic-18.3.1.dev11/api-ref/source DEBUG util.py:445: copying api-ref/source/baremetal-api-v1-nodes-portgroups.inc -> ironic-18.3.1.dev11/api-ref/source DEBUG util.py:445: copying api-ref/source/baremetal-api-v1-nodes-ports.inc -> ironic-18.3.1.dev11/api-ref/source DEBUG util.py:445: copying api-ref/source/baremetal-api-v1-nodes-traits.inc -> ironic-18.3.1.dev11/api-ref/source DEBUG util.py:445: copying api-ref/source/baremetal-api-v1-nodes-vifs.inc -> ironic-18.3.1.dev11/api-ref/source DEBUG util.py:445: copying api-ref/source/baremetal-api-v1-nodes-volume.inc -> ironic-18.3.1.dev11/api-ref/source DEBUG util.py:445: copying api-ref/source/baremetal-api-v1-nodes.inc -> ironic-18.3.1.dev11/api-ref/source DEBUG util.py:445: copying api-ref/source/baremetal-api-v1-portgroups-ports.inc -> ironic-18.3.1.dev11/api-ref/source DEBUG util.py:445: copying api-ref/source/baremetal-api-v1-portgroups.inc -> ironic-18.3.1.dev11/api-ref/source DEBUG util.py:445: copying api-ref/source/baremetal-api-v1-ports.inc -> ironic-18.3.1.dev11/api-ref/source DEBUG util.py:445: copying api-ref/source/baremetal-api-v1-volume.inc -> ironic-18.3.1.dev11/api-ref/source DEBUG util.py:445: copying api-ref/source/baremetal-api-versions.inc -> ironic-18.3.1.dev11/api-ref/source DEBUG util.py:445: copying api-ref/source/conf.py -> ironic-18.3.1.dev11/api-ref/source DEBUG util.py:445: copying api-ref/source/index.rst -> ironic-18.3.1.dev11/api-ref/source DEBUG util.py:445: copying api-ref/source/parameters.yaml -> ironic-18.3.1.dev11/api-ref/source DEBUG util.py:445: copying api-ref/source/samples/allocation-create-request-2.json -> ironic-18.3.1.dev11/api-ref/source/samples DEBUG util.py:445: copying api-ref/source/samples/allocation-create-request.json -> ironic-18.3.1.dev11/api-ref/source/samples DEBUG util.py:445: copying api-ref/source/samples/allocation-create-response.json -> ironic-18.3.1.dev11/api-ref/source/samples DEBUG util.py:445: copying api-ref/source/samples/allocation-show-response.json -> ironic-18.3.1.dev11/api-ref/source/samples DEBUG util.py:445: copying api-ref/source/samples/allocation-update-request.json -> ironic-18.3.1.dev11/api-ref/source/samples DEBUG util.py:445: copying api-ref/source/samples/allocation-update-response.json -> ironic-18.3.1.dev11/api-ref/source/samples DEBUG util.py:445: copying api-ref/source/samples/allocations-list-response.json -> ironic-18.3.1.dev11/api-ref/source/samples DEBUG util.py:445: copying api-ref/source/samples/api-root-response.json -> ironic-18.3.1.dev11/api-ref/source/samples DEBUG util.py:445: copying api-ref/source/samples/api-v1-root-response.json -> ironic-18.3.1.dev11/api-ref/source/samples DEBUG util.py:445: copying api-ref/source/samples/chassis-create-request.json -> ironic-18.3.1.dev11/api-ref/source/samples DEBUG util.py:445: copying api-ref/source/samples/chassis-list-details-response.json -> ironic-18.3.1.dev11/api-ref/source/samples DEBUG util.py:445: copying api-ref/source/samples/chassis-list-response.json -> ironic-18.3.1.dev11/api-ref/source/samples DEBUG util.py:445: copying api-ref/source/samples/chassis-show-response.json -> ironic-18.3.1.dev11/api-ref/source/samples DEBUG util.py:445: copying api-ref/source/samples/chassis-update-request.json -> ironic-18.3.1.dev11/api-ref/source/samples DEBUG util.py:445: copying api-ref/source/samples/chassis-update-response.json -> ironic-18.3.1.dev11/api-ref/source/samples DEBUG util.py:445: copying api-ref/source/samples/conductor-list-details-response.json -> ironic-18.3.1.dev11/api-ref/source/samples DEBUG util.py:445: copying api-ref/source/samples/conductor-list-response.json -> ironic-18.3.1.dev11/api-ref/source/samples DEBUG util.py:445: copying api-ref/source/samples/conductor-show-response.json -> ironic-18.3.1.dev11/api-ref/source/samples DEBUG util.py:445: copying api-ref/source/samples/deploy-template-create-request.json -> ironic-18.3.1.dev11/api-ref/source/samples DEBUG util.py:445: copying api-ref/source/samples/deploy-template-create-response.json -> ironic-18.3.1.dev11/api-ref/source/samples DEBUG util.py:445: copying api-ref/source/samples/deploy-template-detail-response.json -> ironic-18.3.1.dev11/api-ref/source/samples DEBUG util.py:445: copying api-ref/source/samples/deploy-template-list-response.json -> ironic-18.3.1.dev11/api-ref/source/samples DEBUG util.py:445: copying api-ref/source/samples/deploy-template-show-response.json -> ironic-18.3.1.dev11/api-ref/source/samples DEBUG util.py:445: copying api-ref/source/samples/deploy-template-update-request.json -> ironic-18.3.1.dev11/api-ref/source/samples DEBUG util.py:445: copying api-ref/source/samples/deploy-template-update-response.json -> ironic-18.3.1.dev11/api-ref/source/samples DEBUG util.py:445: copying api-ref/source/samples/driver-get-response.json -> ironic-18.3.1.dev11/api-ref/source/samples DEBUG util.py:445: copying api-ref/source/samples/driver-logical-disk-properties-response.json -> ironic-18.3.1.dev11/api-ref/source/samples DEBUG util.py:445: copying api-ref/source/samples/driver-property-response.json -> ironic-18.3.1.dev11/api-ref/source/samples DEBUG util.py:445: copying api-ref/source/samples/drivers-list-detail-response.json -> ironic-18.3.1.dev11/api-ref/source/samples DEBUG util.py:445: copying api-ref/source/samples/drivers-list-response.json -> ironic-18.3.1.dev11/api-ref/source/samples DEBUG util.py:445: copying api-ref/source/samples/lookup-node-response.json -> ironic-18.3.1.dev11/api-ref/source/samples DEBUG util.py:445: copying api-ref/source/samples/node-bios-detail-response.json -> ironic-18.3.1.dev11/api-ref/source/samples DEBUG util.py:445: copying api-ref/source/samples/node-bios-list-details-response.json -> ironic-18.3.1.dev11/api-ref/source/samples DEBUG util.py:445: copying api-ref/source/samples/node-bios-list-response.json -> ironic-18.3.1.dev11/api-ref/source/samples DEBUG util.py:445: copying api-ref/source/samples/node-create-request-classic.json -> ironic-18.3.1.dev11/api-ref/source/samples DEBUG util.py:445: copying api-ref/source/samples/node-create-request-dynamic.json -> ironic-18.3.1.dev11/api-ref/source/samples DEBUG util.py:445: copying api-ref/source/samples/node-create-response.json -> ironic-18.3.1.dev11/api-ref/source/samples DEBUG util.py:445: copying api-ref/source/samples/node-get-boot-device-response.json -> ironic-18.3.1.dev11/api-ref/source/samples DEBUG util.py:445: copying api-ref/source/samples/node-get-state-response.json -> ironic-18.3.1.dev11/api-ref/source/samples DEBUG util.py:445: copying api-ref/source/samples/node-get-supported-boot-devices-response.json -> ironic-18.3.1.dev11/api-ref/source/samples DEBUG util.py:445: copying api-ref/source/samples/node-history-list-response.json -> ironic-18.3.1.dev11/api-ref/source/samples DEBUG util.py:445: copying api-ref/source/samples/node-indicators-component-list-response.json -> ironic-18.3.1.dev11/api-ref/source/samples DEBUG util.py:445: copying api-ref/source/samples/node-indicators-get-state-response.json -> ironic-18.3.1.dev11/api-ref/source/samples DEBUG util.py:445: copying api-ref/source/samples/node-indicators-list-response.json -> ironic-18.3.1.dev11/api-ref/source/samples DEBUG util.py:445: copying api-ref/source/samples/node-indicators-set-state.json -> ironic-18.3.1.dev11/api-ref/source/samples DEBUG util.py:445: copying api-ref/source/samples/node-inject-nmi.json -> ironic-18.3.1.dev11/api-ref/source/samples DEBUG util.py:445: copying api-ref/source/samples/node-maintenance-request.json -> ironic-18.3.1.dev11/api-ref/source/samples DEBUG util.py:445: copying api-ref/source/samples/node-port-detail-response.json -> ironic-18.3.1.dev11/api-ref/source/samples DEBUG util.py:445: copying api-ref/source/samples/node-port-list-response.json -> ironic-18.3.1.dev11/api-ref/source/samples DEBUG util.py:445: copying api-ref/source/samples/node-portgroup-detail-response.json -> ironic-18.3.1.dev11/api-ref/source/samples DEBUG util.py:445: copying api-ref/source/samples/node-portgroup-list-response.json -> ironic-18.3.1.dev11/api-ref/source/samples DEBUG util.py:445: copying api-ref/source/samples/node-set-active-state-deploy-steps.json -> ironic-18.3.1.dev11/api-ref/source/samples DEBUG util.py:445: copying api-ref/source/samples/node-set-active-state.json -> ironic-18.3.1.dev11/api-ref/source/samples DEBUG util.py:445: copying api-ref/source/samples/node-set-available-state.json -> ironic-18.3.1.dev11/api-ref/source/samples DEBUG util.py:445: copying api-ref/source/samples/node-set-boot-device.json -> ironic-18.3.1.dev11/api-ref/source/samples DEBUG util.py:445: copying api-ref/source/samples/node-set-boot-mode-bios.json -> ironic-18.3.1.dev11/api-ref/source/samples DEBUG util.py:445: copying api-ref/source/samples/node-set-boot-mode-uefi.json -> ironic-18.3.1.dev11/api-ref/source/samples DEBUG util.py:445: copying api-ref/source/samples/node-set-clean-state.json -> ironic-18.3.1.dev11/api-ref/source/samples DEBUG util.py:445: copying api-ref/source/samples/node-set-manage-state.json -> ironic-18.3.1.dev11/api-ref/source/samples DEBUG util.py:445: copying api-ref/source/samples/node-set-power-off.json -> ironic-18.3.1.dev11/api-ref/source/samples DEBUG util.py:445: copying api-ref/source/samples/node-set-raid-request.json -> ironic-18.3.1.dev11/api-ref/source/samples DEBUG util.py:445: copying api-ref/source/samples/node-set-secure-boot-off.json -> ironic-18.3.1.dev11/api-ref/source/samples DEBUG util.py:445: copying api-ref/source/samples/node-set-secure-boot-on.json -> ironic-18.3.1.dev11/api-ref/source/samples DEBUG util.py:445: copying api-ref/source/samples/node-set-soft-power-off.json -> ironic-18.3.1.dev11/api-ref/source/samples DEBUG util.py:445: copying api-ref/source/samples/node-set-traits-request.json -> ironic-18.3.1.dev11/api-ref/source/samples DEBUG util.py:445: copying api-ref/source/samples/node-show-response.json -> ironic-18.3.1.dev11/api-ref/source/samples DEBUG util.py:445: copying api-ref/source/samples/node-traits-list-response.json -> ironic-18.3.1.dev11/api-ref/source/samples DEBUG util.py:445: copying api-ref/source/samples/node-update-driver-info-request.json -> ironic-18.3.1.dev11/api-ref/source/samples DEBUG util.py:445: copying api-ref/source/samples/node-update-driver-info-response.json -> ironic-18.3.1.dev11/api-ref/source/samples DEBUG util.py:445: copying api-ref/source/samples/node-update-driver.json -> ironic-18.3.1.dev11/api-ref/source/samples DEBUG util.py:445: copying api-ref/source/samples/node-validate-response.json -> ironic-18.3.1.dev11/api-ref/source/samples DEBUG util.py:445: copying api-ref/source/samples/node-vendor-passthru-response.json -> ironic-18.3.1.dev11/api-ref/source/samples DEBUG util.py:445: copying api-ref/source/samples/node-vif-attach-request.json -> ironic-18.3.1.dev11/api-ref/source/samples DEBUG util.py:445: copying api-ref/source/samples/node-vif-list-response.json -> ironic-18.3.1.dev11/api-ref/source/samples DEBUG util.py:445: copying api-ref/source/samples/node-volume-connector-detail-response.json -> ironic-18.3.1.dev11/api-ref/source/samples DEBUG util.py:445: copying api-ref/source/samples/node-volume-connector-list-response.json -> ironic-18.3.1.dev11/api-ref/source/samples DEBUG util.py:445: copying api-ref/source/samples/node-volume-list-response.json -> ironic-18.3.1.dev11/api-ref/source/samples DEBUG util.py:445: copying api-ref/source/samples/node-volume-target-detail-response.json -> ironic-18.3.1.dev11/api-ref/source/samples DEBUG util.py:445: copying api-ref/source/samples/node-volume-target-list-response.json -> ironic-18.3.1.dev11/api-ref/source/samples DEBUG util.py:445: copying api-ref/source/samples/nodes-list-details-response.json -> ironic-18.3.1.dev11/api-ref/source/samples DEBUG util.py:445: copying api-ref/source/samples/nodes-list-response.json -> ironic-18.3.1.dev11/api-ref/source/samples DEBUG util.py:445: copying api-ref/source/samples/port-create-request.json -> ironic-18.3.1.dev11/api-ref/source/samples DEBUG util.py:445: copying api-ref/source/samples/port-create-response.json -> ironic-18.3.1.dev11/api-ref/source/samples DEBUG util.py:445: copying api-ref/source/samples/port-list-detail-response.json -> ironic-18.3.1.dev11/api-ref/source/samples DEBUG util.py:445: copying api-ref/source/samples/port-list-response.json -> ironic-18.3.1.dev11/api-ref/source/samples DEBUG util.py:445: copying api-ref/source/samples/port-update-request.json -> ironic-18.3.1.dev11/api-ref/source/samples DEBUG util.py:445: copying api-ref/source/samples/port-update-response.json -> ironic-18.3.1.dev11/api-ref/source/samples DEBUG util.py:445: copying api-ref/source/samples/portgroup-create-request.json -> ironic-18.3.1.dev11/api-ref/source/samples DEBUG util.py:445: copying api-ref/source/samples/portgroup-create-response.json -> ironic-18.3.1.dev11/api-ref/source/samples DEBUG util.py:445: copying api-ref/source/samples/portgroup-list-detail-response.json -> ironic-18.3.1.dev11/api-ref/source/samples DEBUG util.py:445: copying api-ref/source/samples/portgroup-list-response.json -> ironic-18.3.1.dev11/api-ref/source/samples DEBUG util.py:445: copying api-ref/source/samples/portgroup-port-detail-response.json -> ironic-18.3.1.dev11/api-ref/source/samples DEBUG util.py:445: copying api-ref/source/samples/portgroup-port-list-response.json -> ironic-18.3.1.dev11/api-ref/source/samples DEBUG util.py:445: copying api-ref/source/samples/portgroup-update-request.json -> ironic-18.3.1.dev11/api-ref/source/samples DEBUG util.py:445: copying api-ref/source/samples/portgroup-update-response.json -> ironic-18.3.1.dev11/api-ref/source/samples DEBUG util.py:445: copying api-ref/source/samples/volume-connector-create-request.json -> ironic-18.3.1.dev11/api-ref/source/samples DEBUG util.py:445: copying api-ref/source/samples/volume-connector-create-response.json -> ironic-18.3.1.dev11/api-ref/source/samples DEBUG util.py:445: copying api-ref/source/samples/volume-connector-list-detail-response.json -> ironic-18.3.1.dev11/api-ref/source/samples DEBUG util.py:445: copying api-ref/source/samples/volume-connector-list-response.json -> ironic-18.3.1.dev11/api-ref/source/samples DEBUG util.py:445: copying api-ref/source/samples/volume-connector-update-request.json -> ironic-18.3.1.dev11/api-ref/source/samples DEBUG util.py:445: copying api-ref/source/samples/volume-connector-update-response.json -> ironic-18.3.1.dev11/api-ref/source/samples DEBUG util.py:445: copying api-ref/source/samples/volume-list-response.json -> ironic-18.3.1.dev11/api-ref/source/samples DEBUG util.py:445: copying api-ref/source/samples/volume-target-create-request.json -> ironic-18.3.1.dev11/api-ref/source/samples DEBUG util.py:445: copying api-ref/source/samples/volume-target-create-response.json -> ironic-18.3.1.dev11/api-ref/source/samples DEBUG util.py:445: copying api-ref/source/samples/volume-target-list-detail-response.json -> ironic-18.3.1.dev11/api-ref/source/samples DEBUG util.py:445: copying api-ref/source/samples/volume-target-list-response.json -> ironic-18.3.1.dev11/api-ref/source/samples DEBUG util.py:445: copying api-ref/source/samples/volume-target-update-request.json -> ironic-18.3.1.dev11/api-ref/source/samples DEBUG util.py:445: copying api-ref/source/samples/volume-target-update-response.json -> ironic-18.3.1.dev11/api-ref/source/samples DEBUG util.py:445: copying devstack/common_settings -> ironic-18.3.1.dev11/devstack DEBUG util.py:445: copying devstack/plugin.sh -> ironic-18.3.1.dev11/devstack DEBUG util.py:445: copying devstack/settings -> ironic-18.3.1.dev11/devstack DEBUG util.py:445: copying devstack/files/apache-ipxe-ironic.template -> ironic-18.3.1.dev11/devstack/files DEBUG util.py:445: copying devstack/files/apache-ironic-api-redirect.template -> ironic-18.3.1.dev11/devstack/files DEBUG util.py:445: copying devstack/files/debs/ironic -> ironic-18.3.1.dev11/devstack/files/debs DEBUG util.py:445: copying devstack/files/hooks/qemu.py -> ironic-18.3.1.dev11/devstack/files/hooks DEBUG util.py:445: copying devstack/files/rpms/ironic -> ironic-18.3.1.dev11/devstack/files/rpms DEBUG util.py:445: copying devstack/lib/ironic -> ironic-18.3.1.dev11/devstack/lib DEBUG util.py:445: copying devstack/tools/ironic/scripts/cirros-partition.sh -> ironic-18.3.1.dev11/devstack/tools/ironic/scripts DEBUG util.py:445: copying devstack/tools/ironic/scripts/cleanup-node.sh -> ironic-18.3.1.dev11/devstack/tools/ironic/scripts DEBUG util.py:445: copying devstack/tools/ironic/scripts/configure-vm.py -> ironic-18.3.1.dev11/devstack/tools/ironic/scripts DEBUG util.py:445: copying devstack/tools/ironic/scripts/create-node.sh -> ironic-18.3.1.dev11/devstack/tools/ironic/scripts DEBUG util.py:445: copying devstack/tools/ironic/scripts/setup-network.sh -> ironic-18.3.1.dev11/devstack/tools/ironic/scripts DEBUG util.py:445: copying devstack/tools/ironic/templates/brbm.xml -> ironic-18.3.1.dev11/devstack/tools/ironic/templates DEBUG util.py:445: copying devstack/tools/ironic/templates/tftpd-xinetd.template -> ironic-18.3.1.dev11/devstack/tools/ironic/templates DEBUG util.py:445: copying devstack/tools/ironic/templates/vm.xml -> ironic-18.3.1.dev11/devstack/tools/ironic/templates DEBUG util.py:445: copying devstack/upgrade/resources.sh -> ironic-18.3.1.dev11/devstack/upgrade DEBUG util.py:445: copying devstack/upgrade/settings -> ironic-18.3.1.dev11/devstack/upgrade DEBUG util.py:445: copying devstack/upgrade/shutdown.sh -> ironic-18.3.1.dev11/devstack/upgrade DEBUG util.py:445: copying devstack/upgrade/upgrade.sh -> ironic-18.3.1.dev11/devstack/upgrade DEBUG util.py:445: copying devstack/upgrade/from-queens/upgrade-ironic -> ironic-18.3.1.dev11/devstack/upgrade/from-queens DEBUG util.py:445: copying doc/requirements.txt -> ironic-18.3.1.dev11/doc DEBUG util.py:445: copying doc/source/conf.py -> ironic-18.3.1.dev11/doc/source DEBUG util.py:445: copying doc/source/index.rst -> ironic-18.3.1.dev11/doc/source DEBUG util.py:445: copying doc/source/_exts/automated_steps.py -> ironic-18.3.1.dev11/doc/source/_exts DEBUG util.py:445: copying doc/source/admin/adoption.rst -> ironic-18.3.1.dev11/doc/source/admin DEBUG util.py:445: copying doc/source/admin/agent-power.rst -> ironic-18.3.1.dev11/doc/source/admin DEBUG util.py:445: copying doc/source/admin/agent-token.rst -> ironic-18.3.1.dev11/doc/source/admin DEBUG util.py:445: copying doc/source/admin/anaconda-deploy-interface.rst -> ironic-18.3.1.dev11/doc/source/admin DEBUG util.py:445: copying doc/source/admin/api-audit-support.rst -> ironic-18.3.1.dev11/doc/source/admin DEBUG util.py:445: copying doc/source/admin/bios.rst -> ironic-18.3.1.dev11/doc/source/admin DEBUG util.py:445: copying doc/source/admin/boot-from-volume.rst -> ironic-18.3.1.dev11/doc/source/admin DEBUG util.py:445: copying doc/source/admin/building-windows-images.rst -> ironic-18.3.1.dev11/doc/source/admin DEBUG util.py:445: copying doc/source/admin/cleaning.rst -> ironic-18.3.1.dev11/doc/source/admin DEBUG util.py:445: copying doc/source/admin/conductor-groups.rst -> ironic-18.3.1.dev11/doc/source/admin DEBUG util.py:445: copying doc/source/admin/console.rst -> ironic-18.3.1.dev11/doc/source/admin DEBUG util.py:445: copying doc/source/admin/deploy-steps.rst -> ironic-18.3.1.dev11/doc/source/admin DEBUG util.py:445: copying doc/source/admin/dhcp-less.rst -> ironic-18.3.1.dev11/doc/source/admin DEBUG util.py:445: copying doc/source/admin/drivers.rst -> ironic-18.3.1.dev11/doc/source/admin DEBUG util.py:445: copying doc/source/admin/fast-track.rst -> ironic-18.3.1.dev11/doc/source/admin DEBUG util.py:445: copying doc/source/admin/gmr.rst -> ironic-18.3.1.dev11/doc/source/admin DEBUG util.py:445: copying doc/source/admin/hardware-burn-in.rst -> ironic-18.3.1.dev11/doc/source/admin DEBUG util.py:445: copying doc/source/admin/index.rst -> ironic-18.3.1.dev11/doc/source/admin DEBUG util.py:445: copying doc/source/admin/inspection.rst -> ironic-18.3.1.dev11/doc/source/admin DEBUG util.py:445: copying doc/source/admin/metrics.rst -> ironic-18.3.1.dev11/doc/source/admin DEBUG util.py:445: copying doc/source/admin/multitenancy.rst -> ironic-18.3.1.dev11/doc/source/admin DEBUG util.py:445: copying doc/source/admin/node-deployment.rst -> ironic-18.3.1.dev11/doc/source/admin DEBUG util.py:445: copying doc/source/admin/node-multitenancy.rst -> ironic-18.3.1.dev11/doc/source/admin DEBUG util.py:445: copying doc/source/admin/notifications.rst -> ironic-18.3.1.dev11/doc/source/admin DEBUG util.py:445: copying doc/source/admin/portgroups.rst -> ironic-18.3.1.dev11/doc/source/admin DEBUG util.py:445: copying doc/source/admin/power-sync.rst -> ironic-18.3.1.dev11/doc/source/admin DEBUG util.py:445: copying doc/source/admin/radosgw.rst -> ironic-18.3.1.dev11/doc/source/admin DEBUG util.py:445: copying doc/source/admin/raid.rst -> ironic-18.3.1.dev11/doc/source/admin DEBUG util.py:445: copying doc/source/admin/ramdisk-boot.rst -> ironic-18.3.1.dev11/doc/source/admin DEBUG util.py:445: copying doc/source/admin/report.txt -> ironic-18.3.1.dev11/doc/source/admin DEBUG util.py:445: copying doc/source/admin/rescue.rst -> ironic-18.3.1.dev11/doc/source/admin DEBUG util.py:445: copying doc/source/admin/retirement.rst -> ironic-18.3.1.dev11/doc/source/admin DEBUG util.py:445: copying doc/source/admin/secure-rbac.rst -> ironic-18.3.1.dev11/doc/source/admin DEBUG util.py:445: copying doc/source/admin/security.rst -> ironic-18.3.1.dev11/doc/source/admin DEBUG util.py:445: copying doc/source/admin/troubleshooting.rst -> ironic-18.3.1.dev11/doc/source/admin DEBUG util.py:445: copying doc/source/admin/tuning.rst -> ironic-18.3.1.dev11/doc/source/admin DEBUG util.py:445: copying doc/source/admin/upgrade-guide.rst -> ironic-18.3.1.dev11/doc/source/admin DEBUG util.py:445: copying doc/source/admin/upgrade-to-hardware-types.rst -> ironic-18.3.1.dev11/doc/source/admin DEBUG util.py:445: copying doc/source/admin/vendor-passthru.rst -> ironic-18.3.1.dev11/doc/source/admin DEBUG util.py:445: copying doc/source/admin/drivers/ansible.rst -> ironic-18.3.1.dev11/doc/source/admin/drivers DEBUG util.py:445: copying doc/source/admin/drivers/ibmc.rst -> ironic-18.3.1.dev11/doc/source/admin/drivers DEBUG util.py:445: copying doc/source/admin/drivers/idrac.rst -> ironic-18.3.1.dev11/doc/source/admin/drivers DEBUG util.py:445: copying doc/source/admin/drivers/ilo.rst -> ironic-18.3.1.dev11/doc/source/admin/drivers DEBUG util.py:445: copying doc/source/admin/drivers/intel-ipmi.rst -> ironic-18.3.1.dev11/doc/source/admin/drivers DEBUG util.py:445: copying doc/source/admin/drivers/ipa.rst -> ironic-18.3.1.dev11/doc/source/admin/drivers DEBUG util.py:445: copying doc/source/admin/drivers/ipmitool.rst -> ironic-18.3.1.dev11/doc/source/admin/drivers DEBUG util.py:445: copying doc/source/admin/drivers/irmc.rst -> ironic-18.3.1.dev11/doc/source/admin/drivers DEBUG util.py:445: copying doc/source/admin/drivers/redfish.rst -> ironic-18.3.1.dev11/doc/source/admin/drivers DEBUG util.py:445: copying doc/source/admin/drivers/snmp.rst -> ironic-18.3.1.dev11/doc/source/admin/drivers DEBUG util.py:445: copying doc/source/admin/drivers/xclarity.rst -> ironic-18.3.1.dev11/doc/source/admin/drivers DEBUG util.py:445: copying doc/source/admin/interfaces/boot.rst -> ironic-18.3.1.dev11/doc/source/admin/interfaces DEBUG util.py:445: copying doc/source/admin/interfaces/deploy.rst -> ironic-18.3.1.dev11/doc/source/admin/interfaces DEBUG util.py:445: copying doc/source/cli/index.rst -> ironic-18.3.1.dev11/doc/source/cli DEBUG util.py:445: copying doc/source/cli/ironic-dbsync.rst -> ironic-18.3.1.dev11/doc/source/cli DEBUG util.py:445: copying doc/source/cli/ironic-status.rst -> ironic-18.3.1.dev11/doc/source/cli DEBUG util.py:445: copying doc/source/configuration/config.rst -> ironic-18.3.1.dev11/doc/source/configuration DEBUG util.py:445: copying doc/source/configuration/index.rst -> ironic-18.3.1.dev11/doc/source/configuration DEBUG util.py:445: copying doc/source/configuration/policy.rst -> ironic-18.3.1.dev11/doc/source/configuration DEBUG util.py:445: copying doc/source/configuration/sample-config.rst -> ironic-18.3.1.dev11/doc/source/configuration DEBUG util.py:445: copying doc/source/configuration/sample-policy.rst -> ironic-18.3.1.dev11/doc/source/configuration DEBUG util.py:445: copying doc/source/contributor/adding-new-job.rst -> ironic-18.3.1.dev11/doc/source/contributor DEBUG util.py:445: copying doc/source/contributor/architecture.rst -> ironic-18.3.1.dev11/doc/source/contributor DEBUG util.py:445: copying doc/source/contributor/bios_develop.rst -> ironic-18.3.1.dev11/doc/source/contributor DEBUG util.py:445: copying doc/source/contributor/bugs.rst -> ironic-18.3.1.dev11/doc/source/contributor DEBUG util.py:445: copying doc/source/contributor/community.rst -> ironic-18.3.1.dev11/doc/source/contributor DEBUG util.py:445: copying doc/source/contributor/contributing.rst -> ironic-18.3.1.dev11/doc/source/contributor DEBUG util.py:445: copying doc/source/contributor/debug-ci-failures.rst -> ironic-18.3.1.dev11/doc/source/contributor DEBUG util.py:445: copying doc/source/contributor/deploy-steps.rst -> ironic-18.3.1.dev11/doc/source/contributor DEBUG util.py:445: copying doc/source/contributor/dev-quickstart.rst -> ironic-18.3.1.dev11/doc/source/contributor DEBUG util.py:445: copying doc/source/contributor/drivers.rst -> ironic-18.3.1.dev11/doc/source/contributor DEBUG util.py:445: copying doc/source/contributor/faq.rst -> ironic-18.3.1.dev11/doc/source/contributor DEBUG util.py:445: copying doc/source/contributor/governance.rst -> ironic-18.3.1.dev11/doc/source/contributor DEBUG util.py:445: copying doc/source/contributor/index.rst -> ironic-18.3.1.dev11/doc/source/contributor DEBUG util.py:445: copying doc/source/contributor/ironic-boot-from-volume.rst -> ironic-18.3.1.dev11/doc/source/contributor DEBUG util.py:445: copying doc/source/contributor/ironic-multitenant-networking.rst -> ironic-18.3.1.dev11/doc/source/contributor DEBUG util.py:445: copying doc/source/contributor/jobs-description.rst -> ironic-18.3.1.dev11/doc/source/contributor DEBUG util.py:445: copying doc/source/contributor/notifications.rst -> ironic-18.3.1.dev11/doc/source/contributor DEBUG util.py:445: copying doc/source/contributor/osprofiler-support.rst -> ironic-18.3.1.dev11/doc/source/contributor DEBUG util.py:445: copying doc/source/contributor/rbac-testing.rst -> ironic-18.3.1.dev11/doc/source/contributor DEBUG util.py:445: copying doc/source/contributor/releasing.rst -> ironic-18.3.1.dev11/doc/source/contributor DEBUG util.py:445: copying doc/source/contributor/rolling-upgrades.rst -> ironic-18.3.1.dev11/doc/source/contributor DEBUG util.py:445: copying doc/source/contributor/states.rst -> ironic-18.3.1.dev11/doc/source/contributor DEBUG util.py:445: copying doc/source/contributor/third-party-ci.rst -> ironic-18.3.1.dev11/doc/source/contributor DEBUG util.py:445: copying doc/source/contributor/vendor-passthru.rst -> ironic-18.3.1.dev11/doc/source/contributor DEBUG util.py:445: copying doc/source/contributor/vision-reflection.rst -> ironic-18.3.1.dev11/doc/source/contributor DEBUG util.py:445: copying doc/source/contributor/vision.rst -> ironic-18.3.1.dev11/doc/source/contributor DEBUG util.py:445: copying doc/source/contributor/webapi-version-history.rst -> ironic-18.3.1.dev11/doc/source/contributor DEBUG util.py:445: copying doc/source/contributor/webapi.rst -> ironic-18.3.1.dev11/doc/source/contributor DEBUG util.py:445: copying doc/source/images/conceptual_architecture.png -> ironic-18.3.1.dev11/doc/source/images DEBUG util.py:445: copying doc/source/images/deployment_architecture_2.png -> ironic-18.3.1.dev11/doc/source/images DEBUG util.py:445: copying doc/source/images/logical_architecture.png -> ironic-18.3.1.dev11/doc/source/images DEBUG util.py:445: copying doc/source/images/states.svg -> ironic-18.3.1.dev11/doc/source/images DEBUG util.py:445: copying doc/source/install/advanced.rst -> ironic-18.3.1.dev11/doc/source/install DEBUG util.py:445: copying doc/source/install/configdrive.rst -> ironic-18.3.1.dev11/doc/source/install DEBUG util.py:445: copying doc/source/install/configure-cleaning.rst -> ironic-18.3.1.dev11/doc/source/install DEBUG util.py:445: copying doc/source/install/configure-compute.rst -> ironic-18.3.1.dev11/doc/source/install DEBUG util.py:445: copying doc/source/install/configure-glance-images.rst -> ironic-18.3.1.dev11/doc/source/install DEBUG util.py:445: copying doc/source/install/configure-glance-swift.rst -> ironic-18.3.1.dev11/doc/source/install DEBUG util.py:445: copying doc/source/install/configure-identity.rst -> ironic-18.3.1.dev11/doc/source/install DEBUG util.py:445: copying doc/source/install/configure-integration.rst -> ironic-18.3.1.dev11/doc/source/install DEBUG util.py:445: copying doc/source/install/configure-ipmi.rst -> ironic-18.3.1.dev11/doc/source/install DEBUG util.py:445: copying doc/source/install/configure-ipv6-networking.rst -> ironic-18.3.1.dev11/doc/source/install DEBUG util.py:445: copying doc/source/install/configure-networking.rst -> ironic-18.3.1.dev11/doc/source/install DEBUG util.py:445: copying doc/source/install/configure-nova-flavors.rst -> ironic-18.3.1.dev11/doc/source/install DEBUG util.py:445: copying doc/source/install/configure-pxe.rst -> ironic-18.3.1.dev11/doc/source/install DEBUG util.py:445: copying doc/source/install/configure-tenant-networks.rst -> ironic-18.3.1.dev11/doc/source/install DEBUG util.py:445: copying doc/source/install/creating-images.rst -> ironic-18.3.1.dev11/doc/source/install DEBUG util.py:445: copying doc/source/install/deploy-ramdisk.rst -> ironic-18.3.1.dev11/doc/source/install DEBUG util.py:445: copying doc/source/install/enabling-drivers.rst -> ironic-18.3.1.dev11/doc/source/install DEBUG util.py:445: copying doc/source/install/enabling-https.rst -> ironic-18.3.1.dev11/doc/source/install DEBUG util.py:445: copying doc/source/install/enrollment.rst -> ironic-18.3.1.dev11/doc/source/install DEBUG util.py:445: copying doc/source/install/get_started.rst -> ironic-18.3.1.dev11/doc/source/install DEBUG util.py:445: copying doc/source/install/index.rst -> ironic-18.3.1.dev11/doc/source/install DEBUG util.py:445: copying doc/source/install/install-obs.rst -> ironic-18.3.1.dev11/doc/source/install DEBUG util.py:445: copying doc/source/install/install-rdo.rst -> ironic-18.3.1.dev11/doc/source/install DEBUG util.py:445: copying doc/source/install/install-ubuntu.rst -> ironic-18.3.1.dev11/doc/source/install DEBUG util.py:445: copying doc/source/install/install.rst -> ironic-18.3.1.dev11/doc/source/install DEBUG util.py:445: copying doc/source/install/next-steps.rst -> ironic-18.3.1.dev11/doc/source/install DEBUG util.py:445: copying doc/source/install/setup-drivers.rst -> ironic-18.3.1.dev11/doc/source/install DEBUG util.py:445: copying doc/source/install/standalone.rst -> ironic-18.3.1.dev11/doc/source/install DEBUG util.py:445: copying doc/source/install/troubleshooting.rst -> ironic-18.3.1.dev11/doc/source/install DEBUG util.py:445: copying doc/source/install/include/boot-mode.inc -> ironic-18.3.1.dev11/doc/source/install/include DEBUG util.py:445: copying doc/source/install/include/common-configure.inc -> ironic-18.3.1.dev11/doc/source/install/include DEBUG util.py:445: copying doc/source/install/include/common-prerequisites.inc -> ironic-18.3.1.dev11/doc/source/install/include DEBUG util.py:445: copying doc/source/install/include/configure-ironic-api-mod_wsgi.inc -> ironic-18.3.1.dev11/doc/source/install/include DEBUG util.py:445: copying doc/source/install/include/configure-ironic-api.inc -> ironic-18.3.1.dev11/doc/source/install/include DEBUG util.py:445: copying doc/source/install/include/configure-ironic-conductor.inc -> ironic-18.3.1.dev11/doc/source/install/include DEBUG util.py:445: copying doc/source/install/include/console.inc -> ironic-18.3.1.dev11/doc/source/install/include DEBUG util.py:445: copying doc/source/install/include/disk-label.inc -> ironic-18.3.1.dev11/doc/source/install/include DEBUG util.py:445: copying doc/source/install/include/kernel-boot-parameters.inc -> ironic-18.3.1.dev11/doc/source/install/include DEBUG util.py:445: copying doc/source/install/include/local-boot-partition-images.inc -> ironic-18.3.1.dev11/doc/source/install/include DEBUG util.py:445: copying doc/source/install/include/notifications.inc -> ironic-18.3.1.dev11/doc/source/install/include DEBUG util.py:445: copying doc/source/install/include/root-device-hints.inc -> ironic-18.3.1.dev11/doc/source/install/include DEBUG util.py:445: copying doc/source/install/refarch/common.rst -> ironic-18.3.1.dev11/doc/source/install/refarch DEBUG util.py:445: copying doc/source/install/refarch/index.rst -> ironic-18.3.1.dev11/doc/source/install/refarch DEBUG util.py:445: copying doc/source/install/refarch/small-cloud-trusted-tenants.rst -> ironic-18.3.1.dev11/doc/source/install/refarch DEBUG util.py:445: copying doc/source/install/standalone/configure.rst -> ironic-18.3.1.dev11/doc/source/install/standalone DEBUG util.py:445: copying doc/source/install/standalone/deploy.rst -> ironic-18.3.1.dev11/doc/source/install/standalone DEBUG util.py:445: copying doc/source/install/standalone/enrollment.rst -> ironic-18.3.1.dev11/doc/source/install/standalone DEBUG util.py:445: copying doc/source/user/architecture.rst -> ironic-18.3.1.dev11/doc/source/user DEBUG util.py:445: copying doc/source/user/creating-images.rst -> ironic-18.3.1.dev11/doc/source/user DEBUG util.py:445: copying doc/source/user/deploy.rst -> ironic-18.3.1.dev11/doc/source/user DEBUG util.py:445: copying doc/source/user/index.rst -> ironic-18.3.1.dev11/doc/source/user DEBUG util.py:445: copying doc/source/user/states.rst -> ironic-18.3.1.dev11/doc/source/user DEBUG util.py:445: copying etc/apache2/ironic -> ironic-18.3.1.dev11/etc/apache2 DEBUG util.py:445: copying etc/ironic/README-ironic.conf.txt -> ironic-18.3.1.dev11/etc/ironic DEBUG util.py:445: copying etc/ironic/README-policy.yaml.txt -> ironic-18.3.1.dev11/etc/ironic DEBUG util.py:445: copying etc/ironic/api_audit_map.conf.sample -> ironic-18.3.1.dev11/etc/ironic DEBUG util.py:445: copying etc/ironic/rootwrap.conf -> ironic-18.3.1.dev11/etc/ironic DEBUG util.py:445: copying etc/ironic/rootwrap.d/ironic-utils.filters -> ironic-18.3.1.dev11/etc/ironic/rootwrap.d DEBUG util.py:445: copying ironic/__init__.py -> ironic-18.3.1.dev11/ironic DEBUG util.py:445: copying ironic/ironic.sqlite-shm -> ironic-18.3.1.dev11/ironic DEBUG util.py:445: copying ironic/ironic.sqlite-wal -> ironic-18.3.1.dev11/ironic DEBUG util.py:445: copying ironic/version.py -> ironic-18.3.1.dev11/ironic DEBUG util.py:445: copying ironic.egg-info/PKG-INFO -> ironic-18.3.1.dev11/ironic.egg-info DEBUG util.py:445: copying ironic.egg-info/SOURCES.txt -> ironic-18.3.1.dev11/ironic.egg-info DEBUG util.py:445: copying ironic.egg-info/dependency_links.txt -> ironic-18.3.1.dev11/ironic.egg-info DEBUG util.py:445: copying ironic.egg-info/entry_points.txt -> ironic-18.3.1.dev11/ironic.egg-info DEBUG util.py:445: copying ironic.egg-info/not-zip-safe -> ironic-18.3.1.dev11/ironic.egg-info DEBUG util.py:445: copying ironic.egg-info/pbr.json -> ironic-18.3.1.dev11/ironic.egg-info DEBUG util.py:445: copying ironic.egg-info/requires.txt -> ironic-18.3.1.dev11/ironic.egg-info DEBUG util.py:445: copying ironic.egg-info/top_level.txt -> ironic-18.3.1.dev11/ironic.egg-info DEBUG util.py:445: copying ironic/api/__init__.py -> ironic-18.3.1.dev11/ironic/api DEBUG util.py:445: copying ironic/api/app.py -> ironic-18.3.1.dev11/ironic/api DEBUG util.py:445: copying ironic/api/config.py -> ironic-18.3.1.dev11/ironic/api DEBUG util.py:445: copying ironic/api/functions.py -> ironic-18.3.1.dev11/ironic/api DEBUG util.py:445: copying ironic/api/hooks.py -> ironic-18.3.1.dev11/ironic/api DEBUG util.py:445: copying ironic/api/method.py -> ironic-18.3.1.dev11/ironic/api DEBUG util.py:445: copying ironic/api/wsgi.py -> ironic-18.3.1.dev11/ironic/api DEBUG util.py:445: copying ironic/api/controllers/__init__.py -> ironic-18.3.1.dev11/ironic/api/controllers DEBUG util.py:445: copying ironic/api/controllers/base.py -> ironic-18.3.1.dev11/ironic/api/controllers DEBUG util.py:445: copying ironic/api/controllers/link.py -> ironic-18.3.1.dev11/ironic/api/controllers DEBUG util.py:445: copying ironic/api/controllers/root.py -> ironic-18.3.1.dev11/ironic/api/controllers DEBUG util.py:445: copying ironic/api/controllers/version.py -> ironic-18.3.1.dev11/ironic/api/controllers DEBUG util.py:445: copying ironic/api/controllers/v1/__init__.py -> ironic-18.3.1.dev11/ironic/api/controllers/v1 DEBUG util.py:445: copying ironic/api/controllers/v1/allocation.py -> ironic-18.3.1.dev11/ironic/api/controllers/v1 DEBUG util.py:445: copying ironic/api/controllers/v1/bios.py -> ironic-18.3.1.dev11/ironic/api/controllers/v1 DEBUG util.py:445: copying ironic/api/controllers/v1/chassis.py -> ironic-18.3.1.dev11/ironic/api/controllers/v1 DEBUG util.py:445: copying ironic/api/controllers/v1/collection.py -> ironic-18.3.1.dev11/ironic/api/controllers/v1 DEBUG util.py:445: copying ironic/api/controllers/v1/conductor.py -> ironic-18.3.1.dev11/ironic/api/controllers/v1 DEBUG util.py:445: copying ironic/api/controllers/v1/deploy_template.py -> ironic-18.3.1.dev11/ironic/api/controllers/v1 DEBUG util.py:445: copying ironic/api/controllers/v1/driver.py -> ironic-18.3.1.dev11/ironic/api/controllers/v1 DEBUG util.py:445: copying ironic/api/controllers/v1/event.py -> ironic-18.3.1.dev11/ironic/api/controllers/v1 DEBUG util.py:445: copying ironic/api/controllers/v1/network-data-schema.json -> ironic-18.3.1.dev11/ironic/api/controllers/v1 DEBUG util.py:445: copying ironic/api/controllers/v1/node.py -> ironic-18.3.1.dev11/ironic/api/controllers/v1 DEBUG util.py:445: copying ironic/api/controllers/v1/notification_utils.py -> ironic-18.3.1.dev11/ironic/api/controllers/v1 DEBUG util.py:445: copying ironic/api/controllers/v1/port.py -> ironic-18.3.1.dev11/ironic/api/controllers/v1 DEBUG util.py:445: copying ironic/api/controllers/v1/portgroup.py -> ironic-18.3.1.dev11/ironic/api/controllers/v1 DEBUG util.py:445: copying ironic/api/controllers/v1/ramdisk.py -> ironic-18.3.1.dev11/ironic/api/controllers/v1 DEBUG util.py:445: copying ironic/api/controllers/v1/utils.py -> ironic-18.3.1.dev11/ironic/api/controllers/v1 DEBUG util.py:445: copying ironic/api/controllers/v1/versions.py -> ironic-18.3.1.dev11/ironic/api/controllers/v1 DEBUG util.py:445: copying ironic/api/controllers/v1/volume.py -> ironic-18.3.1.dev11/ironic/api/controllers/v1 DEBUG util.py:445: copying ironic/api/controllers/v1/volume_connector.py -> ironic-18.3.1.dev11/ironic/api/controllers/v1 DEBUG util.py:445: copying ironic/api/controllers/v1/volume_target.py -> ironic-18.3.1.dev11/ironic/api/controllers/v1 DEBUG util.py:445: copying ironic/api/middleware/__init__.py -> ironic-18.3.1.dev11/ironic/api/middleware DEBUG util.py:445: copying ironic/api/middleware/auth_public_routes.py -> ironic-18.3.1.dev11/ironic/api/middleware DEBUG util.py:445: copying ironic/api/middleware/json_ext.py -> ironic-18.3.1.dev11/ironic/api/middleware DEBUG util.py:445: copying ironic/api/middleware/parsable_error.py -> ironic-18.3.1.dev11/ironic/api/middleware DEBUG util.py:445: copying ironic/cmd/__init__.py -> ironic-18.3.1.dev11/ironic/cmd DEBUG util.py:445: copying ironic/cmd/api.py -> ironic-18.3.1.dev11/ironic/cmd DEBUG util.py:445: copying ironic/cmd/conductor.py -> ironic-18.3.1.dev11/ironic/cmd DEBUG util.py:445: copying ironic/cmd/dbsync.py -> ironic-18.3.1.dev11/ironic/cmd DEBUG util.py:445: copying ironic/cmd/status.py -> ironic-18.3.1.dev11/ironic/cmd DEBUG util.py:445: copying ironic/common/__init__.py -> ironic-18.3.1.dev11/ironic/common DEBUG util.py:445: copying ironic/common/args.py -> ironic-18.3.1.dev11/ironic/common DEBUG util.py:445: copying ironic/common/boot_devices.py -> ironic-18.3.1.dev11/ironic/common DEBUG util.py:445: copying ironic/common/boot_modes.py -> ironic-18.3.1.dev11/ironic/common DEBUG util.py:445: copying ironic/common/cinder.py -> ironic-18.3.1.dev11/ironic/common DEBUG util.py:445: copying ironic/common/components.py -> ironic-18.3.1.dev11/ironic/common DEBUG util.py:445: copying ironic/common/config.py -> ironic-18.3.1.dev11/ironic/common DEBUG util.py:445: copying ironic/common/context.py -> ironic-18.3.1.dev11/ironic/common DEBUG util.py:445: copying ironic/common/dhcp_factory.py -> ironic-18.3.1.dev11/ironic/common DEBUG util.py:445: copying ironic/common/driver_factory.py -> ironic-18.3.1.dev11/ironic/common DEBUG util.py:445: copying ironic/common/exception.py -> ironic-18.3.1.dev11/ironic/common DEBUG util.py:445: copying ironic/common/faults.py -> ironic-18.3.1.dev11/ironic/common DEBUG util.py:445: copying ironic/common/fsm.py -> ironic-18.3.1.dev11/ironic/common DEBUG util.py:445: copying ironic/common/grub_conf.template -> ironic-18.3.1.dev11/ironic/common DEBUG util.py:445: copying ironic/common/hash_ring.py -> ironic-18.3.1.dev11/ironic/common DEBUG util.py:445: copying ironic/common/i18n.py -> ironic-18.3.1.dev11/ironic/common DEBUG util.py:445: copying ironic/common/image_service.py -> ironic-18.3.1.dev11/ironic/common DEBUG util.py:445: copying ironic/common/images.py -> ironic-18.3.1.dev11/ironic/common DEBUG util.py:445: copying ironic/common/indicator_states.py -> ironic-18.3.1.dev11/ironic/common DEBUG util.py:445: copying ironic/common/isolinux_config.template -> ironic-18.3.1.dev11/ironic/common DEBUG util.py:445: copying ironic/common/keystone.py -> ironic-18.3.1.dev11/ironic/common DEBUG util.py:445: copying ironic/common/kickstart_utils.py -> ironic-18.3.1.dev11/ironic/common DEBUG util.py:445: copying ironic/common/molds.py -> ironic-18.3.1.dev11/ironic/common DEBUG util.py:445: copying ironic/common/network.py -> ironic-18.3.1.dev11/ironic/common DEBUG util.py:445: copying ironic/common/neutron.py -> ironic-18.3.1.dev11/ironic/common DEBUG util.py:445: copying ironic/common/nova.py -> ironic-18.3.1.dev11/ironic/common DEBUG util.py:445: copying ironic/common/policy.py -> ironic-18.3.1.dev11/ironic/common DEBUG util.py:445: copying ironic/common/profiler.py -> ironic-18.3.1.dev11/ironic/common DEBUG util.py:445: copying ironic/common/pxe_utils.py -> ironic-18.3.1.dev11/ironic/common DEBUG util.py:445: copying ironic/common/raid.py -> ironic-18.3.1.dev11/ironic/common DEBUG util.py:445: copying ironic/common/release_mappings.py -> ironic-18.3.1.dev11/ironic/common DEBUG util.py:445: copying ironic/common/rpc.py -> ironic-18.3.1.dev11/ironic/common DEBUG util.py:445: copying ironic/common/rpc_service.py -> ironic-18.3.1.dev11/ironic/common DEBUG util.py:445: copying ironic/common/service.py -> ironic-18.3.1.dev11/ironic/common DEBUG util.py:445: copying ironic/common/states.py -> ironic-18.3.1.dev11/ironic/common DEBUG util.py:445: copying ironic/common/swift.py -> ironic-18.3.1.dev11/ironic/common DEBUG util.py:445: copying ironic/common/utils.py -> ironic-18.3.1.dev11/ironic/common DEBUG util.py:445: copying ironic/common/wsgi_service.py -> ironic-18.3.1.dev11/ironic/common DEBUG util.py:445: copying ironic/common/glance_service/__init__.py -> ironic-18.3.1.dev11/ironic/common/glance_service DEBUG util.py:445: copying ironic/common/glance_service/image_service.py -> ironic-18.3.1.dev11/ironic/common/glance_service DEBUG util.py:445: copying ironic/common/glance_service/service_utils.py -> ironic-18.3.1.dev11/ironic/common/glance_service DEBUG util.py:445: copying ironic/conductor/__init__.py -> ironic-18.3.1.dev11/ironic/conductor DEBUG util.py:445: copying ironic/conductor/allocations.py -> ironic-18.3.1.dev11/ironic/conductor DEBUG util.py:445: copying ironic/conductor/base_manager.py -> ironic-18.3.1.dev11/ironic/conductor DEBUG util.py:445: copying ironic/conductor/cleaning.py -> ironic-18.3.1.dev11/ironic/conductor DEBUG util.py:445: copying ironic/conductor/deployments.py -> ironic-18.3.1.dev11/ironic/conductor DEBUG util.py:445: copying ironic/conductor/manager.py -> ironic-18.3.1.dev11/ironic/conductor DEBUG util.py:445: copying ironic/conductor/notification_utils.py -> ironic-18.3.1.dev11/ironic/conductor DEBUG util.py:445: copying ironic/conductor/rpcapi.py -> ironic-18.3.1.dev11/ironic/conductor DEBUG util.py:445: copying ironic/conductor/steps.py -> ironic-18.3.1.dev11/ironic/conductor DEBUG util.py:445: copying ironic/conductor/task_manager.py -> ironic-18.3.1.dev11/ironic/conductor DEBUG util.py:445: copying ironic/conductor/utils.py -> ironic-18.3.1.dev11/ironic/conductor DEBUG util.py:445: copying ironic/conductor/verify.py -> ironic-18.3.1.dev11/ironic/conductor DEBUG util.py:445: copying ironic/conf/__init__.py -> ironic-18.3.1.dev11/ironic/conf DEBUG util.py:445: copying ironic/conf/agent.py -> ironic-18.3.1.dev11/ironic/conf DEBUG util.py:445: copying ironic/conf/anaconda.py -> ironic-18.3.1.dev11/ironic/conf DEBUG util.py:445: copying ironic/conf/ansible.py -> ironic-18.3.1.dev11/ironic/conf DEBUG util.py:445: copying ironic/conf/api.py -> ironic-18.3.1.dev11/ironic/conf DEBUG util.py:445: copying ironic/conf/audit.py -> ironic-18.3.1.dev11/ironic/conf DEBUG util.py:445: copying ironic/conf/auth.py -> ironic-18.3.1.dev11/ironic/conf DEBUG util.py:445: copying ironic/conf/cinder.py -> ironic-18.3.1.dev11/ironic/conf DEBUG util.py:445: copying ironic/conf/conductor.py -> ironic-18.3.1.dev11/ironic/conf DEBUG util.py:445: copying ironic/conf/console.py -> ironic-18.3.1.dev11/ironic/conf DEBUG util.py:445: copying ironic/conf/database.py -> ironic-18.3.1.dev11/ironic/conf DEBUG util.py:445: copying ironic/conf/default.py -> ironic-18.3.1.dev11/ironic/conf DEBUG util.py:445: copying ironic/conf/deploy.py -> ironic-18.3.1.dev11/ironic/conf DEBUG util.py:445: copying ironic/conf/dhcp.py -> ironic-18.3.1.dev11/ironic/conf DEBUG util.py:445: copying ironic/conf/drac.py -> ironic-18.3.1.dev11/ironic/conf DEBUG util.py:445: copying ironic/conf/glance.py -> ironic-18.3.1.dev11/ironic/conf DEBUG util.py:445: copying ironic/conf/healthcheck.py -> ironic-18.3.1.dev11/ironic/conf DEBUG util.py:445: copying ironic/conf/ibmc.py -> ironic-18.3.1.dev11/ironic/conf DEBUG util.py:445: copying ironic/conf/ilo.py -> ironic-18.3.1.dev11/ironic/conf DEBUG util.py:445: copying ironic/conf/inspector.py -> ironic-18.3.1.dev11/ironic/conf DEBUG util.py:445: copying ironic/conf/ipmi.py -> ironic-18.3.1.dev11/ironic/conf DEBUG util.py:445: copying ironic/conf/irmc.py -> ironic-18.3.1.dev11/ironic/conf DEBUG util.py:445: copying ironic/conf/metrics.py -> ironic-18.3.1.dev11/ironic/conf DEBUG util.py:445: copying ironic/conf/metrics_statsd.py -> ironic-18.3.1.dev11/ironic/conf DEBUG util.py:445: copying ironic/conf/molds.py -> ironic-18.3.1.dev11/ironic/conf DEBUG util.py:445: copying ironic/conf/neutron.py -> ironic-18.3.1.dev11/ironic/conf DEBUG util.py:445: copying ironic/conf/nova.py -> ironic-18.3.1.dev11/ironic/conf DEBUG util.py:445: copying ironic/conf/opts.py -> ironic-18.3.1.dev11/ironic/conf DEBUG util.py:445: copying ironic/conf/pxe.py -> ironic-18.3.1.dev11/ironic/conf DEBUG util.py:445: copying ironic/conf/redfish.py -> ironic-18.3.1.dev11/ironic/conf DEBUG util.py:445: copying ironic/conf/service_catalog.py -> ironic-18.3.1.dev11/ironic/conf DEBUG util.py:445: copying ironic/conf/snmp.py -> ironic-18.3.1.dev11/ironic/conf DEBUG util.py:445: copying ironic/conf/swift.py -> ironic-18.3.1.dev11/ironic/conf DEBUG util.py:445: copying ironic/conf/xclarity.py -> ironic-18.3.1.dev11/ironic/conf DEBUG util.py:445: copying ironic/db/__init__.py -> ironic-18.3.1.dev11/ironic/db DEBUG util.py:445: copying ironic/db/api.py -> ironic-18.3.1.dev11/ironic/db DEBUG util.py:445: copying ironic/db/migration.py -> ironic-18.3.1.dev11/ironic/db DEBUG util.py:445: copying ironic/db/sqlalchemy/__init__.py -> ironic-18.3.1.dev11/ironic/db/sqlalchemy DEBUG util.py:445: copying ironic/db/sqlalchemy/alembic.ini -> ironic-18.3.1.dev11/ironic/db/sqlalchemy DEBUG util.py:445: copying ironic/db/sqlalchemy/api.py -> ironic-18.3.1.dev11/ironic/db/sqlalchemy DEBUG util.py:445: copying ironic/db/sqlalchemy/migration.py -> ironic-18.3.1.dev11/ironic/db/sqlalchemy DEBUG util.py:445: copying ironic/db/sqlalchemy/models.py -> ironic-18.3.1.dev11/ironic/db/sqlalchemy DEBUG util.py:445: copying ironic/db/sqlalchemy/alembic/README -> ironic-18.3.1.dev11/ironic/db/sqlalchemy/alembic DEBUG util.py:445: copying ironic/db/sqlalchemy/alembic/env.py -> ironic-18.3.1.dev11/ironic/db/sqlalchemy/alembic DEBUG util.py:445: copying ironic/db/sqlalchemy/alembic/script.py.mako -> ironic-18.3.1.dev11/ironic/db/sqlalchemy/alembic DEBUG util.py:445: copying ironic/db/sqlalchemy/alembic/versions/10b163d4481e_add_port_portgroup_internal_info.py -> ironic-18.3.1.dev11/ironic/db/sqlalchemy/alembic/versions DEBUG util.py:445: copying ironic/db/sqlalchemy/alembic/versions/1a59178ebdf6_add_volume_targets_table.py -> ironic-18.3.1.dev11/ironic/db/sqlalchemy/alembic/versions DEBUG util.py:445: copying ironic/db/sqlalchemy/alembic/versions/1d6951876d68_add_storage_interface_db_field_and_.py -> ironic-18.3.1.dev11/ironic/db/sqlalchemy/alembic/versions DEBUG util.py:445: copying ironic/db/sqlalchemy/alembic/versions/1e15e7122cc9_add_extra_column_to_deploy_templates.py -> ironic-18.3.1.dev11/ironic/db/sqlalchemy/alembic/versions DEBUG util.py:445: copying ironic/db/sqlalchemy/alembic/versions/1e1d5ace7dc6_add_inspection_started_at_and_.py -> ironic-18.3.1.dev11/ironic/db/sqlalchemy/alembic/versions DEBUG util.py:445: copying ironic/db/sqlalchemy/alembic/versions/21b331f883ef_add_provision_updated_at.py -> ironic-18.3.1.dev11/ironic/db/sqlalchemy/alembic/versions DEBUG util.py:445: copying ironic/db/sqlalchemy/alembic/versions/2353895ecfae_add_conductor_hardware_interfaces_table.py -> ironic-18.3.1.dev11/ironic/db/sqlalchemy/alembic/versions DEBUG util.py:445: copying ironic/db/sqlalchemy/alembic/versions/242cc6a923b3_add_node_maintenance_reason.py -> ironic-18.3.1.dev11/ironic/db/sqlalchemy/alembic/versions DEBUG util.py:445: copying ironic/db/sqlalchemy/alembic/versions/2581ebaf0cb2_initial_migration.py -> ironic-18.3.1.dev11/ironic/db/sqlalchemy/alembic/versions DEBUG util.py:445: copying ironic/db/sqlalchemy/alembic/versions/28c44432c9c3_add_node_description.py -> ironic-18.3.1.dev11/ironic/db/sqlalchemy/alembic/versions DEBUG util.py:445: copying ironic/db/sqlalchemy/alembic/versions/2aac7e0872f6_add_deploy_templates.py -> ironic-18.3.1.dev11/ironic/db/sqlalchemy/alembic/versions DEBUG util.py:445: copying ironic/db/sqlalchemy/alembic/versions/2bbd96b6ccb9_add_bios_fields_from_registry.py -> ironic-18.3.1.dev11/ironic/db/sqlalchemy/alembic/versions DEBUG util.py:445: copying ironic/db/sqlalchemy/alembic/versions/2d13bc3d6bba_add_bios_config_and_interface.py -> ironic-18.3.1.dev11/ironic/db/sqlalchemy/alembic/versions DEBUG util.py:445: copying ironic/db/sqlalchemy/alembic/versions/2fb93ffd2af1_increase_node_name_length.py -> ironic-18.3.1.dev11/ironic/db/sqlalchemy/alembic/versions DEBUG util.py:445: copying ironic/db/sqlalchemy/alembic/versions/31baaf680d2b_add_node_instance_info.py -> ironic-18.3.1.dev11/ironic/db/sqlalchemy/alembic/versions DEBUG util.py:445: copying ironic/db/sqlalchemy/alembic/versions/3ae36a5f5131_add_logical_name.py -> ironic-18.3.1.dev11/ironic/db/sqlalchemy/alembic/versions DEBUG util.py:445: copying ironic/db/sqlalchemy/alembic/versions/3bea56f25597_add_unique_constraint_to_instance_uuid.py -> ironic-18.3.1.dev11/ironic/db/sqlalchemy/alembic/versions DEBUG util.py:445: copying ironic/db/sqlalchemy/alembic/versions/3cb628139ea4_nodes_add_console_enabled.py -> ironic-18.3.1.dev11/ironic/db/sqlalchemy/alembic/versions DEBUG util.py:445: copying ironic/db/sqlalchemy/alembic/versions/3d86a077a3f2_add_port_physical_network.py -> ironic-18.3.1.dev11/ironic/db/sqlalchemy/alembic/versions DEBUG util.py:445: copying ironic/db/sqlalchemy/alembic/versions/405cfe08f18d_add_rescue_interface_to_node.py -> ironic-18.3.1.dev11/ironic/db/sqlalchemy/alembic/versions DEBUG util.py:445: copying ironic/db/sqlalchemy/alembic/versions/487deb87cc9d_add_conductor_affinity_and_online.py -> ironic-18.3.1.dev11/ironic/db/sqlalchemy/alembic/versions DEBUG util.py:445: copying ironic/db/sqlalchemy/alembic/versions/48d6c242bb9b_add_node_tags.py -> ironic-18.3.1.dev11/ironic/db/sqlalchemy/alembic/versions DEBUG util.py:445: copying ironic/db/sqlalchemy/alembic/versions/493d8f27f235_add_portgroup_configuration_fields.py -> ironic-18.3.1.dev11/ironic/db/sqlalchemy/alembic/versions DEBUG util.py:445: copying ironic/db/sqlalchemy/alembic/versions/4f399b21ae71_add_node_clean_step.py -> ironic-18.3.1.dev11/ironic/db/sqlalchemy/alembic/versions DEBUG util.py:445: copying ironic/db/sqlalchemy/alembic/versions/516faf1bb9b1_resizing_column_nodes_driver.py -> ironic-18.3.1.dev11/ironic/db/sqlalchemy/alembic/versions DEBUG util.py:445: copying ironic/db/sqlalchemy/alembic/versions/5674c57409b9_replace_nostate_with_available.py -> ironic-18.3.1.dev11/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-18.3.1.dev11/ironic/db/sqlalchemy/alembic/versions DEBUG util.py:445: copying ironic/db/sqlalchemy/alembic/versions/60cf717201bc_add_standalone_ports_supported.py -> ironic-18.3.1.dev11/ironic/db/sqlalchemy/alembic/versions DEBUG util.py:445: copying ironic/db/sqlalchemy/alembic/versions/664f85c2f622_add_conductor_group_to_nodes_conductors.py -> ironic-18.3.1.dev11/ironic/db/sqlalchemy/alembic/versions DEBUG util.py:445: copying ironic/db/sqlalchemy/alembic/versions/789acc877671_add_raid_config.py -> ironic-18.3.1.dev11/ironic/db/sqlalchemy/alembic/versions DEBUG util.py:445: copying ironic/db/sqlalchemy/alembic/versions/82c315d60161_add_bios_settings.py -> ironic-18.3.1.dev11/ironic/db/sqlalchemy/alembic/versions DEBUG util.py:445: copying ironic/db/sqlalchemy/alembic/versions/868cb606a74a_add_version_field_in_base_class.py -> ironic-18.3.1.dev11/ironic/db/sqlalchemy/alembic/versions DEBUG util.py:445: copying ironic/db/sqlalchemy/alembic/versions/93706939026c_add_node_protected_field.py -> ironic-18.3.1.dev11/ironic/db/sqlalchemy/alembic/versions DEBUG util.py:445: copying ironic/db/sqlalchemy/alembic/versions/9cbeefa3763f_add_port_is_smartnic.py -> ironic-18.3.1.dev11/ironic/db/sqlalchemy/alembic/versions DEBUG util.py:445: copying ironic/db/sqlalchemy/alembic/versions/9ef41f07cb58_add_node_history_table.py -> ironic-18.3.1.dev11/ironic/db/sqlalchemy/alembic/versions DEBUG util.py:445: copying ironic/db/sqlalchemy/alembic/versions/ac00b586ab95_node_indexes.py -> ironic-18.3.1.dev11/ironic/db/sqlalchemy/alembic/versions DEBUG util.py:445: copying ironic/db/sqlalchemy/alembic/versions/b2ad35726bb0_add_node_lessee.py -> ironic-18.3.1.dev11/ironic/db/sqlalchemy/alembic/versions DEBUG util.py:445: copying ironic/db/sqlalchemy/alembic/versions/b4130a7fc904_create_nodetraits_table.py -> ironic-18.3.1.dev11/ironic/db/sqlalchemy/alembic/versions DEBUG util.py:445: copying ironic/db/sqlalchemy/alembic/versions/b9117ac17882_add_node_deploy_step.py -> ironic-18.3.1.dev11/ironic/db/sqlalchemy/alembic/versions DEBUG util.py:445: copying ironic/db/sqlalchemy/alembic/versions/bb59b63f55a_add_node_driver_internal_info.py -> ironic-18.3.1.dev11/ironic/db/sqlalchemy/alembic/versions DEBUG util.py:445: copying ironic/db/sqlalchemy/alembic/versions/bcdd431ba0bf_add_fields_for_all_interfaces.py -> ironic-18.3.1.dev11/ironic/db/sqlalchemy/alembic/versions DEBUG util.py:445: copying ironic/db/sqlalchemy/alembic/versions/c0455649680c_port_name.py -> ironic-18.3.1.dev11/ironic/db/sqlalchemy/alembic/versions DEBUG util.py:445: copying ironic/db/sqlalchemy/alembic/versions/c14cef6dfedf_populate_node_network_interface.py -> ironic-18.3.1.dev11/ironic/db/sqlalchemy/alembic/versions DEBUG util.py:445: copying ironic/db/sqlalchemy/alembic/versions/c1846a214450_add_boot_mode_and_secure_boot.py -> ironic-18.3.1.dev11/ironic/db/sqlalchemy/alembic/versions DEBUG util.py:445: copying ironic/db/sqlalchemy/alembic/versions/cd2c80feb331_add_node_retired_field.py -> ironic-18.3.1.dev11/ironic/db/sqlalchemy/alembic/versions DEBUG util.py:445: copying ironic/db/sqlalchemy/alembic/versions/ce6c4b3cf5a2_add_allocation_owner.py -> ironic-18.3.1.dev11/ironic/db/sqlalchemy/alembic/versions DEBUG util.py:445: copying ironic/db/sqlalchemy/alembic/versions/cf1a80fdb352_add_node_network_data_field.py -> ironic-18.3.1.dev11/ironic/db/sqlalchemy/alembic/versions DEBUG util.py:445: copying ironic/db/sqlalchemy/alembic/versions/d2b036ae9378_add_automated_clean_field.py -> ironic-18.3.1.dev11/ironic/db/sqlalchemy/alembic/versions DEBUG util.py:445: copying ironic/db/sqlalchemy/alembic/versions/daa1ba02d98_add_volume_connectors_table.py -> ironic-18.3.1.dev11/ironic/db/sqlalchemy/alembic/versions DEBUG util.py:445: copying ironic/db/sqlalchemy/alembic/versions/dbefd6bdaa2c_add_default_column_to_.py -> ironic-18.3.1.dev11/ironic/db/sqlalchemy/alembic/versions DEBUG util.py:445: copying ironic/db/sqlalchemy/alembic/versions/dd34e1f1303b_add_resource_class_to_node.py -> ironic-18.3.1.dev11/ironic/db/sqlalchemy/alembic/versions DEBUG util.py:445: copying ironic/db/sqlalchemy/alembic/versions/dd67b91a1981_add_allocations_table.py -> ironic-18.3.1.dev11/ironic/db/sqlalchemy/alembic/versions DEBUG util.py:445: copying ironic/db/sqlalchemy/alembic/versions/e294876e8028_add_node_network_interface.py -> ironic-18.3.1.dev11/ironic/db/sqlalchemy/alembic/versions DEBUG util.py:445: copying ironic/db/sqlalchemy/alembic/versions/e918ff30eb42_resize_column_nodes_instance_info.py -> ironic-18.3.1.dev11/ironic/db/sqlalchemy/alembic/versions DEBUG util.py:445: copying ironic/db/sqlalchemy/alembic/versions/f190f9d00a11_add_node_owner.py -> ironic-18.3.1.dev11/ironic/db/sqlalchemy/alembic/versions DEBUG util.py:445: copying ironic/db/sqlalchemy/alembic/versions/f6fdb920c182_set_pxe_enabled_true.py -> ironic-18.3.1.dev11/ironic/db/sqlalchemy/alembic/versions DEBUG util.py:445: copying ironic/db/sqlalchemy/alembic/versions/fb3f10dd262e_add_fault_to_node_table.py -> ironic-18.3.1.dev11/ironic/db/sqlalchemy/alembic/versions DEBUG util.py:445: copying ironic/dhcp/__init__.py -> ironic-18.3.1.dev11/ironic/dhcp DEBUG util.py:445: copying ironic/dhcp/base.py -> ironic-18.3.1.dev11/ironic/dhcp DEBUG util.py:445: copying ironic/dhcp/neutron.py -> ironic-18.3.1.dev11/ironic/dhcp DEBUG util.py:445: copying ironic/dhcp/none.py -> ironic-18.3.1.dev11/ironic/dhcp DEBUG util.py:445: copying ironic/drivers/__init__.py -> ironic-18.3.1.dev11/ironic/drivers DEBUG util.py:445: copying ironic/drivers/base.py -> ironic-18.3.1.dev11/ironic/drivers DEBUG util.py:445: copying ironic/drivers/drac.py -> ironic-18.3.1.dev11/ironic/drivers DEBUG util.py:445: copying ironic/drivers/fake_hardware.py -> ironic-18.3.1.dev11/ironic/drivers DEBUG util.py:445: copying ironic/drivers/generic.py -> ironic-18.3.1.dev11/ironic/drivers DEBUG util.py:445: copying ironic/drivers/hardware_type.py -> ironic-18.3.1.dev11/ironic/drivers DEBUG util.py:445: copying ironic/drivers/ibmc.py -> ironic-18.3.1.dev11/ironic/drivers DEBUG util.py:445: copying ironic/drivers/ilo.py -> ironic-18.3.1.dev11/ironic/drivers DEBUG util.py:445: copying ironic/drivers/intel_ipmi.py -> ironic-18.3.1.dev11/ironic/drivers DEBUG util.py:445: copying ironic/drivers/ipmi.py -> ironic-18.3.1.dev11/ironic/drivers DEBUG util.py:445: copying ironic/drivers/irmc.py -> ironic-18.3.1.dev11/ironic/drivers DEBUG util.py:445: copying ironic/drivers/raid_config_schema.json -> ironic-18.3.1.dev11/ironic/drivers DEBUG util.py:445: copying ironic/drivers/redfish.py -> ironic-18.3.1.dev11/ironic/drivers DEBUG util.py:445: copying ironic/drivers/snmp.py -> ironic-18.3.1.dev11/ironic/drivers DEBUG util.py:445: copying ironic/drivers/utils.py -> ironic-18.3.1.dev11/ironic/drivers DEBUG util.py:445: copying ironic/drivers/xclarity.py -> ironic-18.3.1.dev11/ironic/drivers DEBUG util.py:445: copying ironic/drivers/modules/__init__.py -> ironic-18.3.1.dev11/ironic/drivers/modules DEBUG util.py:445: copying ironic/drivers/modules/agent.py -> ironic-18.3.1.dev11/ironic/drivers/modules DEBUG util.py:445: copying ironic/drivers/modules/agent_base.py -> ironic-18.3.1.dev11/ironic/drivers/modules DEBUG util.py:445: copying ironic/drivers/modules/agent_client.py -> ironic-18.3.1.dev11/ironic/drivers/modules DEBUG util.py:445: copying ironic/drivers/modules/agent_config.template -> ironic-18.3.1.dev11/ironic/drivers/modules DEBUG util.py:445: copying ironic/drivers/modules/agent_power.py -> ironic-18.3.1.dev11/ironic/drivers/modules DEBUG util.py:445: copying ironic/drivers/modules/boot.ipxe -> ironic-18.3.1.dev11/ironic/drivers/modules DEBUG util.py:445: copying ironic/drivers/modules/boot_mode_utils.py -> ironic-18.3.1.dev11/ironic/drivers/modules DEBUG util.py:445: copying ironic/drivers/modules/console_utils.py -> ironic-18.3.1.dev11/ironic/drivers/modules DEBUG util.py:445: copying ironic/drivers/modules/deploy_utils.py -> ironic-18.3.1.dev11/ironic/drivers/modules DEBUG util.py:445: copying ironic/drivers/modules/fake.py -> ironic-18.3.1.dev11/ironic/drivers/modules DEBUG util.py:445: copying ironic/drivers/modules/image_cache.py -> ironic-18.3.1.dev11/ironic/drivers/modules DEBUG util.py:445: copying ironic/drivers/modules/image_utils.py -> ironic-18.3.1.dev11/ironic/drivers/modules DEBUG util.py:445: copying ironic/drivers/modules/inspect_utils.py -> ironic-18.3.1.dev11/ironic/drivers/modules DEBUG util.py:445: copying ironic/drivers/modules/inspector.py -> ironic-18.3.1.dev11/ironic/drivers/modules DEBUG util.py:445: copying ironic/drivers/modules/ipmitool.py -> ironic-18.3.1.dev11/ironic/drivers/modules DEBUG util.py:445: copying ironic/drivers/modules/ipxe.py -> ironic-18.3.1.dev11/ironic/drivers/modules DEBUG util.py:445: copying ironic/drivers/modules/ipxe_config.template -> ironic-18.3.1.dev11/ironic/drivers/modules DEBUG util.py:445: copying ironic/drivers/modules/ks.cfg.template -> ironic-18.3.1.dev11/ironic/drivers/modules DEBUG util.py:445: copying ironic/drivers/modules/master_grub_cfg.txt -> ironic-18.3.1.dev11/ironic/drivers/modules DEBUG util.py:445: copying ironic/drivers/modules/noop.py -> ironic-18.3.1.dev11/ironic/drivers/modules DEBUG util.py:445: copying ironic/drivers/modules/noop_mgmt.py -> ironic-18.3.1.dev11/ironic/drivers/modules DEBUG util.py:445: copying ironic/drivers/modules/pxe.py -> ironic-18.3.1.dev11/ironic/drivers/modules DEBUG util.py:445: copying ironic/drivers/modules/pxe_base.py -> ironic-18.3.1.dev11/ironic/drivers/modules DEBUG util.py:445: copying ironic/drivers/modules/pxe_config.template -> ironic-18.3.1.dev11/ironic/drivers/modules DEBUG util.py:445: copying ironic/drivers/modules/pxe_grub_config.template -> ironic-18.3.1.dev11/ironic/drivers/modules DEBUG util.py:445: copying ironic/drivers/modules/ramdisk.py -> ironic-18.3.1.dev11/ironic/drivers/modules DEBUG util.py:445: copying ironic/drivers/modules/snmp.py -> ironic-18.3.1.dev11/ironic/drivers/modules DEBUG util.py:445: copying ironic/drivers/modules/ansible/__init__.py -> ironic-18.3.1.dev11/ironic/drivers/modules/ansible DEBUG util.py:445: copying ironic/drivers/modules/ansible/deploy.py -> ironic-18.3.1.dev11/ironic/drivers/modules/ansible DEBUG util.py:445: copying ironic/drivers/modules/ansible/playbooks/add-ironic-nodes.yaml -> ironic-18.3.1.dev11/ironic/drivers/modules/ansible/playbooks DEBUG util.py:445: copying ironic/drivers/modules/ansible/playbooks/ansible.cfg -> ironic-18.3.1.dev11/ironic/drivers/modules/ansible/playbooks DEBUG util.py:445: copying ironic/drivers/modules/ansible/playbooks/clean.yaml -> ironic-18.3.1.dev11/ironic/drivers/modules/ansible/playbooks DEBUG util.py:445: copying ironic/drivers/modules/ansible/playbooks/clean_steps.yaml -> ironic-18.3.1.dev11/ironic/drivers/modules/ansible/playbooks DEBUG util.py:445: copying ironic/drivers/modules/ansible/playbooks/deploy.yaml -> ironic-18.3.1.dev11/ironic/drivers/modules/ansible/playbooks DEBUG util.py:445: copying ironic/drivers/modules/ansible/playbooks/inventory -> ironic-18.3.1.dev11/ironic/drivers/modules/ansible/playbooks DEBUG util.py:445: copying ironic/drivers/modules/ansible/playbooks/shutdown.yaml -> ironic-18.3.1.dev11/ironic/drivers/modules/ansible/playbooks DEBUG util.py:445: copying ironic/drivers/modules/ansible/playbooks/callback_plugins/ironic_log.ini -> ironic-18.3.1.dev11/ironic/drivers/modules/ansible/playbooks/callback_plugins DEBUG util.py:445: copying ironic/drivers/modules/ansible/playbooks/callback_plugins/ironic_log.py -> ironic-18.3.1.dev11/ironic/drivers/modules/ansible/playbooks/callback_plugins DEBUG util.py:445: copying ironic/drivers/modules/ansible/playbooks/library/facts_wwn.py -> ironic-18.3.1.dev11/ironic/drivers/modules/ansible/playbooks/library DEBUG util.py:445: copying ironic/drivers/modules/ansible/playbooks/library/root_hints.py -> ironic-18.3.1.dev11/ironic/drivers/modules/ansible/playbooks/library DEBUG util.py:445: copying ironic/drivers/modules/ansible/playbooks/library/stream_url.py -> ironic-18.3.1.dev11/ironic/drivers/modules/ansible/playbooks/library DEBUG util.py:445: copying ironic/drivers/modules/ansible/playbooks/roles/clean/defaults/main.yaml -> ironic-18.3.1.dev11/ironic/drivers/modules/ansible/playbooks/roles/clean/defaults DEBUG util.py:445: copying ironic/drivers/modules/ansible/playbooks/roles/clean/tasks/main.yaml -> ironic-18.3.1.dev11/ironic/drivers/modules/ansible/playbooks/roles/clean/tasks DEBUG util.py:445: copying ironic/drivers/modules/ansible/playbooks/roles/clean/tasks/shred.yaml -> ironic-18.3.1.dev11/ironic/drivers/modules/ansible/playbooks/roles/clean/tasks DEBUG util.py:445: copying ironic/drivers/modules/ansible/playbooks/roles/clean/tasks/wipe.yaml -> ironic-18.3.1.dev11/ironic/drivers/modules/ansible/playbooks/roles/clean/tasks DEBUG util.py:445: copying ironic/drivers/modules/ansible/playbooks/roles/clean/tasks/zap.yaml -> ironic-18.3.1.dev11/ironic/drivers/modules/ansible/playbooks/roles/clean/tasks DEBUG util.py:445: copying ironic/drivers/modules/ansible/playbooks/roles/configure/defaults/main.yaml -> ironic-18.3.1.dev11/ironic/drivers/modules/ansible/playbooks/roles/configure/defaults DEBUG util.py:445: copying ironic/drivers/modules/ansible/playbooks/roles/configure/tasks/grub.yaml -> ironic-18.3.1.dev11/ironic/drivers/modules/ansible/playbooks/roles/configure/tasks DEBUG util.py:445: copying ironic/drivers/modules/ansible/playbooks/roles/configure/tasks/main.yaml -> ironic-18.3.1.dev11/ironic/drivers/modules/ansible/playbooks/roles/configure/tasks DEBUG util.py:445: copying ironic/drivers/modules/ansible/playbooks/roles/configure/tasks/mounts.yaml -> ironic-18.3.1.dev11/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-18.3.1.dev11/ironic/drivers/modules/ansible/playbooks/roles/deploy/files DEBUG util.py:445: copying ironic/drivers/modules/ansible/playbooks/roles/deploy/tasks/configdrive.yaml -> ironic-18.3.1.dev11/ironic/drivers/modules/ansible/playbooks/roles/deploy/tasks DEBUG util.py:445: copying ironic/drivers/modules/ansible/playbooks/roles/deploy/tasks/download.yaml -> ironic-18.3.1.dev11/ironic/drivers/modules/ansible/playbooks/roles/deploy/tasks DEBUG util.py:445: copying ironic/drivers/modules/ansible/playbooks/roles/deploy/tasks/main.yaml -> ironic-18.3.1.dev11/ironic/drivers/modules/ansible/playbooks/roles/deploy/tasks DEBUG util.py:445: copying ironic/drivers/modules/ansible/playbooks/roles/deploy/tasks/write.yaml -> ironic-18.3.1.dev11/ironic/drivers/modules/ansible/playbooks/roles/deploy/tasks DEBUG util.py:445: copying ironic/drivers/modules/ansible/playbooks/roles/discover/tasks/main.yaml -> ironic-18.3.1.dev11/ironic/drivers/modules/ansible/playbooks/roles/discover/tasks DEBUG util.py:445: copying ironic/drivers/modules/ansible/playbooks/roles/discover/tasks/roothints.yaml -> ironic-18.3.1.dev11/ironic/drivers/modules/ansible/playbooks/roles/discover/tasks DEBUG util.py:445: copying ironic/drivers/modules/ansible/playbooks/roles/prepare/tasks/main.yaml -> ironic-18.3.1.dev11/ironic/drivers/modules/ansible/playbooks/roles/prepare/tasks DEBUG util.py:445: copying ironic/drivers/modules/ansible/playbooks/roles/prepare/tasks/parted.yaml -> ironic-18.3.1.dev11/ironic/drivers/modules/ansible/playbooks/roles/prepare/tasks DEBUG util.py:445: copying ironic/drivers/modules/ansible/playbooks/roles/shutdown/tasks/main.yaml -> ironic-18.3.1.dev11/ironic/drivers/modules/ansible/playbooks/roles/shutdown/tasks DEBUG util.py:445: copying ironic/drivers/modules/drac/__init__.py -> ironic-18.3.1.dev11/ironic/drivers/modules/drac DEBUG util.py:445: copying ironic/drivers/modules/drac/bios.py -> ironic-18.3.1.dev11/ironic/drivers/modules/drac DEBUG util.py:445: copying ironic/drivers/modules/drac/boot.py -> ironic-18.3.1.dev11/ironic/drivers/modules/drac DEBUG util.py:445: copying ironic/drivers/modules/drac/common.py -> ironic-18.3.1.dev11/ironic/drivers/modules/drac DEBUG util.py:445: copying ironic/drivers/modules/drac/inspect.py -> ironic-18.3.1.dev11/ironic/drivers/modules/drac DEBUG util.py:445: copying ironic/drivers/modules/drac/job.py -> ironic-18.3.1.dev11/ironic/drivers/modules/drac DEBUG util.py:445: copying ironic/drivers/modules/drac/management.py -> ironic-18.3.1.dev11/ironic/drivers/modules/drac DEBUG util.py:445: copying ironic/drivers/modules/drac/power.py -> ironic-18.3.1.dev11/ironic/drivers/modules/drac DEBUG util.py:445: copying ironic/drivers/modules/drac/raid.py -> ironic-18.3.1.dev11/ironic/drivers/modules/drac DEBUG util.py:445: copying ironic/drivers/modules/drac/utils.py -> ironic-18.3.1.dev11/ironic/drivers/modules/drac DEBUG util.py:445: copying ironic/drivers/modules/drac/vendor_passthru.py -> ironic-18.3.1.dev11/ironic/drivers/modules/drac DEBUG util.py:445: copying ironic/drivers/modules/ibmc/__init__.py -> ironic-18.3.1.dev11/ironic/drivers/modules/ibmc DEBUG util.py:445: copying ironic/drivers/modules/ibmc/management.py -> ironic-18.3.1.dev11/ironic/drivers/modules/ibmc DEBUG util.py:445: copying ironic/drivers/modules/ibmc/mappings.py -> ironic-18.3.1.dev11/ironic/drivers/modules/ibmc DEBUG util.py:445: copying ironic/drivers/modules/ibmc/power.py -> ironic-18.3.1.dev11/ironic/drivers/modules/ibmc DEBUG util.py:445: copying ironic/drivers/modules/ibmc/raid.py -> ironic-18.3.1.dev11/ironic/drivers/modules/ibmc DEBUG util.py:445: copying ironic/drivers/modules/ibmc/utils.py -> ironic-18.3.1.dev11/ironic/drivers/modules/ibmc DEBUG util.py:445: copying ironic/drivers/modules/ibmc/vendor.py -> ironic-18.3.1.dev11/ironic/drivers/modules/ibmc DEBUG util.py:445: copying ironic/drivers/modules/ilo/__init__.py -> ironic-18.3.1.dev11/ironic/drivers/modules/ilo DEBUG util.py:445: copying ironic/drivers/modules/ilo/bios.py -> ironic-18.3.1.dev11/ironic/drivers/modules/ilo DEBUG util.py:445: copying ironic/drivers/modules/ilo/boot.py -> ironic-18.3.1.dev11/ironic/drivers/modules/ilo DEBUG util.py:445: copying ironic/drivers/modules/ilo/common.py -> ironic-18.3.1.dev11/ironic/drivers/modules/ilo DEBUG util.py:445: copying ironic/drivers/modules/ilo/console.py -> ironic-18.3.1.dev11/ironic/drivers/modules/ilo DEBUG util.py:445: copying ironic/drivers/modules/ilo/firmware_processor.py -> ironic-18.3.1.dev11/ironic/drivers/modules/ilo DEBUG util.py:445: copying ironic/drivers/modules/ilo/inspect.py -> ironic-18.3.1.dev11/ironic/drivers/modules/ilo DEBUG util.py:445: copying ironic/drivers/modules/ilo/management.py -> ironic-18.3.1.dev11/ironic/drivers/modules/ilo DEBUG util.py:445: copying ironic/drivers/modules/ilo/power.py -> ironic-18.3.1.dev11/ironic/drivers/modules/ilo DEBUG util.py:445: copying ironic/drivers/modules/ilo/raid.py -> ironic-18.3.1.dev11/ironic/drivers/modules/ilo DEBUG util.py:445: copying ironic/drivers/modules/ilo/vendor.py -> ironic-18.3.1.dev11/ironic/drivers/modules/ilo DEBUG util.py:445: copying ironic/drivers/modules/intel_ipmi/__init__.py -> ironic-18.3.1.dev11/ironic/drivers/modules/intel_ipmi DEBUG util.py:445: copying ironic/drivers/modules/intel_ipmi/management.py -> ironic-18.3.1.dev11/ironic/drivers/modules/intel_ipmi DEBUG util.py:445: copying ironic/drivers/modules/irmc/__init__.py -> ironic-18.3.1.dev11/ironic/drivers/modules/irmc DEBUG util.py:445: copying ironic/drivers/modules/irmc/bios.py -> ironic-18.3.1.dev11/ironic/drivers/modules/irmc DEBUG util.py:445: copying ironic/drivers/modules/irmc/boot.py -> ironic-18.3.1.dev11/ironic/drivers/modules/irmc DEBUG util.py:445: copying ironic/drivers/modules/irmc/common.py -> ironic-18.3.1.dev11/ironic/drivers/modules/irmc DEBUG util.py:445: copying ironic/drivers/modules/irmc/inspect.py -> ironic-18.3.1.dev11/ironic/drivers/modules/irmc DEBUG util.py:445: copying ironic/drivers/modules/irmc/management.py -> ironic-18.3.1.dev11/ironic/drivers/modules/irmc DEBUG util.py:445: copying ironic/drivers/modules/irmc/packaging_version.py -> ironic-18.3.1.dev11/ironic/drivers/modules/irmc DEBUG util.py:445: copying ironic/drivers/modules/irmc/power.py -> ironic-18.3.1.dev11/ironic/drivers/modules/irmc DEBUG util.py:445: copying ironic/drivers/modules/irmc/raid.py -> ironic-18.3.1.dev11/ironic/drivers/modules/irmc DEBUG util.py:445: copying ironic/drivers/modules/network/__init__.py -> ironic-18.3.1.dev11/ironic/drivers/modules/network DEBUG util.py:445: copying ironic/drivers/modules/network/common.py -> ironic-18.3.1.dev11/ironic/drivers/modules/network DEBUG util.py:445: copying ironic/drivers/modules/network/flat.py -> ironic-18.3.1.dev11/ironic/drivers/modules/network DEBUG util.py:445: copying ironic/drivers/modules/network/neutron.py -> ironic-18.3.1.dev11/ironic/drivers/modules/network DEBUG util.py:445: copying ironic/drivers/modules/network/noop.py -> ironic-18.3.1.dev11/ironic/drivers/modules/network DEBUG util.py:445: copying ironic/drivers/modules/redfish/__init__.py -> ironic-18.3.1.dev11/ironic/drivers/modules/redfish DEBUG util.py:445: copying ironic/drivers/modules/redfish/bios.py -> ironic-18.3.1.dev11/ironic/drivers/modules/redfish DEBUG util.py:445: copying ironic/drivers/modules/redfish/boot.py -> ironic-18.3.1.dev11/ironic/drivers/modules/redfish DEBUG util.py:445: copying ironic/drivers/modules/redfish/firmware_utils.py -> ironic-18.3.1.dev11/ironic/drivers/modules/redfish DEBUG util.py:445: copying ironic/drivers/modules/redfish/inspect.py -> ironic-18.3.1.dev11/ironic/drivers/modules/redfish DEBUG util.py:445: copying ironic/drivers/modules/redfish/management.py -> ironic-18.3.1.dev11/ironic/drivers/modules/redfish DEBUG util.py:445: copying ironic/drivers/modules/redfish/power.py -> ironic-18.3.1.dev11/ironic/drivers/modules/redfish DEBUG util.py:445: copying ironic/drivers/modules/redfish/raid.py -> ironic-18.3.1.dev11/ironic/drivers/modules/redfish DEBUG util.py:445: copying ironic/drivers/modules/redfish/utils.py -> ironic-18.3.1.dev11/ironic/drivers/modules/redfish DEBUG util.py:445: copying ironic/drivers/modules/redfish/vendor.py -> ironic-18.3.1.dev11/ironic/drivers/modules/redfish DEBUG util.py:445: copying ironic/drivers/modules/storage/__init__.py -> ironic-18.3.1.dev11/ironic/drivers/modules/storage DEBUG util.py:445: copying ironic/drivers/modules/storage/cinder.py -> ironic-18.3.1.dev11/ironic/drivers/modules/storage DEBUG util.py:445: copying ironic/drivers/modules/storage/external.py -> ironic-18.3.1.dev11/ironic/drivers/modules/storage DEBUG util.py:445: copying ironic/drivers/modules/storage/noop.py -> ironic-18.3.1.dev11/ironic/drivers/modules/storage DEBUG util.py:445: copying ironic/drivers/modules/xclarity/__init__.py -> ironic-18.3.1.dev11/ironic/drivers/modules/xclarity DEBUG util.py:445: copying ironic/drivers/modules/xclarity/common.py -> ironic-18.3.1.dev11/ironic/drivers/modules/xclarity DEBUG util.py:445: copying ironic/drivers/modules/xclarity/management.py -> ironic-18.3.1.dev11/ironic/drivers/modules/xclarity DEBUG util.py:445: copying ironic/drivers/modules/xclarity/power.py -> ironic-18.3.1.dev11/ironic/drivers/modules/xclarity DEBUG util.py:445: copying ironic/hacking/__init__.py -> ironic-18.3.1.dev11/ironic/hacking DEBUG util.py:445: copying ironic/hacking/checks.py -> ironic-18.3.1.dev11/ironic/hacking DEBUG util.py:445: copying ironic/objects/__init__.py -> ironic-18.3.1.dev11/ironic/objects DEBUG util.py:445: copying ironic/objects/allocation.py -> ironic-18.3.1.dev11/ironic/objects DEBUG util.py:445: copying ironic/objects/base.py -> ironic-18.3.1.dev11/ironic/objects DEBUG util.py:445: copying ironic/objects/bios.py -> ironic-18.3.1.dev11/ironic/objects DEBUG util.py:445: copying ironic/objects/chassis.py -> ironic-18.3.1.dev11/ironic/objects DEBUG util.py:445: copying ironic/objects/conductor.py -> ironic-18.3.1.dev11/ironic/objects DEBUG util.py:445: copying ironic/objects/deploy_template.py -> ironic-18.3.1.dev11/ironic/objects DEBUG util.py:445: copying ironic/objects/deployment.py -> ironic-18.3.1.dev11/ironic/objects DEBUG util.py:445: copying ironic/objects/fields.py -> ironic-18.3.1.dev11/ironic/objects DEBUG util.py:445: copying ironic/objects/indirection.py -> ironic-18.3.1.dev11/ironic/objects DEBUG util.py:445: copying ironic/objects/node.py -> ironic-18.3.1.dev11/ironic/objects DEBUG util.py:445: copying ironic/objects/node_history.py -> ironic-18.3.1.dev11/ironic/objects DEBUG util.py:445: copying ironic/objects/notification.py -> ironic-18.3.1.dev11/ironic/objects DEBUG util.py:445: copying ironic/objects/port.py -> ironic-18.3.1.dev11/ironic/objects DEBUG util.py:445: copying ironic/objects/portgroup.py -> ironic-18.3.1.dev11/ironic/objects DEBUG util.py:445: copying ironic/objects/trait.py -> ironic-18.3.1.dev11/ironic/objects DEBUG util.py:445: copying ironic/objects/volume_connector.py -> ironic-18.3.1.dev11/ironic/objects DEBUG util.py:445: copying ironic/objects/volume_target.py -> ironic-18.3.1.dev11/ironic/objects DEBUG util.py:445: copying ironic/tests/__init__.py -> ironic-18.3.1.dev11/ironic/tests DEBUG util.py:445: copying ironic/tests/base.py -> ironic-18.3.1.dev11/ironic/tests DEBUG util.py:445: copying ironic/tests/functional/__init__.py -> ironic-18.3.1.dev11/ironic/tests/functional DEBUG util.py:445: copying ironic/tests/json_samples/network_data.json -> ironic-18.3.1.dev11/ironic/tests/json_samples DEBUG util.py:445: copying ironic/tests/unit/__init__.py -> ironic-18.3.1.dev11/ironic/tests/unit DEBUG util.py:445: copying ironic/tests/unit/policy_fixture.py -> ironic-18.3.1.dev11/ironic/tests/unit DEBUG util.py:445: copying ironic/tests/unit/raid_constants.py -> ironic-18.3.1.dev11/ironic/tests/unit DEBUG util.py:445: copying ironic/tests/unit/stubs.py -> ironic-18.3.1.dev11/ironic/tests/unit DEBUG util.py:445: copying ironic/tests/unit/test_base.py -> ironic-18.3.1.dev11/ironic/tests/unit DEBUG util.py:445: copying ironic/tests/unit/api/__init__.py -> ironic-18.3.1.dev11/ironic/tests/unit/api DEBUG util.py:445: copying ironic/tests/unit/api/base.py -> ironic-18.3.1.dev11/ironic/tests/unit/api DEBUG util.py:445: copying ironic/tests/unit/api/test_acl.py -> ironic-18.3.1.dev11/ironic/tests/unit/api DEBUG util.py:445: copying ironic/tests/unit/api/test_acl_basic.yaml -> ironic-18.3.1.dev11/ironic/tests/unit/api DEBUG util.py:445: copying ironic/tests/unit/api/test_audit.py -> ironic-18.3.1.dev11/ironic/tests/unit/api DEBUG util.py:445: copying ironic/tests/unit/api/test_functions.py -> ironic-18.3.1.dev11/ironic/tests/unit/api DEBUG util.py:445: copying ironic/tests/unit/api/test_healthcheck.py -> ironic-18.3.1.dev11/ironic/tests/unit/api DEBUG util.py:445: copying ironic/tests/unit/api/test_hooks.py -> ironic-18.3.1.dev11/ironic/tests/unit/api DEBUG util.py:445: copying ironic/tests/unit/api/test_method.py -> ironic-18.3.1.dev11/ironic/tests/unit/api DEBUG util.py:445: copying ironic/tests/unit/api/test_middleware.py -> ironic-18.3.1.dev11/ironic/tests/unit/api DEBUG util.py:445: copying ironic/tests/unit/api/test_ospmiddleware.py -> ironic-18.3.1.dev11/ironic/tests/unit/api DEBUG util.py:445: copying ironic/tests/unit/api/test_proxy_middleware.py -> ironic-18.3.1.dev11/ironic/tests/unit/api DEBUG util.py:445: copying ironic/tests/unit/api/test_rbac_legacy.yaml -> ironic-18.3.1.dev11/ironic/tests/unit/api DEBUG util.py:445: copying ironic/tests/unit/api/test_rbac_project_scoped.yaml -> ironic-18.3.1.dev11/ironic/tests/unit/api DEBUG util.py:445: copying ironic/tests/unit/api/test_rbac_system_scoped.yaml -> ironic-18.3.1.dev11/ironic/tests/unit/api DEBUG util.py:445: copying ironic/tests/unit/api/test_root.py -> ironic-18.3.1.dev11/ironic/tests/unit/api DEBUG util.py:445: copying ironic/tests/unit/api/utils.py -> ironic-18.3.1.dev11/ironic/tests/unit/api DEBUG util.py:445: copying ironic/tests/unit/api/controllers/__init__.py -> ironic-18.3.1.dev11/ironic/tests/unit/api/controllers DEBUG util.py:445: copying ironic/tests/unit/api/controllers/test_base.py -> ironic-18.3.1.dev11/ironic/tests/unit/api/controllers DEBUG util.py:445: copying ironic/tests/unit/api/controllers/v1/__init__.py -> ironic-18.3.1.dev11/ironic/tests/unit/api/controllers/v1 DEBUG util.py:445: copying ironic/tests/unit/api/controllers/v1/test_allocation.py -> ironic-18.3.1.dev11/ironic/tests/unit/api/controllers/v1 DEBUG util.py:445: copying ironic/tests/unit/api/controllers/v1/test_chassis.py -> ironic-18.3.1.dev11/ironic/tests/unit/api/controllers/v1 DEBUG util.py:445: copying ironic/tests/unit/api/controllers/v1/test_collection.py -> ironic-18.3.1.dev11/ironic/tests/unit/api/controllers/v1 DEBUG util.py:445: copying ironic/tests/unit/api/controllers/v1/test_conductor.py -> ironic-18.3.1.dev11/ironic/tests/unit/api/controllers/v1 DEBUG util.py:445: copying ironic/tests/unit/api/controllers/v1/test_deploy_template.py -> ironic-18.3.1.dev11/ironic/tests/unit/api/controllers/v1 DEBUG util.py:445: copying ironic/tests/unit/api/controllers/v1/test_driver.py -> ironic-18.3.1.dev11/ironic/tests/unit/api/controllers/v1 DEBUG util.py:445: copying ironic/tests/unit/api/controllers/v1/test_event.py -> ironic-18.3.1.dev11/ironic/tests/unit/api/controllers/v1 DEBUG util.py:445: copying ironic/tests/unit/api/controllers/v1/test_node.py -> ironic-18.3.1.dev11/ironic/tests/unit/api/controllers/v1 DEBUG util.py:445: copying ironic/tests/unit/api/controllers/v1/test_notification_utils.py -> ironic-18.3.1.dev11/ironic/tests/unit/api/controllers/v1 DEBUG util.py:445: copying ironic/tests/unit/api/controllers/v1/test_port.py -> ironic-18.3.1.dev11/ironic/tests/unit/api/controllers/v1 DEBUG util.py:445: copying ironic/tests/unit/api/controllers/v1/test_portgroup.py -> ironic-18.3.1.dev11/ironic/tests/unit/api/controllers/v1 DEBUG util.py:445: copying ironic/tests/unit/api/controllers/v1/test_ramdisk.py -> ironic-18.3.1.dev11/ironic/tests/unit/api/controllers/v1 DEBUG util.py:445: copying ironic/tests/unit/api/controllers/v1/test_root.py -> ironic-18.3.1.dev11/ironic/tests/unit/api/controllers/v1 DEBUG util.py:445: copying ironic/tests/unit/api/controllers/v1/test_utils.py -> ironic-18.3.1.dev11/ironic/tests/unit/api/controllers/v1 DEBUG util.py:445: copying ironic/tests/unit/api/controllers/v1/test_versions.py -> ironic-18.3.1.dev11/ironic/tests/unit/api/controllers/v1 DEBUG util.py:445: copying ironic/tests/unit/api/controllers/v1/test_volume.py -> ironic-18.3.1.dev11/ironic/tests/unit/api/controllers/v1 DEBUG util.py:445: copying ironic/tests/unit/api/controllers/v1/test_volume_connector.py -> ironic-18.3.1.dev11/ironic/tests/unit/api/controllers/v1 DEBUG util.py:445: copying ironic/tests/unit/api/controllers/v1/test_volume_target.py -> ironic-18.3.1.dev11/ironic/tests/unit/api/controllers/v1 DEBUG util.py:445: copying ironic/tests/unit/cmd/__init__.py -> ironic-18.3.1.dev11/ironic/tests/unit/cmd DEBUG util.py:445: copying ironic/tests/unit/cmd/test_conductor.py -> ironic-18.3.1.dev11/ironic/tests/unit/cmd DEBUG util.py:445: copying ironic/tests/unit/cmd/test_dbsync.py -> ironic-18.3.1.dev11/ironic/tests/unit/cmd DEBUG util.py:445: copying ironic/tests/unit/cmd/test_status.py -> ironic-18.3.1.dev11/ironic/tests/unit/cmd DEBUG util.py:445: copying ironic/tests/unit/common/__init__.py -> ironic-18.3.1.dev11/ironic/tests/unit/common DEBUG util.py:445: copying ironic/tests/unit/common/test_args.py -> ironic-18.3.1.dev11/ironic/tests/unit/common DEBUG util.py:445: copying ironic/tests/unit/common/test_cinder.py -> ironic-18.3.1.dev11/ironic/tests/unit/common DEBUG util.py:445: copying ironic/tests/unit/common/test_context.py -> ironic-18.3.1.dev11/ironic/tests/unit/common DEBUG util.py:445: copying ironic/tests/unit/common/test_driver_factory.py -> ironic-18.3.1.dev11/ironic/tests/unit/common DEBUG util.py:445: copying ironic/tests/unit/common/test_fsm.py -> ironic-18.3.1.dev11/ironic/tests/unit/common DEBUG util.py:445: copying ironic/tests/unit/common/test_glance_service.py -> ironic-18.3.1.dev11/ironic/tests/unit/common DEBUG util.py:445: copying ironic/tests/unit/common/test_hash_ring.py -> ironic-18.3.1.dev11/ironic/tests/unit/common DEBUG util.py:445: copying ironic/tests/unit/common/test_image_service.py -> ironic-18.3.1.dev11/ironic/tests/unit/common DEBUG util.py:445: copying ironic/tests/unit/common/test_images.py -> ironic-18.3.1.dev11/ironic/tests/unit/common DEBUG util.py:445: copying ironic/tests/unit/common/test_keystone.py -> ironic-18.3.1.dev11/ironic/tests/unit/common DEBUG util.py:445: copying ironic/tests/unit/common/test_kickstart_utils.py -> ironic-18.3.1.dev11/ironic/tests/unit/common DEBUG util.py:445: copying ironic/tests/unit/common/test_molds.py -> ironic-18.3.1.dev11/ironic/tests/unit/common DEBUG util.py:445: copying ironic/tests/unit/common/test_network.py -> ironic-18.3.1.dev11/ironic/tests/unit/common DEBUG util.py:445: copying ironic/tests/unit/common/test_neutron.py -> ironic-18.3.1.dev11/ironic/tests/unit/common DEBUG util.py:445: copying ironic/tests/unit/common/test_nova.py -> ironic-18.3.1.dev11/ironic/tests/unit/common DEBUG util.py:445: copying ironic/tests/unit/common/test_policy.py -> ironic-18.3.1.dev11/ironic/tests/unit/common DEBUG util.py:445: copying ironic/tests/unit/common/test_pxe_utils.py -> ironic-18.3.1.dev11/ironic/tests/unit/common DEBUG util.py:445: copying ironic/tests/unit/common/test_raid.py -> ironic-18.3.1.dev11/ironic/tests/unit/common DEBUG util.py:445: copying ironic/tests/unit/common/test_release_mappings.py -> ironic-18.3.1.dev11/ironic/tests/unit/common DEBUG util.py:445: copying ironic/tests/unit/common/test_rpc.py -> ironic-18.3.1.dev11/ironic/tests/unit/common DEBUG util.py:445: copying ironic/tests/unit/common/test_rpc_service.py -> ironic-18.3.1.dev11/ironic/tests/unit/common DEBUG util.py:445: copying ironic/tests/unit/common/test_states.py -> ironic-18.3.1.dev11/ironic/tests/unit/common DEBUG util.py:445: copying ironic/tests/unit/common/test_swift.py -> ironic-18.3.1.dev11/ironic/tests/unit/common DEBUG util.py:445: copying ironic/tests/unit/common/test_utils.py -> ironic-18.3.1.dev11/ironic/tests/unit/common DEBUG util.py:445: copying ironic/tests/unit/common/test_wsgi_service.py -> ironic-18.3.1.dev11/ironic/tests/unit/common DEBUG util.py:445: copying ironic/tests/unit/common/json_samples/neutron_network_show.json -> ironic-18.3.1.dev11/ironic/tests/unit/common/json_samples DEBUG util.py:445: copying ironic/tests/unit/common/json_samples/neutron_network_show_ipv6.json -> ironic-18.3.1.dev11/ironic/tests/unit/common/json_samples DEBUG util.py:445: copying ironic/tests/unit/common/json_samples/neutron_port_show.json -> ironic-18.3.1.dev11/ironic/tests/unit/common/json_samples DEBUG util.py:445: copying ironic/tests/unit/common/json_samples/neutron_port_show_ipv6.json -> ironic-18.3.1.dev11/ironic/tests/unit/common/json_samples DEBUG util.py:445: copying ironic/tests/unit/common/json_samples/neutron_subnet_show.json -> ironic-18.3.1.dev11/ironic/tests/unit/common/json_samples DEBUG util.py:445: copying ironic/tests/unit/common/json_samples/neutron_subnet_show_ipv6.json -> ironic-18.3.1.dev11/ironic/tests/unit/common/json_samples DEBUG util.py:445: copying ironic/tests/unit/conductor/__init__.py -> ironic-18.3.1.dev11/ironic/tests/unit/conductor DEBUG util.py:445: copying ironic/tests/unit/conductor/mgr_utils.py -> ironic-18.3.1.dev11/ironic/tests/unit/conductor DEBUG util.py:445: copying ironic/tests/unit/conductor/test_allocations.py -> ironic-18.3.1.dev11/ironic/tests/unit/conductor DEBUG util.py:445: copying ironic/tests/unit/conductor/test_base_manager.py -> ironic-18.3.1.dev11/ironic/tests/unit/conductor DEBUG util.py:445: copying ironic/tests/unit/conductor/test_cleaning.py -> ironic-18.3.1.dev11/ironic/tests/unit/conductor DEBUG util.py:445: copying ironic/tests/unit/conductor/test_deployments.py -> ironic-18.3.1.dev11/ironic/tests/unit/conductor DEBUG util.py:445: copying ironic/tests/unit/conductor/test_manager.py -> ironic-18.3.1.dev11/ironic/tests/unit/conductor DEBUG util.py:445: copying ironic/tests/unit/conductor/test_notification_utils.py -> ironic-18.3.1.dev11/ironic/tests/unit/conductor DEBUG util.py:445: copying ironic/tests/unit/conductor/test_rpcapi.py -> ironic-18.3.1.dev11/ironic/tests/unit/conductor DEBUG util.py:445: copying ironic/tests/unit/conductor/test_steps.py -> ironic-18.3.1.dev11/ironic/tests/unit/conductor DEBUG util.py:445: copying ironic/tests/unit/conductor/test_task_manager.py -> ironic-18.3.1.dev11/ironic/tests/unit/conductor DEBUG util.py:445: copying ironic/tests/unit/conductor/test_utils.py -> ironic-18.3.1.dev11/ironic/tests/unit/conductor DEBUG util.py:445: copying ironic/tests/unit/conductor/test_verify.py -> ironic-18.3.1.dev11/ironic/tests/unit/conductor DEBUG util.py:445: copying ironic/tests/unit/conf/__init__.py -> ironic-18.3.1.dev11/ironic/tests/unit/conf DEBUG util.py:445: copying ironic/tests/unit/conf/test_auth.py -> ironic-18.3.1.dev11/ironic/tests/unit/conf DEBUG util.py:445: copying ironic/tests/unit/db/__init__.py -> ironic-18.3.1.dev11/ironic/tests/unit/db DEBUG util.py:445: copying ironic/tests/unit/db/base.py -> ironic-18.3.1.dev11/ironic/tests/unit/db DEBUG util.py:445: copying ironic/tests/unit/db/test_allocations.py -> ironic-18.3.1.dev11/ironic/tests/unit/db DEBUG util.py:445: copying ironic/tests/unit/db/test_api.py -> ironic-18.3.1.dev11/ironic/tests/unit/db DEBUG util.py:445: copying ironic/tests/unit/db/test_bios_settings.py -> ironic-18.3.1.dev11/ironic/tests/unit/db DEBUG util.py:445: copying ironic/tests/unit/db/test_chassis.py -> ironic-18.3.1.dev11/ironic/tests/unit/db DEBUG util.py:445: copying ironic/tests/unit/db/test_conductor.py -> ironic-18.3.1.dev11/ironic/tests/unit/db DEBUG util.py:445: copying ironic/tests/unit/db/test_deploy_templates.py -> ironic-18.3.1.dev11/ironic/tests/unit/db DEBUG util.py:445: copying ironic/tests/unit/db/test_node_history.py -> ironic-18.3.1.dev11/ironic/tests/unit/db DEBUG util.py:445: copying ironic/tests/unit/db/test_node_tags.py -> ironic-18.3.1.dev11/ironic/tests/unit/db DEBUG util.py:445: copying ironic/tests/unit/db/test_node_traits.py -> ironic-18.3.1.dev11/ironic/tests/unit/db DEBUG util.py:445: copying ironic/tests/unit/db/test_nodes.py -> ironic-18.3.1.dev11/ironic/tests/unit/db DEBUG util.py:445: copying ironic/tests/unit/db/test_portgroups.py -> ironic-18.3.1.dev11/ironic/tests/unit/db DEBUG util.py:445: copying ironic/tests/unit/db/test_ports.py -> ironic-18.3.1.dev11/ironic/tests/unit/db DEBUG util.py:445: copying ironic/tests/unit/db/test_volume_connectors.py -> ironic-18.3.1.dev11/ironic/tests/unit/db DEBUG util.py:445: copying ironic/tests/unit/db/test_volume_targets.py -> ironic-18.3.1.dev11/ironic/tests/unit/db DEBUG util.py:445: copying ironic/tests/unit/db/utils.py -> ironic-18.3.1.dev11/ironic/tests/unit/db DEBUG util.py:445: copying ironic/tests/unit/db/sqlalchemy/__init__.py -> ironic-18.3.1.dev11/ironic/tests/unit/db/sqlalchemy DEBUG util.py:445: copying ironic/tests/unit/db/sqlalchemy/test_api.py -> ironic-18.3.1.dev11/ironic/tests/unit/db/sqlalchemy DEBUG util.py:445: copying ironic/tests/unit/db/sqlalchemy/test_migrations.py -> ironic-18.3.1.dev11/ironic/tests/unit/db/sqlalchemy DEBUG util.py:445: copying ironic/tests/unit/db/sqlalchemy/test_models.py -> ironic-18.3.1.dev11/ironic/tests/unit/db/sqlalchemy DEBUG util.py:445: copying ironic/tests/unit/db/sqlalchemy/test_types.py -> ironic-18.3.1.dev11/ironic/tests/unit/db/sqlalchemy DEBUG util.py:445: copying ironic/tests/unit/dhcp/__init__.py -> ironic-18.3.1.dev11/ironic/tests/unit/dhcp DEBUG util.py:445: copying ironic/tests/unit/dhcp/test_factory.py -> ironic-18.3.1.dev11/ironic/tests/unit/dhcp DEBUG util.py:445: copying ironic/tests/unit/dhcp/test_neutron.py -> ironic-18.3.1.dev11/ironic/tests/unit/dhcp DEBUG util.py:445: copying ironic/tests/unit/drivers/__init__.py -> ironic-18.3.1.dev11/ironic/tests/unit/drivers DEBUG util.py:445: copying ironic/tests/unit/drivers/boot.ipxe -> ironic-18.3.1.dev11/ironic/tests/unit/drivers DEBUG util.py:445: copying ironic/tests/unit/drivers/ipxe_config.template -> ironic-18.3.1.dev11/ironic/tests/unit/drivers DEBUG util.py:445: copying ironic/tests/unit/drivers/ipxe_config_boot_from_iso.template -> ironic-18.3.1.dev11/ironic/tests/unit/drivers DEBUG util.py:445: copying ironic/tests/unit/drivers/ipxe_config_boot_from_ramdisk.template -> ironic-18.3.1.dev11/ironic/tests/unit/drivers DEBUG util.py:445: copying ironic/tests/unit/drivers/ipxe_config_boot_from_volume_extra_volume.template -> ironic-18.3.1.dev11/ironic/tests/unit/drivers DEBUG util.py:445: copying ironic/tests/unit/drivers/ipxe_config_boot_from_volume_multipath.template -> ironic-18.3.1.dev11/ironic/tests/unit/drivers DEBUG util.py:445: copying ironic/tests/unit/drivers/ipxe_config_boot_from_volume_no_extra_volumes.template -> ironic-18.3.1.dev11/ironic/tests/unit/drivers DEBUG util.py:445: copying ironic/tests/unit/drivers/ipxe_config_timeout.template -> ironic-18.3.1.dev11/ironic/tests/unit/drivers DEBUG util.py:445: copying ironic/tests/unit/drivers/ks_extra_vars.tmpl -> ironic-18.3.1.dev11/ironic/tests/unit/drivers DEBUG util.py:445: copying ironic/tests/unit/drivers/ks_missing_var.tmpl -> ironic-18.3.1.dev11/ironic/tests/unit/drivers DEBUG util.py:445: copying ironic/tests/unit/drivers/pxe_config.template -> ironic-18.3.1.dev11/ironic/tests/unit/drivers DEBUG util.py:445: copying ironic/tests/unit/drivers/pxe_grub_config.template -> ironic-18.3.1.dev11/ironic/tests/unit/drivers DEBUG util.py:445: copying ironic/tests/unit/drivers/test_base.py -> ironic-18.3.1.dev11/ironic/tests/unit/drivers DEBUG util.py:445: copying ironic/tests/unit/drivers/test_drac.py -> ironic-18.3.1.dev11/ironic/tests/unit/drivers DEBUG util.py:445: copying ironic/tests/unit/drivers/test_fake_hardware.py -> ironic-18.3.1.dev11/ironic/tests/unit/drivers DEBUG util.py:445: copying ironic/tests/unit/drivers/test_generic.py -> ironic-18.3.1.dev11/ironic/tests/unit/drivers DEBUG util.py:445: copying ironic/tests/unit/drivers/test_ibmc.py -> ironic-18.3.1.dev11/ironic/tests/unit/drivers DEBUG util.py:445: copying ironic/tests/unit/drivers/test_ilo.py -> ironic-18.3.1.dev11/ironic/tests/unit/drivers DEBUG util.py:445: copying ironic/tests/unit/drivers/test_ipmi.py -> ironic-18.3.1.dev11/ironic/tests/unit/drivers DEBUG util.py:445: copying ironic/tests/unit/drivers/test_irmc.py -> ironic-18.3.1.dev11/ironic/tests/unit/drivers DEBUG util.py:445: copying ironic/tests/unit/drivers/test_redfish.py -> ironic-18.3.1.dev11/ironic/tests/unit/drivers DEBUG util.py:445: copying ironic/tests/unit/drivers/test_snmp.py -> ironic-18.3.1.dev11/ironic/tests/unit/drivers DEBUG util.py:445: copying ironic/tests/unit/drivers/test_utils.py -> ironic-18.3.1.dev11/ironic/tests/unit/drivers DEBUG util.py:445: copying ironic/tests/unit/drivers/test_xclarity.py -> ironic-18.3.1.dev11/ironic/tests/unit/drivers DEBUG util.py:445: copying ironic/tests/unit/drivers/third_party_driver_mock_specs.py -> ironic-18.3.1.dev11/ironic/tests/unit/drivers DEBUG util.py:445: copying ironic/tests/unit/drivers/third_party_driver_mocks.py -> ironic-18.3.1.dev11/ironic/tests/unit/drivers DEBUG util.py:445: copying ironic/tests/unit/drivers/modules/__init__.py -> ironic-18.3.1.dev11/ironic/tests/unit/drivers/modules DEBUG util.py:445: copying ironic/tests/unit/drivers/modules/test_agent.py -> ironic-18.3.1.dev11/ironic/tests/unit/drivers/modules DEBUG util.py:445: copying ironic/tests/unit/drivers/modules/test_agent_base.py -> ironic-18.3.1.dev11/ironic/tests/unit/drivers/modules DEBUG util.py:445: copying ironic/tests/unit/drivers/modules/test_agent_client.py -> ironic-18.3.1.dev11/ironic/tests/unit/drivers/modules DEBUG util.py:445: copying ironic/tests/unit/drivers/modules/test_agent_power.py -> ironic-18.3.1.dev11/ironic/tests/unit/drivers/modules DEBUG util.py:445: copying ironic/tests/unit/drivers/modules/test_boot_mode_utils.py -> ironic-18.3.1.dev11/ironic/tests/unit/drivers/modules DEBUG util.py:445: copying ironic/tests/unit/drivers/modules/test_console_utils.py -> ironic-18.3.1.dev11/ironic/tests/unit/drivers/modules DEBUG util.py:445: copying ironic/tests/unit/drivers/modules/test_deploy_utils.py -> ironic-18.3.1.dev11/ironic/tests/unit/drivers/modules DEBUG util.py:445: copying ironic/tests/unit/drivers/modules/test_image_cache.py -> ironic-18.3.1.dev11/ironic/tests/unit/drivers/modules DEBUG util.py:445: copying ironic/tests/unit/drivers/modules/test_image_utils.py -> ironic-18.3.1.dev11/ironic/tests/unit/drivers/modules DEBUG util.py:445: copying ironic/tests/unit/drivers/modules/test_inspect_utils.py -> ironic-18.3.1.dev11/ironic/tests/unit/drivers/modules DEBUG util.py:445: copying ironic/tests/unit/drivers/modules/test_inspector.py -> ironic-18.3.1.dev11/ironic/tests/unit/drivers/modules DEBUG util.py:445: copying ironic/tests/unit/drivers/modules/test_ipmitool.py -> ironic-18.3.1.dev11/ironic/tests/unit/drivers/modules DEBUG util.py:445: copying ironic/tests/unit/drivers/modules/test_ipxe.py -> ironic-18.3.1.dev11/ironic/tests/unit/drivers/modules DEBUG util.py:445: copying ironic/tests/unit/drivers/modules/test_noop.py -> ironic-18.3.1.dev11/ironic/tests/unit/drivers/modules DEBUG util.py:445: copying ironic/tests/unit/drivers/modules/test_noop_mgmt.py -> ironic-18.3.1.dev11/ironic/tests/unit/drivers/modules DEBUG util.py:445: copying ironic/tests/unit/drivers/modules/test_pxe.py -> ironic-18.3.1.dev11/ironic/tests/unit/drivers/modules DEBUG util.py:445: copying ironic/tests/unit/drivers/modules/test_ramdisk.py -> ironic-18.3.1.dev11/ironic/tests/unit/drivers/modules DEBUG util.py:445: copying ironic/tests/unit/drivers/modules/test_snmp.py -> ironic-18.3.1.dev11/ironic/tests/unit/drivers/modules DEBUG util.py:445: copying ironic/tests/unit/drivers/modules/ansible/__init__.py -> ironic-18.3.1.dev11/ironic/tests/unit/drivers/modules/ansible DEBUG util.py:445: copying ironic/tests/unit/drivers/modules/ansible/test_deploy.py -> ironic-18.3.1.dev11/ironic/tests/unit/drivers/modules/ansible DEBUG util.py:445: copying ironic/tests/unit/drivers/modules/drac/__init__.py -> ironic-18.3.1.dev11/ironic/tests/unit/drivers/modules/drac DEBUG util.py:445: copying ironic/tests/unit/drivers/modules/drac/test_bios.py -> ironic-18.3.1.dev11/ironic/tests/unit/drivers/modules/drac DEBUG util.py:445: copying ironic/tests/unit/drivers/modules/drac/test_boot.py -> ironic-18.3.1.dev11/ironic/tests/unit/drivers/modules/drac DEBUG util.py:445: copying ironic/tests/unit/drivers/modules/drac/test_common.py -> ironic-18.3.1.dev11/ironic/tests/unit/drivers/modules/drac DEBUG util.py:445: copying ironic/tests/unit/drivers/modules/drac/test_inspect.py -> ironic-18.3.1.dev11/ironic/tests/unit/drivers/modules/drac DEBUG util.py:445: copying ironic/tests/unit/drivers/modules/drac/test_job.py -> ironic-18.3.1.dev11/ironic/tests/unit/drivers/modules/drac DEBUG util.py:445: copying ironic/tests/unit/drivers/modules/drac/test_management.py -> ironic-18.3.1.dev11/ironic/tests/unit/drivers/modules/drac DEBUG util.py:445: copying ironic/tests/unit/drivers/modules/drac/test_periodic_task.py -> ironic-18.3.1.dev11/ironic/tests/unit/drivers/modules/drac DEBUG util.py:445: copying ironic/tests/unit/drivers/modules/drac/test_power.py -> ironic-18.3.1.dev11/ironic/tests/unit/drivers/modules/drac DEBUG util.py:445: copying ironic/tests/unit/drivers/modules/drac/test_raid.py -> ironic-18.3.1.dev11/ironic/tests/unit/drivers/modules/drac DEBUG util.py:445: copying ironic/tests/unit/drivers/modules/drac/test_utils.py -> ironic-18.3.1.dev11/ironic/tests/unit/drivers/modules/drac DEBUG util.py:445: copying ironic/tests/unit/drivers/modules/drac/utils.py -> ironic-18.3.1.dev11/ironic/tests/unit/drivers/modules/drac DEBUG util.py:445: copying ironic/tests/unit/drivers/modules/ibmc/__init__.py -> ironic-18.3.1.dev11/ironic/tests/unit/drivers/modules/ibmc DEBUG util.py:445: copying ironic/tests/unit/drivers/modules/ibmc/base.py -> ironic-18.3.1.dev11/ironic/tests/unit/drivers/modules/ibmc DEBUG util.py:445: copying ironic/tests/unit/drivers/modules/ibmc/test_management.py -> ironic-18.3.1.dev11/ironic/tests/unit/drivers/modules/ibmc DEBUG util.py:445: copying ironic/tests/unit/drivers/modules/ibmc/test_power.py -> ironic-18.3.1.dev11/ironic/tests/unit/drivers/modules/ibmc DEBUG util.py:445: copying ironic/tests/unit/drivers/modules/ibmc/test_raid.py -> ironic-18.3.1.dev11/ironic/tests/unit/drivers/modules/ibmc DEBUG util.py:445: copying ironic/tests/unit/drivers/modules/ibmc/test_utils.py -> ironic-18.3.1.dev11/ironic/tests/unit/drivers/modules/ibmc DEBUG util.py:445: copying ironic/tests/unit/drivers/modules/ibmc/test_vendor.py -> ironic-18.3.1.dev11/ironic/tests/unit/drivers/modules/ibmc DEBUG util.py:445: copying ironic/tests/unit/drivers/modules/ilo/__init__.py -> ironic-18.3.1.dev11/ironic/tests/unit/drivers/modules/ilo DEBUG util.py:445: copying ironic/tests/unit/drivers/modules/ilo/test_bios.py -> ironic-18.3.1.dev11/ironic/tests/unit/drivers/modules/ilo DEBUG util.py:445: copying ironic/tests/unit/drivers/modules/ilo/test_boot.py -> ironic-18.3.1.dev11/ironic/tests/unit/drivers/modules/ilo DEBUG util.py:445: copying ironic/tests/unit/drivers/modules/ilo/test_common.py -> ironic-18.3.1.dev11/ironic/tests/unit/drivers/modules/ilo DEBUG util.py:445: copying ironic/tests/unit/drivers/modules/ilo/test_console.py -> ironic-18.3.1.dev11/ironic/tests/unit/drivers/modules/ilo DEBUG util.py:445: copying ironic/tests/unit/drivers/modules/ilo/test_firmware_processor.py -> ironic-18.3.1.dev11/ironic/tests/unit/drivers/modules/ilo DEBUG util.py:445: copying ironic/tests/unit/drivers/modules/ilo/test_inspect.py -> ironic-18.3.1.dev11/ironic/tests/unit/drivers/modules/ilo DEBUG util.py:445: copying ironic/tests/unit/drivers/modules/ilo/test_management.py -> ironic-18.3.1.dev11/ironic/tests/unit/drivers/modules/ilo DEBUG util.py:445: copying ironic/tests/unit/drivers/modules/ilo/test_power.py -> ironic-18.3.1.dev11/ironic/tests/unit/drivers/modules/ilo DEBUG util.py:445: copying ironic/tests/unit/drivers/modules/ilo/test_raid.py -> ironic-18.3.1.dev11/ironic/tests/unit/drivers/modules/ilo DEBUG util.py:445: copying ironic/tests/unit/drivers/modules/ilo/test_vendor.py -> ironic-18.3.1.dev11/ironic/tests/unit/drivers/modules/ilo DEBUG util.py:445: copying ironic/tests/unit/drivers/modules/intel_ipmi/__init__.py -> ironic-18.3.1.dev11/ironic/tests/unit/drivers/modules/intel_ipmi DEBUG util.py:445: copying ironic/tests/unit/drivers/modules/intel_ipmi/base.py -> ironic-18.3.1.dev11/ironic/tests/unit/drivers/modules/intel_ipmi DEBUG util.py:445: copying ironic/tests/unit/drivers/modules/intel_ipmi/test_intel_ipmi.py -> ironic-18.3.1.dev11/ironic/tests/unit/drivers/modules/intel_ipmi DEBUG util.py:445: copying ironic/tests/unit/drivers/modules/intel_ipmi/test_management.py -> ironic-18.3.1.dev11/ironic/tests/unit/drivers/modules/intel_ipmi DEBUG util.py:445: copying ironic/tests/unit/drivers/modules/irmc/__init__.py -> ironic-18.3.1.dev11/ironic/tests/unit/drivers/modules/irmc DEBUG util.py:445: copying ironic/tests/unit/drivers/modules/irmc/fake_sensors_data_ng.xml -> ironic-18.3.1.dev11/ironic/tests/unit/drivers/modules/irmc DEBUG util.py:445: copying ironic/tests/unit/drivers/modules/irmc/fake_sensors_data_ok.xml -> ironic-18.3.1.dev11/ironic/tests/unit/drivers/modules/irmc DEBUG util.py:445: copying ironic/tests/unit/drivers/modules/irmc/test_bios.py -> ironic-18.3.1.dev11/ironic/tests/unit/drivers/modules/irmc DEBUG util.py:445: copying ironic/tests/unit/drivers/modules/irmc/test_boot.py -> ironic-18.3.1.dev11/ironic/tests/unit/drivers/modules/irmc DEBUG util.py:445: copying ironic/tests/unit/drivers/modules/irmc/test_common.py -> ironic-18.3.1.dev11/ironic/tests/unit/drivers/modules/irmc DEBUG util.py:445: copying ironic/tests/unit/drivers/modules/irmc/test_inspect.py -> ironic-18.3.1.dev11/ironic/tests/unit/drivers/modules/irmc DEBUG util.py:445: copying ironic/tests/unit/drivers/modules/irmc/test_management.py -> ironic-18.3.1.dev11/ironic/tests/unit/drivers/modules/irmc DEBUG util.py:445: copying ironic/tests/unit/drivers/modules/irmc/test_periodic_task.py -> ironic-18.3.1.dev11/ironic/tests/unit/drivers/modules/irmc DEBUG util.py:445: copying ironic/tests/unit/drivers/modules/irmc/test_power.py -> ironic-18.3.1.dev11/ironic/tests/unit/drivers/modules/irmc DEBUG util.py:445: copying ironic/tests/unit/drivers/modules/irmc/test_raid.py -> ironic-18.3.1.dev11/ironic/tests/unit/drivers/modules/irmc DEBUG util.py:445: copying ironic/tests/unit/drivers/modules/network/__init__.py -> ironic-18.3.1.dev11/ironic/tests/unit/drivers/modules/network DEBUG util.py:445: copying ironic/tests/unit/drivers/modules/network/test_common.py -> ironic-18.3.1.dev11/ironic/tests/unit/drivers/modules/network DEBUG util.py:445: copying ironic/tests/unit/drivers/modules/network/test_flat.py -> ironic-18.3.1.dev11/ironic/tests/unit/drivers/modules/network DEBUG util.py:445: copying ironic/tests/unit/drivers/modules/network/test_neutron.py -> ironic-18.3.1.dev11/ironic/tests/unit/drivers/modules/network DEBUG util.py:445: copying ironic/tests/unit/drivers/modules/network/test_noop.py -> ironic-18.3.1.dev11/ironic/tests/unit/drivers/modules/network DEBUG util.py:445: copying ironic/tests/unit/drivers/modules/network/json_samples/network_data.json -> ironic-18.3.1.dev11/ironic/tests/unit/drivers/modules/network/json_samples DEBUG util.py:445: copying ironic/tests/unit/drivers/modules/redfish/__init__.py -> ironic-18.3.1.dev11/ironic/tests/unit/drivers/modules/redfish DEBUG util.py:445: copying ironic/tests/unit/drivers/modules/redfish/test_bios.py -> ironic-18.3.1.dev11/ironic/tests/unit/drivers/modules/redfish DEBUG util.py:445: copying ironic/tests/unit/drivers/modules/redfish/test_boot.py -> ironic-18.3.1.dev11/ironic/tests/unit/drivers/modules/redfish DEBUG util.py:445: copying ironic/tests/unit/drivers/modules/redfish/test_firmware_utils.py -> ironic-18.3.1.dev11/ironic/tests/unit/drivers/modules/redfish DEBUG util.py:445: copying ironic/tests/unit/drivers/modules/redfish/test_inspect.py -> ironic-18.3.1.dev11/ironic/tests/unit/drivers/modules/redfish DEBUG util.py:445: copying ironic/tests/unit/drivers/modules/redfish/test_management.py -> ironic-18.3.1.dev11/ironic/tests/unit/drivers/modules/redfish DEBUG util.py:445: copying ironic/tests/unit/drivers/modules/redfish/test_power.py -> ironic-18.3.1.dev11/ironic/tests/unit/drivers/modules/redfish DEBUG util.py:445: copying ironic/tests/unit/drivers/modules/redfish/test_raid.py -> ironic-18.3.1.dev11/ironic/tests/unit/drivers/modules/redfish DEBUG util.py:445: copying ironic/tests/unit/drivers/modules/redfish/test_utils.py -> ironic-18.3.1.dev11/ironic/tests/unit/drivers/modules/redfish DEBUG util.py:445: copying ironic/tests/unit/drivers/modules/redfish/test_vendor.py -> ironic-18.3.1.dev11/ironic/tests/unit/drivers/modules/redfish DEBUG util.py:445: copying ironic/tests/unit/drivers/modules/storage/__init__.py -> ironic-18.3.1.dev11/ironic/tests/unit/drivers/modules/storage DEBUG util.py:445: copying ironic/tests/unit/drivers/modules/storage/test_cinder.py -> ironic-18.3.1.dev11/ironic/tests/unit/drivers/modules/storage DEBUG util.py:445: copying ironic/tests/unit/drivers/modules/storage/test_external.py -> ironic-18.3.1.dev11/ironic/tests/unit/drivers/modules/storage DEBUG util.py:445: copying ironic/tests/unit/drivers/modules/xclarity/__init__.py -> ironic-18.3.1.dev11/ironic/tests/unit/drivers/modules/xclarity DEBUG util.py:445: copying ironic/tests/unit/drivers/modules/xclarity/test_common.py -> ironic-18.3.1.dev11/ironic/tests/unit/drivers/modules/xclarity DEBUG util.py:445: copying ironic/tests/unit/drivers/modules/xclarity/test_management.py -> ironic-18.3.1.dev11/ironic/tests/unit/drivers/modules/xclarity DEBUG util.py:445: copying ironic/tests/unit/drivers/modules/xclarity/test_power.py -> ironic-18.3.1.dev11/ironic/tests/unit/drivers/modules/xclarity DEBUG util.py:445: copying ironic/tests/unit/objects/__init__.py -> ironic-18.3.1.dev11/ironic/tests/unit/objects DEBUG util.py:445: copying ironic/tests/unit/objects/test_allocation.py -> ironic-18.3.1.dev11/ironic/tests/unit/objects DEBUG util.py:445: copying ironic/tests/unit/objects/test_bios.py -> ironic-18.3.1.dev11/ironic/tests/unit/objects DEBUG util.py:445: copying ironic/tests/unit/objects/test_chassis.py -> ironic-18.3.1.dev11/ironic/tests/unit/objects DEBUG util.py:445: copying ironic/tests/unit/objects/test_conductor.py -> ironic-18.3.1.dev11/ironic/tests/unit/objects DEBUG util.py:445: copying ironic/tests/unit/objects/test_deploy_template.py -> ironic-18.3.1.dev11/ironic/tests/unit/objects DEBUG util.py:445: copying ironic/tests/unit/objects/test_deployment.py -> ironic-18.3.1.dev11/ironic/tests/unit/objects DEBUG util.py:445: copying ironic/tests/unit/objects/test_fields.py -> ironic-18.3.1.dev11/ironic/tests/unit/objects DEBUG util.py:445: copying ironic/tests/unit/objects/test_node.py -> ironic-18.3.1.dev11/ironic/tests/unit/objects DEBUG util.py:445: copying ironic/tests/unit/objects/test_node_history.py -> ironic-18.3.1.dev11/ironic/tests/unit/objects DEBUG util.py:445: copying ironic/tests/unit/objects/test_notification.py -> ironic-18.3.1.dev11/ironic/tests/unit/objects DEBUG util.py:445: copying ironic/tests/unit/objects/test_objects.py -> ironic-18.3.1.dev11/ironic/tests/unit/objects DEBUG util.py:445: copying ironic/tests/unit/objects/test_port.py -> ironic-18.3.1.dev11/ironic/tests/unit/objects DEBUG util.py:445: copying ironic/tests/unit/objects/test_portgroup.py -> ironic-18.3.1.dev11/ironic/tests/unit/objects DEBUG util.py:445: copying ironic/tests/unit/objects/test_trait.py -> ironic-18.3.1.dev11/ironic/tests/unit/objects DEBUG util.py:445: copying ironic/tests/unit/objects/test_volume_connector.py -> ironic-18.3.1.dev11/ironic/tests/unit/objects DEBUG util.py:445: copying ironic/tests/unit/objects/test_volume_target.py -> ironic-18.3.1.dev11/ironic/tests/unit/objects DEBUG util.py:445: copying ironic/tests/unit/objects/utils.py -> ironic-18.3.1.dev11/ironic/tests/unit/objects DEBUG util.py:445: copying playbooks/ci-workarounds/etc-neutron.yaml -> ironic-18.3.1.dev11/playbooks/ci-workarounds DEBUG util.py:445: copying playbooks/ci-workarounds/get_extra_logging.yaml -> ironic-18.3.1.dev11/playbooks/ci-workarounds DEBUG util.py:445: copying playbooks/ci-workarounds/pre.yaml -> ironic-18.3.1.dev11/playbooks/ci-workarounds DEBUG util.py:445: copying releasenotes/config.yaml -> ironic-18.3.1.dev11/releasenotes DEBUG util.py:445: copying releasenotes/notes/.placeholder -> ironic-18.3.1.dev11/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/18.2-prelude-3c8609692bab70a3.yaml -> ironic-18.3.1.dev11/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/5.0-release-afb1fbbe595b6bc8.yaml -> ironic-18.3.1.dev11/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/Add-port-option-support-to-ipmitool-e125d07fe13c53e7.yaml -> ironic-18.3.1.dev11/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/ValueDisplayName-13837c653277ff08.yaml -> ironic-18.3.1.dev11/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/active-node-creation-a41c9869c966c82b.yaml -> ironic-18.3.1.dev11/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/add-agent-api-error-77ec6c272390c488.yaml -> ironic-18.3.1.dev11/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/add-agent-erase-fallback-b07613a7042fe236.yaml -> ironic-18.3.1.dev11/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/add-agent-iboot-0a4b5471c6ace461.yaml -> ironic-18.3.1.dev11/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/add-agent-proxy-support-790e629634ca2eb7.yaml -> ironic-18.3.1.dev11/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/add-ansible-python-interpreter-2035e0f23d407aaf.yaml -> ironic-18.3.1.dev11/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/add-boot-from-volume-support-9f64208f083d0691.yaml -> ironic-18.3.1.dev11/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/add-boot-mode-redfish-inspect-48e2b27ef022932a.yaml -> ironic-18.3.1.dev11/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/add-chassis_uuid-removal-possibility-8b06341a91f7c676.yaml -> ironic-18.3.1.dev11/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/add-choice-to-some-options-9fb327c48e6bfda1.yaml -> ironic-18.3.1.dev11/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/add-cisco-ucs-hardware-types-ee597ff0416f158f.yaml -> ironic-18.3.1.dev11/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/add-clean-steps-priority-88d7de5973500a7d.yaml -> ironic-18.3.1.dev11/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/add-config-mold-steps-idrac-1773d81953209964.yaml -> ironic-18.3.1.dev11/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/add-configurable-ipmi-retriables-b6056f722f6ed3b0.yaml -> ironic-18.3.1.dev11/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/add-db-deadlock-handling-6bc10076537f3727.yaml -> ironic-18.3.1.dev11/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/add-deploy-steps-arg-9d8c58559c14288c.yaml -> ironic-18.3.1.dev11/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/add-deploy-steps-drac-raid-interface-7023c03a96996265.yaml -> ironic-18.3.1.dev11/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/add-deploy-steps-ilo-bios-interface-c73152269701ef80.yaml -> ironic-18.3.1.dev11/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/add-deploy-steps-ilo-management-interface-9d0f45954eda643a.yaml -> ironic-18.3.1.dev11/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/add-deploy-steps-ilo-raid-interface-732314cea19fe8ac.yaml -> ironic-18.3.1.dev11/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/add-deploy-steps-redfish-bios-interface-f5e5415108f87598.yaml -> ironic-18.3.1.dev11/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/add-driver-api-fields-selector-36f12259f01b0f7a.yaml -> ironic-18.3.1.dev11/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/add-dual-stack-dhcp-opts-6dc18ae10aeb599a.yaml -> ironic-18.3.1.dev11/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/add-dynamic-allocation-feature-2fd6b4df7943f178.yaml -> ironic-18.3.1.dev11/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/add-error-check-ipmitool-reboot-ca7823202c5ab71d.yaml -> ironic-18.3.1.dev11/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/add-gmr-3c9278d5d785895f.yaml -> ironic-18.3.1.dev11/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/add-healthcheck-middleware-86120fa07a7c8151.yaml -> ironic-18.3.1.dev11/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/add-ibmc-raid-interface-0c13826e134fb4ce.yaml -> ironic-18.3.1.dev11/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/add-id-and-uuid-filtering-to-sqalchemy-api.yaml -> ironic-18.3.1.dev11/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/add-ilo-inband-deploy-step-update-firmware-using-sum-cfee84a19120dd3c.yaml -> ironic-18.3.1.dev11/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/add-ilo-uefi-https-boot-interface-f3b163a8a6243283.yaml -> ironic-18.3.1.dev11/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/add-indicator-api-8c816b3828e6b43b.yaml -> ironic-18.3.1.dev11/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/add-inspect-wait-state-948f83dfe342897b.yaml -> ironic-18.3.1.dev11/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/add-inspection-abort-a187e6e5c1f6311d.yaml -> ironic-18.3.1.dev11/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/add-ipv6-pxe-support-8fb51c355cc977c4.yaml -> ironic-18.3.1.dev11/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/add-ipxe-boot-iso-support-6ae2f5cc2250be3e.yaml -> ironic-18.3.1.dev11/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/add-iscsi-portal-port-option-bde3b386f44f2a90.yaml -> ironic-18.3.1.dev11/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/add-iso-less-vmedia-ilo-5816922c03d0fd85.yaml -> ironic-18.3.1.dev11/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/add-iso-suffix-557a4fc4382fd7f3.yaml -> ironic-18.3.1.dev11/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/add-kernel-param-config-ilo-9b2cee8b0447f82e.yaml -> ironic-18.3.1.dev11/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/add-kernel-params-redfish-72b87075465c87f6.yaml -> ironic-18.3.1.dev11/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/add-more-retryable-ipmitool-errors-1c9351a89ff0ec1a.yaml -> ironic-18.3.1.dev11/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/add-neutron-request-timeout-1f7372af81f14ddd.yaml -> ironic-18.3.1.dev11/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/add-node-bios-9c1c3d442e8acdac.yaml -> ironic-18.3.1.dev11/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/add-node-boot-mode-control-9761d4bcbd8c3a0d.yaml -> ironic-18.3.1.dev11/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/add-node-description-790097704f45af91.yaml -> ironic-18.3.1.dev11/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/add-node-event-history-99c6166607a90f3c.yaml -> ironic-18.3.1.dev11/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/add-node-resource-class-c31e26df4196293e.yaml -> ironic-18.3.1.dev11/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/add-notifications-97b6c79c18b48073.yaml -> ironic-18.3.1.dev11/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/add-oneview-driver-96088bf470b16c34.yaml -> ironic-18.3.1.dev11/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/add-option-persistent-boot-device-139cf280fb66f4f7.yaml -> ironic-18.3.1.dev11/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/add-owner-information-52e153faf570747e.yaml -> ironic-18.3.1.dev11/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/add-parallel-power-syncs-b099d66e80aab616.yaml -> ironic-18.3.1.dev11/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/add-port-advanced-net-fields-55465091f019d962.yaml -> ironic-18.3.1.dev11/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/add-port-internal-info-b7e02889416570f7.yaml -> ironic-18.3.1.dev11/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/add-port-is-smartnic-4ce6974c8fe2732d.yaml -> ironic-18.3.1.dev11/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/add-prep-partition-support-d808849795906e64.yaml -> ironic-18.3.1.dev11/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/add-protection-for-available-nodes-25f163d69782ef63.yaml -> ironic-18.3.1.dev11/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/add-pxe-nic-support-in-redfish-5359897135df1348.yaml -> ironic-18.3.1.dev11/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/add-pxe-per-node-526fd79df17efda8.yaml -> ironic-18.3.1.dev11/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/add-pxe-support-for-petitboot-50d1fe4e7da4bfba.yaml -> ironic-18.3.1.dev11/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/add-realtime-support-d814d5917836e9e2.yaml -> ironic-18.3.1.dev11/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/add-redfish-auth-type-5fe78071b528e53b.yaml -> ironic-18.3.1.dev11/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/add-redfish-boot-interface-e7e05bdd2c894d80.yaml -> ironic-18.3.1.dev11/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/add-redfish-boot-mode-support-2f1a2568e71c65d0.yaml -> ironic-18.3.1.dev11/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/add-redfish-boot_iso-pass-through-8a6f4d0c98ada1d5.yaml -> ironic-18.3.1.dev11/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/add-redfish-inspect-interface-1577e70167f24ae4.yaml -> ironic-18.3.1.dev11/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/add-redfish-sensors-4e2f7e3f8a7c6d5b.yaml -> ironic-18.3.1.dev11/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/add-secure-boot-suport-irmc-2c1f09271f96424d.yaml -> ironic-18.3.1.dev11/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/add-secure-boot-suport-irmc-9509f3735df2aa5d.yaml -> ironic-18.3.1.dev11/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/add-snmp-inspection-support-e68fd6d57cb33846.yaml -> ironic-18.3.1.dev11/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/add-snmp-pdu-driver-type-baytech-mrp27-5007d1d7e0a52162.yaml -> ironic-18.3.1.dev11/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/add-snmp-pdu-driver-type-discovery-1f280b7f06fd1ca5.yaml -> ironic-18.3.1.dev11/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/add-snmp-read-write-community-names-7589a8d1899c142c.yaml -> ironic-18.3.1.dev11/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/add-snmpv3-security-features-bbefb8b844813a53.yaml -> ironic-18.3.1.dev11/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/add-socat-console-ipmitool-ab4402ec976c5c96.yaml -> ironic-18.3.1.dev11/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/add-ssl-support-4547801eedba5942.yaml -> ironic-18.3.1.dev11/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/add-storage-interface-d4e64224804207fc.yaml -> ironic-18.3.1.dev11/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/add-support-for-no-poweroff-on-failure-86e43b3e39043990.yaml -> ironic-18.3.1.dev11/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/add-support-for-smart-nic-0fc5b10ba6772f7f.yaml -> ironic-18.3.1.dev11/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/add-support-to-manage_certs-b6615e15f697bc26.yaml -> ironic-18.3.1.dev11/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/add-target-raid-config-ansible-deploy-c9ae81d9d25c62fe.yaml -> ironic-18.3.1.dev11/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/add-timeout-parameter-to-power-methods-5f632c936497685e.yaml -> ironic-18.3.1.dev11/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/add-tooz-dep-85c56c74733a222d.yaml -> ironic-18.3.1.dev11/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/add-validate-rescue-2202e8ce9a174ece.yaml -> ironic-18.3.1.dev11/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/add-validate-rescue-to-boot-interface-bd74aff9e250334b.yaml -> ironic-18.3.1.dev11/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/add-vif-attach-detach-support-99eca43eea6e5a30.yaml -> ironic-18.3.1.dev11/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/add_automated_clean_field-b3e7d56f4aeaf512.yaml -> ironic-18.3.1.dev11/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/add_clean_step_clear_job_queue-7b774d8d0e36d1b2.yaml -> ironic-18.3.1.dev11/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/add_clean_step_reset_idrac_and_known_good_state-cdbebf97d7b87fe7.yaml -> ironic-18.3.1.dev11/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/add_conversion_flags_iscsi-d7f846803a647573.yaml -> ironic-18.3.1.dev11/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/add_cpu_fpga_trait_for_irmc_inspection-2b63941b064f7936.yaml -> ironic-18.3.1.dev11/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/add_detail_true_api_query-cb6944847830cd1a.yaml -> ironic-18.3.1.dev11/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/add_infiniband_support-f497767f77277a1a.yaml -> ironic-18.3.1.dev11/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/add_portgroup_support-7d5c6663bb00684a.yaml -> ironic-18.3.1.dev11/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/add_retirement_support-23c5fed7ce8f97d4.yaml -> ironic-18.3.1.dev11/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/add_security_capabilities_to_ilo-1ff11b01e5930cc7.yaml -> ironic-18.3.1.dev11/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/add_standalone_ports_supported_field-4c59702a052acf38.yaml -> ironic-18.3.1.dev11/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/added-redfish-driver-00ff5e3f7e9d6ee8.yaml -> ironic-18.3.1.dev11/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/adding-audit-middleware-b95f2a00baed9750.yaml -> ironic-18.3.1.dev11/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/adding-security-param-clean-step-00d5548072a397f2.yaml -> ironic-18.3.1.dev11/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/adds-external-storage-interface-9b7c0a0a2afd3176.yaml -> ironic-18.3.1.dev11/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/adds-ilo-ipxe-boot-interface-4fc75292122db80d.yaml -> ironic-18.3.1.dev11/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/adds-nvme-erase-switch-fa91e867e45ede3c.yaml -> ironic-18.3.1.dev11/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/adds-ramdisk-deploy-interface-39fc61bc77b57beb.yaml -> ironic-18.3.1.dev11/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/adds-ramdisk-deploy-interface-support-to-ilo-vmedia-1a7228a834465633.yaml -> ironic-18.3.1.dev11/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/adds-secure-erase-switch-23f449c86b3648a4.yaml -> ironic-18.3.1.dev11/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/adopt-ironic-context-5e75540dc2b2f009.yaml -> ironic-18.3.1.dev11/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/adopt-oslo-config-generator-15afd2e7c2f008b4.yaml -> ironic-18.3.1.dev11/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/adopt-validation-7249ceb57016f0e4.yaml -> ironic-18.3.1.dev11/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/adoption-feature-update-d2160954a2c36b0a.yaml -> ironic-18.3.1.dev11/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/agent-api-bf9f18d8d38075e4.yaml -> ironic-18.3.1.dev11/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/agent-can-request-reboot-6238e13e2e898f68.yaml -> ironic-18.3.1.dev11/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/agent-client-poll-ce16fd589e88c95a.yaml -> ironic-18.3.1.dev11/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/agent-command-status-retry-f9b6f53a823c6b01.yaml -> ironic-18.3.1.dev11/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/agent-http-provisioning-d116b3ff36669d16.yaml -> ironic-18.3.1.dev11/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/agent-last-command-4ec6967c995ba84a.yaml -> ironic-18.3.1.dev11/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/agent-power-a000fdf37cb870e4.yaml -> ironic-18.3.1.dev11/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/agent-power-off-2115fcfaac030bd0.yaml -> ironic-18.3.1.dev11/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/agent-raid-647acfd599e83476.yaml -> ironic-18.3.1.dev11/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/agent-raid-validate-f7348ac034606b83.yaml -> ironic-18.3.1.dev11/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/agent-rebooted-fab20d012fe6cbe8.yaml -> ironic-18.3.1.dev11/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/agent-takeover-60f27cef21ebfb48.yaml -> ironic-18.3.1.dev11/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/agent-token-817a03776bd46d5b.yaml -> ironic-18.3.1.dev11/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/agent-token-support-0a5b5aa1585dfbb5.yaml -> ironic-18.3.1.dev11/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/agent-uuid-5d86bc18849acda3.yaml -> ironic-18.3.1.dev11/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/agent-verify-ca-6efa3dfc469bab02.yaml -> ironic-18.3.1.dev11/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/agent-verify-ca-ddbfbb0f27198d82.yaml -> ironic-18.3.1.dev11/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/agent-wol-driver-4116f64907d0db9c.yaml -> ironic-18.3.1.dev11/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/agent_partition_image-48a03700f41a3980.yaml -> ironic-18.3.1.dev11/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/allocation-added-owner-policy-c650074e68d03289.yaml -> ironic-18.3.1.dev11/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/allocation-api-6ac2d262689f5f59.yaml -> ironic-18.3.1.dev11/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/allocation-backfill-c31e84c5fcf24216.yaml -> ironic-18.3.1.dev11/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/allocation-delete-26c7c2f1651759f5.yaml -> ironic-18.3.1.dev11/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/allocation-owner-policy-162c43b3abb91c76.yaml -> ironic-18.3.1.dev11/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/allocations-restricted-rbac-create-2847943150656432.yaml -> ironic-18.3.1.dev11/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/allow-allocation-update-94d862c3da454be2.yaml -> ironic-18.3.1.dev11/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/allow-deleting-unbound-ports-fa78069b52f099ac.yaml -> ironic-18.3.1.dev11/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/allow-pxelinux-config-folder-to-be-defined-da0ddd397d58dcc8.yaml -> ironic-18.3.1.dev11/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/allow-set-interface-to-node-in-available-bd6f695620c2d77f.yaml -> ironic-18.3.1.dev11/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/allow-to-attach-vif-to-active-node-55963be2ec269043.yaml -> ironic-18.3.1.dev11/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/allow_custom_certificate_validation-8ba00759ed79e429.yaml -> ironic-18.3.1.dev11/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/allow_to_disable_automated_clean-a3ccb1e19940a7a4.yaml -> ironic-18.3.1.dev11/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/always-return-chassis-uuid-4eecbc8da2170cb1.yaml -> ironic-18.3.1.dev11/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/amt-driver-wake-up-0880ed85476968be.yaml -> ironic-18.3.1.dev11/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/anaconda-config-drive-fixes-5880884e34584549.yaml -> ironic-18.3.1.dev11/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/anaconda-deploy-interface-c04932f6f469227a.yaml -> ironic-18.3.1.dev11/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/anaconda-deploy-more-fixes-58d996c7031c8c4b.yaml -> ironic-18.3.1.dev11/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/anaconda-instance-info-fix-a51837d8ac7b41de.yaml -> ironic-18.3.1.dev11/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/ansible-deploy-15da234580ca0c30.yaml -> ironic-18.3.1.dev11/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/ansible-device-name-filtering-0adfca7d8ba4cbcc.yaml -> ironic-18.3.1.dev11/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/ansible-fast-track-cbecb132b6ff2b14.yaml -> ironic-18.3.1.dev11/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/ansible-loops-de0eef0d5b79a9ff.yaml -> ironic-18.3.1.dev11/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/any-wsgi-8d6ccb0590104146.yaml -> ironic-18.3.1.dev11/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/apache-multiple-workers-11d4ba52c89a13e3.yaml -> ironic-18.3.1.dev11/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/api-none-3fdca1ccbb64d9b0.yaml -> ironic-18.3.1.dev11/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/api-none-cdb95e58b69a5c50.yaml -> ironic-18.3.1.dev11/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/api-workers-c06ea95a0c55b8cf.yaml -> ironic-18.3.1.dev11/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/assume-gpt-for-uefi-boot-mode-8f9c77721394459a.yaml -> ironic-18.3.1.dev11/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/async-deprecate-b3d81d7968ea47e5.yaml -> ironic-18.3.1.dev11/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/async_bios_clean_step-7348efff3f6d02c1.yaml -> ironic-18.3.1.dev11/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/automated_clean_config-0170c95ae210f953.yaml -> ironic-18.3.1.dev11/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/backfill_version_column_db_race_condition-713fa05832b93ca5.yaml -> ironic-18.3.1.dev11/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/better-handle-skip-upgrade-3b6f06ac24937aa4.yaml -> ironic-18.3.1.dev11/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/bfv-pxe-boot-3375d331ee2f04f2.yaml -> ironic-18.3.1.dev11/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/bios-config-manage-ccefd24054cc73ee.yaml -> ironic-18.3.1.dev11/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/bios-interface-api-ref-ebf866cc7da2270b.yaml -> ironic-18.3.1.dev11/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/bios-interface-api-ref-validate-ddb95461adb0e478.yaml -> ironic-18.3.1.dev11/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/bios-registry-support-e7fd62908e9c222d.yaml -> ironic-18.3.1.dev11/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/bios-version-dfd5c95805c295c5.yaml -> ironic-18.3.1.dev11/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/blank-mac-f8e0b37e0bd6d719.yaml -> ironic-18.3.1.dev11/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/bmc_reset-warm-9396ac444cafd734.yaml -> ironic-18.3.1.dev11/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/boot-from-url-98d21670e726c518.yaml -> ironic-18.3.1.dev11/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/boot-ipxe-inc-workaround-548e10d1d6616752.yaml -> ironic-18.3.1.dev11/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/boot-validate-6b4b6b40c8e27273.yaml -> ironic-18.3.1.dev11/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/bootloader-copy-for-network-boot-190c713cb5e872d8.yaml -> ironic-18.3.1.dev11/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/bp-nova-support-instance-power-update-49c531ef13982e62.yaml -> ironic-18.3.1.dev11/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/broken-driver-update-fc5303340080ef04.yaml -> ironic-18.3.1.dev11/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/bug-1506657-3bcb4ef46623124d.yaml -> ironic-18.3.1.dev11/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/bug-1518374-decd73fd82c2eb94.yaml -> ironic-18.3.1.dev11/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/bug-1548086-ed88646061b88faf.yaml -> ironic-18.3.1.dev11/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/bug-1570283-6cdc62e4ef43cb02.yaml -> ironic-18.3.1.dev11/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/bug-1579635-cffd990b51bcb5ab.yaml -> ironic-18.3.1.dev11/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/bug-1592335-7c5835868fe364ea.yaml -> ironic-18.3.1.dev11/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/bug-1596421-0cb8f59073f56240.yaml -> ironic-18.3.1.dev11/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/bug-1607527-75885e145db62d69.yaml -> ironic-18.3.1.dev11/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/bug-1611555-de1ec64ba46982ec.yaml -> ironic-18.3.1.dev11/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/bug-1611556-92cbfde5ee7f44d6.yaml -> ironic-18.3.1.dev11/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/bug-1626453-e8df46aa5db6dd5a.yaml -> ironic-18.3.1.dev11/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/bug-1648387-92db52cbe007fabd.yaml -> ironic-18.3.1.dev11/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/bug-1672457-563d5354b41b060e.yaml -> ironic-18.3.1.dev11/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/bug-1694645-57289200e35bd883.yaml -> ironic-18.3.1.dev11/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/bug-1696296-a972c8d879b98940.yaml -> ironic-18.3.1.dev11/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/bug-1702158-79bf57bd4d8087b6.yaml -> ironic-18.3.1.dev11/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/bug-1749433-363b747d2db67df6.yaml -> ironic-18.3.1.dev11/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/bug-1749860-457292cf62e18a0e.yaml -> ironic-18.3.1.dev11/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/bug-2001832-62e244dc48c1f79e.yaml -> ironic-18.3.1.dev11/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/bug-2002062-959b865ced05b746.yaml -> ironic-18.3.1.dev11/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/bug-2002093-9fcb3613d2daeced.yaml -> ironic-18.3.1.dev11/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/bug-2003972-dae9b7d0f6180339.yaml -> ironic-18.3.1.dev11/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/bug-2004265-cd9056868295f374.yaml -> ironic-18.3.1.dev11/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/bug-2004947-e5f27e11b8f9c96d.yaml -> ironic-18.3.1.dev11/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/bug-2005377-5c63357681a465ec.yaml -> ironic-18.3.1.dev11/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/bug-2005764-15f45e11b9f9c96d.yaml -> ironic-18.3.1.dev11/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/bug-2006266-85da234583ca0c32.yaml -> ironic-18.3.1.dev11/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/bug-2006275-a5ca234683ca4c32.yaml -> ironic-18.3.1.dev11/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/bug-2006334-0cd8f59073f56241.yaml -> ironic-18.3.1.dev11/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/bug-2007551-aliases-for-a-few-named-state-transitions-a32433ad65638706.yaml -> ironic-18.3.1.dev11/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/bug-2007567-wsman-raid-48483affdd9f9894.yaml -> ironic-18.3.1.dev11/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/bug-2007963-idrac-wsman-raid-apply-configuration-792ccf195057016b.yaml -> ironic-18.3.1.dev11/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/bug-2008058-fix-factory-reset-status.yaml-52a6119b46e33b37.yaml -> ironic-18.3.1.dev11/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/bug-30315-e46eafe5b575f3da.yaml -> ironic-18.3.1.dev11/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/bug-30316-8c53358681e464eb.yaml -> ironic-18.3.1.dev11/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/bug-30317-a972c8d879c98941.yaml -> ironic-18.3.1.dev11/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/bug-35702-25da234580ca0c31.yaml -> ironic-18.3.1.dev11/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/build-configdrive-5b3b9095824faf4e.yaml -> ironic-18.3.1.dev11/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/build-iso-from-esp-d156036aa8ef85fb.yaml -> ironic-18.3.1.dev11/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/build-uefi-only-iso-ce6bcb0da578d1d6.yaml -> ironic-18.3.1.dev11/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/build_instance_info-c7e3f12426b48965.yaml -> ironic-18.3.1.dev11/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/bump-min-ansible-ver-a78e7885c0e9d361.yaml -> ironic-18.3.1.dev11/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/bye-bye-iscsi-658920cf126db0b8.yaml -> ironic-18.3.1.dev11/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/cache-agentclient-per-task-ec2231684e6876d9.yaml -> ironic-18.3.1.dev11/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/caseless-conductor-restart-check-f70005fbf65f6bb6.yaml -> ironic-18.3.1.dev11/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/catch-third-party-driver-validate-exceptions-94ed2a91c50d2d8e.yaml -> ironic-18.3.1.dev11/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/change-db-access-pattern-for-node-lists-a333dd9c5afa737d.yaml -> ironic-18.3.1.dev11/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/change-default-boot-option-to-local-8c326077770ab672.yaml -> ironic-18.3.1.dev11/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/change-ipxe-default-file-a9ed5e17fc3d022e.yaml -> ironic-18.3.1.dev11/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/change-ramdisk-log-filename-142b10d0b02a5ca6.yaml -> ironic-18.3.1.dev11/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/change-updated-at-object-field-a74466f7c4541072.yaml -> ironic-18.3.1.dev11/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/change_default_use_ipmitool_retries-2529ce032eae7d1b.yaml -> ironic-18.3.1.dev11/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/check-dynamic-allocation-enabled-e94f3b8963b114d0.yaml -> ironic-18.3.1.dev11/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/check-for-whole-disk-image-uefi-3bf2146588de2423.yaml -> ironic-18.3.1.dev11/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/check_obj_versions-e86d897df673e833.yaml -> ironic-18.3.1.dev11/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/check_protocol_for_ironic_api-32f35c93a140d3ae.yaml -> ironic-18.3.1.dev11/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/cinder-2019892-6b5a9de5c5f05aa6.yaml -> ironic-18.3.1.dev11/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/cipher_suite_versions-c64644860d3c220d.yaml -> ironic-18.3.1.dev11/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/cisco-drivers-deleted-5a42a8c508704c64.yaml -> ironic-18.3.1.dev11/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/classic-drivers-deprecation-de464065187d4c14.yaml -> ironic-18.3.1.dev11/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/clean-nodes-stuck-in-cleaning-on-startup-443823ea4f937965.yaml -> ironic-18.3.1.dev11/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/cleaning-bios-d74a4947d2525b80.yaml -> ironic-18.3.1.dev11/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/cleaning-logs-dc115b0926ae3982.yaml -> ironic-18.3.1.dev11/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/cleaning-maintenance-7ae83b1e4ff992b0.yaml -> ironic-18.3.1.dev11/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/cleaning-retry-fix-89a5d0e65920a064.yaml -> ironic-18.3.1.dev11/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/cleaning-token-9755f96d1284f78a.yaml -> ironic-18.3.1.dev11/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/cleanup-ipxe-f1349e2ac9ec2825.yaml -> ironic-18.3.1.dev11/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/cleanup-provision-ports-before-retry-ec3c89c193766d70.yaml -> ironic-18.3.1.dev11/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/cleanwait_timeout_fail-4323ba7d4d4da3e6.yaml -> ironic-18.3.1.dev11/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/clear-hung-iscsi-sessions-d3b55c4c65fa4c8b.yaml -> ironic-18.3.1.dev11/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/clear-node-target-power-state-de1f25be46d3e6d7.yaml -> ironic-18.3.1.dev11/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/clear-target-stable-states-4545602d7aed9898.yaml -> ironic-18.3.1.dev11/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/clear_ca_cert-db41e7be9723c0fb.yaml -> ironic-18.3.1.dev11/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/collect-deployment-logs-2ec1634847c3f6a5.yaml -> ironic-18.3.1.dev11/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/conductor-groups-c22c17e276e63bed.yaml -> ironic-18.3.1.dev11/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/conductor-now-waits-when-low-on-memory-d73892a79cde0516.yaml -> ironic-18.3.1.dev11/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/conductor-power-sync-timeout-extension-fa5e7b5fdd679d84.yaml -> ironic-18.3.1.dev11/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/conductor-version-backfill-9d06f2ad81aebec3.yaml -> ironic-18.3.1.dev11/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/conductor_early_import-fd29fa8b89089977.yaml -> ironic-18.3.1.dev11/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/conf-debug-ipa-1d75e2283ca83395.yaml -> ironic-18.3.1.dev11/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/conf-deploy-image-5adb6c1963b149ae.yaml -> ironic-18.3.1.dev11/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/config-drive-support-for-whole-disk-images-in-iscsi-deploy-0193c5222a7cd129.yaml -> ironic-18.3.1.dev11/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/configdrive-format-1b11f6068bd742cd.yaml -> ironic-18.3.1.dev11/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/configdrive-render-8eb398d956393d60.yaml -> ironic-18.3.1.dev11/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/configdrive-support-in-anaconda-deploy-f2aad59b4ff809ec.yaml -> ironic-18.3.1.dev11/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/configdrive-support-using-ceph-radosgw-8c6f7b8bede2077c.yaml -> ironic-18.3.1.dev11/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/configdrive-vendordata-122049bd7c6e1b67.yaml -> ironic-18.3.1.dev11/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/configdrive_use_object_store-93cfd7dc27d90003.yaml -> ironic-18.3.1.dev11/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/configure-notifications-72824356e7d8832a.yaml -> ironic-18.3.1.dev11/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/consider_embedded_ipa_error_codes-c8fdfaa9e6a1ed06.yaml -> ironic-18.3.1.dev11/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/console-port-allocation-bb07c43e3890c54c.yaml -> ironic-18.3.1.dev11/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/context-domain-id-name-deprecation-ae6e40718273be8d.yaml -> ironic-18.3.1.dev11/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/continue-node-deploy-state-63d9dc9cdcf8e37a.yaml -> ironic-18.3.1.dev11/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/correct-api-version-check-conditional-for-nodename-439bebc02fb5493d.yaml -> ironic-18.3.1.dev11/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/correct-detailed-instance-info-behavior-1375914a30621eca.yaml -> ironic-18.3.1.dev11/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/create-on-conductor-c1c52a1f022c4048.yaml -> ironic-18.3.1.dev11/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/create-port-on-conductor-b921738b4b2a5def.yaml -> ironic-18.3.1.dev11/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/create_node_indexes-841b679e6cf332fd.yaml -> ironic-18.3.1.dev11/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/custom-agent-deploy-88989512c29a14c1.yaml -> ironic-18.3.1.dev11/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/custom-params-cleaning-f938549964ff6df0.yaml -> ironic-18.3.1.dev11/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/db-field-overhead-reduction-40be1821e38b468c.yaml -> ironic-18.3.1.dev11/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/dbsync-check-version-c71d5f4fd89ed117.yaml -> ironic-18.3.1.dev11/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/dbsync-online_data_migration-edcf0b1cc3667582.yaml -> ironic-18.3.1.dev11/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/debug-no-api-tracebacks-a8a0caddc9676b06.yaml -> ironic-18.3.1.dev11/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/debug-sensor-data-fix-for-ipmitool-eb13e80ccdd984db.yaml -> ironic-18.3.1.dev11/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/decomposed-steps-9644d3b5ccbad1ea.yaml -> ironic-18.3.1.dev11/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/decouple-boot-params-2b05806435ad21e5.yaml -> ironic-18.3.1.dev11/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/default-boot-mode-changing-in-yoga-5012348ecfc2f45d.yaml -> ironic-18.3.1.dev11/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/default-policy-file-change-474a342d6b5a041a.yaml -> ironic-18.3.1.dev11/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/default-resource-class-e11bacfb01d6841b.yaml -> ironic-18.3.1.dev11/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/default-swift_account-b008d08e85bdf154.yaml -> ironic-18.3.1.dev11/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/default_boot_option-f22c01f976bc2de7.yaml -> ironic-18.3.1.dev11/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/del-api-url-eb2ea29aa63a2cb5.yaml -> ironic-18.3.1.dev11/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/del-cinder-url-cf43cd0336c22878.yaml -> ironic-18.3.1.dev11/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/del-fatal_exception_format_errors-f63b15c8aa460dff.yaml -> ironic-18.3.1.dev11/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/deleting-dcdb9cf0d2a6a1a6.yaml -> ironic-18.3.1.dev11/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/dell-boss-raid1-ec33e5b9c59d4021.yaml -> ironic-18.3.1.dev11/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/deny-too-long-chassis-description-0690d6f67ed002d5.yaml -> ironic-18.3.1.dev11/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/deploy-iso-swift-355ad6eba6c511b4.yaml -> ironic-18.3.1.dev11/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/deploy-step-configdrive-86ea2bb267211b88.yaml -> ironic-18.3.1.dev11/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/deploy-step-error-d343e8cb7d1b2305.yaml -> ironic-18.3.1.dev11/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/deploy-step-validate-76b2aa97e02ba669.yaml -> ironic-18.3.1.dev11/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/deploy-steps-required-aa72cdf1c0ec0e84.yaml -> ironic-18.3.1.dev11/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/deploy-templates-5df3368df862631c.yaml -> ironic-18.3.1.dev11/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/deploy_steps-243b341cf742f7cc.yaml -> ironic-18.3.1.dev11/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/deployment-cleaning-polling-flag-be13a866a7c302d7.yaml -> ironic-18.3.1.dev11/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/deprecate-agent-passthru-67d1e2cf25b30a30.yaml -> ironic-18.3.1.dev11/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/deprecate-cisco-drivers-3ae79a24b76ff963.yaml -> ironic-18.3.1.dev11/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/deprecate-clustered-compute-manager-3dd68557446bcc5c.yaml -> ironic-18.3.1.dev11/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/deprecate-dhcp-update-mac-address-f12a4959432c8e20.yaml -> ironic-18.3.1.dev11/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/deprecate-elilo-2beca4800f475426.yaml -> ironic-18.3.1.dev11/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/deprecate-glance-url-scheme-ceff3008cf9cf590.yaml -> ironic-18.3.1.dev11/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/deprecate-global-region-4dbea91de71ebf59.yaml -> ironic-18.3.1.dev11/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/deprecate-hash-distribution-replicas-ef0626ccc592b70e.yaml -> ironic-18.3.1.dev11/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/deprecate-ibmc-9106cc3a81171738.yaml -> ironic-18.3.1.dev11/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/deprecate-inspector-enabled-901fd9c9426046c7.yaml -> ironic-18.3.1.dev11/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/deprecate-irmc-031f55c3bb1fb863.yaml -> ironic-18.3.1.dev11/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/deprecate-oneview-drivers-5a487e1940bcbbc6.yaml -> ironic-18.3.1.dev11/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/deprecate-support-for-glance-v1-8b194e6b20cbfebb.yaml -> ironic-18.3.1.dev11/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/deprecate-xclarity-config-af9b753f96779f42.yaml -> ironic-18.3.1.dev11/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/deprecate-xclarity-d687571fb65ad099.yaml -> ironic-18.3.1.dev11/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/deprecated-cinder-opts-e10c153768285cab.yaml -> ironic-18.3.1.dev11/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/deprecated-glance-opts-4825f000d20c2932.yaml -> ironic-18.3.1.dev11/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/deprecated-inspector-opts-0520b08dbcd10681.yaml -> ironic-18.3.1.dev11/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/deprecated-inspector-opts-b19a08339712cfd7.yaml -> ironic-18.3.1.dev11/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/deprecated-neutron-ops-79abab5b013b7939.yaml -> ironic-18.3.1.dev11/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/deprecated-neutron-opts-2e1d9e65f00301d3.yaml -> ironic-18.3.1.dev11/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/destroy-broken-8b13de8382199aca.yaml -> ironic-18.3.1.dev11/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/dhcp-less-less-2a35df67d840f9d5.yaml -> ironic-18.3.1.dev11/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/dhcp-provider-clean-dhcp-9352717903d6047e.yaml -> ironic-18.3.1.dev11/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/dhcpless-deploy-4b91de74adeff781.yaml -> ironic-18.3.1.dev11/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/dhcpv6-stateful-address-count-0f94ac6a55bd9e51.yaml -> ironic-18.3.1.dev11/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/direct-deploy-steps-36486987156017d7.yaml -> ironic-18.3.1.dev11/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/direct-fast-track-d0f43850b6e80751.yaml -> ironic-18.3.1.dev11/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/direct-file-6f80728d76093530.yaml -> ironic-18.3.1.dev11/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/disable-clean-step-reset-ilo-1869a6e08f39901c.yaml -> ironic-18.3.1.dev11/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/disable-ramdisk-5156a009812fbb17.yaml -> ironic-18.3.1.dev11/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/disable_periodic_task-590a91c0a5235cfb.yaml -> ironic-18.3.1.dev11/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/disable_periodic_tasks-0ea39fa7a8a108c6.yaml -> ironic-18.3.1.dev11/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/disk-label-capability-d36d126e0ad36dca.yaml -> ironic-18.3.1.dev11/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/disk-label-fix-7580de913835ff44.yaml -> ironic-18.3.1.dev11/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/dont-cleanup-cache-twice-0395a50ad723bca8.yaml -> ironic-18.3.1.dev11/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/dont-validate-local_link_connection-when-port-has-client-id-8e584586dc4fca50.yaml -> ironic-18.3.1.dev11/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/drac-fix-double-manage-provide-cycle-6ac8a427068f87fe.yaml -> ironic-18.3.1.dev11/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/drac-fix-get_bios_config-vendor-passthru-causes-exception-1e1dbeeb3e924f29.yaml -> ironic-18.3.1.dev11/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/drac-fix-oob-cleaning-b4b717895e243c9b.yaml -> ironic-18.3.1.dev11/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/drac-fix-power-on-reboot-race-condition-fe712aa9c79ee252.yaml -> ironic-18.3.1.dev11/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/drac-fix-prepare-cleaning-d74ba45135d84531.yaml -> ironic-18.3.1.dev11/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/drac-fix-raid10-greater-than-16-drives-a4cb107e34371a51.yaml -> ironic-18.3.1.dev11/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/drac-inspection-interface-b0abbad98fec1c2e.yaml -> ironic-18.3.1.dev11/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/drac-list-unfinished-jobs-10400419b6bc3c6e.yaml -> ironic-18.3.1.dev11/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/drac-migrate-to-dracclient-2bd8a6d1dd3fdc69.yaml -> ironic-18.3.1.dev11/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/drac-missing-lookup-3ad98e918e1a852a.yaml -> ironic-18.3.1.dev11/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/drac-raid-interface-f4c02b1c4fb37e2d.yaml -> ironic-18.3.1.dev11/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/drac_host-deprecated-b181149246eecb47.yaml -> ironic-18.3.1.dev11/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/driver-maintenance-0945c2939fa4e917.yaml -> ironic-18.3.1.dev11/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/drop-ironic-lib-rootwrap-filters-f9224173289c1e30.yaml -> ironic-18.3.1.dev11/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/drop-py-2-7-5140cb76e321cdd1.yaml -> ironic-18.3.1.dev11/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/dual-stack-ironic-493ebc7b71263aaa.yaml -> ironic-18.3.1.dev11/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/duplicated-driver-entry-775370ad84736206.yaml -> ironic-18.3.1.dev11/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/dynamic-allocation-spt-has-physical-mac-8967a1d926ed9301.yaml -> ironic-18.3.1.dev11/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/dynamic-driver-list-show-apis-235e9fca26fc580d.yaml -> ironic-18.3.1.dev11/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/emit-metrics-for-api-calls-69f18fd1b9d54b05.yaml -> ironic-18.3.1.dev11/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/empty-physical-network-2248a4adef210289.yaml -> ironic-18.3.1.dev11/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/enable-osprofiler-support-e3839b0fa90d3831.yaml -> ironic-18.3.1.dev11/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/enhanced-checksum-f5a2b7aa8632b88f.yaml -> ironic-18.3.1.dev11/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/ensure-unbind-flat-vifs-and-clear-macs-34eec149618e5964.yaml -> ironic-18.3.1.dev11/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/erase-devices-metadata-config-f39b6ca415a87757.yaml -> ironic-18.3.1.dev11/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/error-resilient-enabled_drivers-4e9c864ed6eaddd1.yaml -> ironic-18.3.1.dev11/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/explicit-upper-pin-for-sushy-63d449024ddf70d0.yaml -> ironic-18.3.1.dev11/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/explicit_ipxe_config_options-d7bf9a743a13f523.yaml -> ironic-18.3.1.dev11/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/expose-conductor-d13c9c4ef9d9de86.yaml -> ironic-18.3.1.dev11/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/extends-install-bootloader-timeout-8fce9590bf405cdf.yaml -> ironic-18.3.1.dev11/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/external-ip-5ec9b7b55a90cec4.yaml -> ironic-18.3.1.dev11/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/fail-when-vif-port-id-is-missing-7640669f9d9e705d.yaml -> ironic-18.3.1.dev11/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/fake-noop-bebc43983eb801d1.yaml -> ironic-18.3.1.dev11/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/fake_soft_power-32683a848a989fc2.yaml -> ironic-18.3.1.dev11/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/fast-track-bios-fa9ae685c151dd24.yaml -> ironic-18.3.1.dev11/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/fast-track-deployment-f09a8b921b3aae36.yaml -> ironic-18.3.1.dev11/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/fast-track-opt-d50eab2cc58fddcb.yaml -> ironic-18.3.1.dev11/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/fast-track-steps-81bd79a2a91e1b30.yaml -> ironic-18.3.1.dev11/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/fast-track-validate-723f27986a012ffe.yaml -> ironic-18.3.1.dev11/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/fast-track-with-cleaning-438225116a11662d.yaml -> ironic-18.3.1.dev11/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/fifteen-0da3cca48dceab8b.yaml -> ironic-18.3.1.dev11/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/fips-hashlib-bca9beacc2b48fe7.yaml -> ironic-18.3.1.dev11/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/fix-agent-clean-up-9a25deb85bc53d9b.yaml -> ironic-18.3.1.dev11/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/fix-agent-ilo-temp-image-cleanup-711429d0e67807ae.yaml -> ironic-18.3.1.dev11/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/fix-anaconda-deploy-interface-bfa2cfca22b04680.yaml -> ironic-18.3.1.dev11/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/fix-api-access-logs-68b9ca4f411f339c.yaml -> ironic-18.3.1.dev11/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/fix-api-node-name-updates-f3813295472795be.yaml -> ironic-18.3.1.dev11/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/fix-baremetal-admin-user-not-neutron-admin-f163df90ab520dad.yaml -> ironic-18.3.1.dev11/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/fix-boot-from-volume-for-iscsi-deploy-60bc0790ada62b26.yaml -> ironic-18.3.1.dev11/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/fix-boot-from-volume-for-iscsi-deploy-71c1f2905498c50d.yaml -> ironic-18.3.1.dev11/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/fix-boot-url-for-v6-802abde9de8ba455.yaml -> ironic-18.3.1.dev11/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/fix-bug-1675529-479357c217819420.yaml -> ironic-18.3.1.dev11/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/fix-busy-agent-check-3cf75242b4783009.yaml -> ironic-18.3.1.dev11/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/fix-capabilities-as-string-agent-7c5c7975560ce280.yaml -> ironic-18.3.1.dev11/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/fix-clean-steps-not-running-0d065cb022bc0419.yaml -> ironic-18.3.1.dev11/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/fix-cleaning-spawn-error-60b60281f3be51c2.yaml -> ironic-18.3.1.dev11/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/fix-cleaning-with-traits-3a54faa70d594fd0.yaml -> ironic-18.3.1.dev11/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/fix-commit-to-controller-d26f083ac388a65e.yaml -> ironic-18.3.1.dev11/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/fix-conductor-list-raise-131ac76719b74032.yaml -> ironic-18.3.1.dev11/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/fix-context-image-hardlink-16f452974abc7327.yaml -> ironic-18.3.1.dev11/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/fix-cpu-count-8904a4e1a24456f4.yaml -> ironic-18.3.1.dev11/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/fix-create-configuration-0e000392d9d7f23b.yaml -> ironic-18.3.1.dev11/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/fix-cve-2016-4985-b62abae577025365.yaml -> ironic-18.3.1.dev11/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/fix-delete_configuration-with-multiple-controllers-06fc3fca94ba870f.yaml -> ironic-18.3.1.dev11/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/fix-dir-permissions-bc56e83a651bbdb0.yaml -> ironic-18.3.1.dev11/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/fix-disk-identifier-overwrite-42b33a5a0f7742d8.yaml -> ironic-18.3.1.dev11/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/fix-do-not-tear-down-nodes-upon-cleaning-failure-a9cda6ae71ed2540.yaml -> ironic-18.3.1.dev11/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/fix-drac-job-state-8c5422bbeaf15226.yaml -> ironic-18.3.1.dev11/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/fix-drives-conversion-before-raid-creation-ea1f7eb425f79f2f.yaml -> ironic-18.3.1.dev11/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/fix-duplcate-extra-dhcp-options-4edb729cb5bcf552.yaml -> ironic-18.3.1.dev11/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/fix-esp-grub-path-9e5532993dccc07a.yaml -> ironic-18.3.1.dev11/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/fix-fast-track-entry-path-467c20f97aeb2f4b.yaml -> ironic-18.3.1.dev11/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/fix-fields-missing-from-next-url-fd9fddf8e70b65ea.yaml -> ironic-18.3.1.dev11/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/fix-get-boot-device-not-persistent-de6159d8d2b60656.yaml -> ironic-18.3.1.dev11/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/fix-get-deploy-info-port.yaml -> ironic-18.3.1.dev11/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/fix-gmr-37332a12065c09dc.yaml -> ironic-18.3.1.dev11/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/fix-grub2-config-file-name-88e689a982a21684.yaml -> ironic-18.3.1.dev11/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/fix-idrac-wsman-deploy-with-existing-non-bios-jobs-78aa2195d0c3016f.yaml -> ironic-18.3.1.dev11/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/fix-ilo-drivers-log-message-c3c64c1ca0a0bca8.yaml -> ironic-18.3.1.dev11/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/fix-ilo-firmware-update-swift-path-with-pseudo-folder-0660345510ec0bb4.yaml -> ironic-18.3.1.dev11/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/fix-inspection-for-idrac-34b3ea09452af8be.yaml -> ironic-18.3.1.dev11/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/fix-instance-master-path-config-fa524c907a7888e5.yaml -> ironic-18.3.1.dev11/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/fix-ipa-ephemeral-partition-1f1e020727a49078.yaml -> ironic-18.3.1.dev11/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/fix-ipmi-numeric-password-75e080aa8bdfb9a2.yaml -> ironic-18.3.1.dev11/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/fix-ipmitool-console-empty-password-a8edc5e2a1a7daf6.yaml -> ironic-18.3.1.dev11/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/fix-ipv6-option6-tag-549093681dcf940c.yaml -> ironic-18.3.1.dev11/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/fix-ipv6-provisioning-routed-provider-network-bbd0c46559f618ac.yaml -> ironic-18.3.1.dev11/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/fix-ipxe-interface-without-opt-enabled-4fa2f83975295e20.yaml -> ironic-18.3.1.dev11/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/fix-ipxe-macro-4ae8bc4fe82e8f19.yaml -> ironic-18.3.1.dev11/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/fix-ipxe-template-for-whole-disk-image-943da0311ca7aeb5.yaml -> ironic-18.3.1.dev11/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/fix-irmc-enforcing-snmpv3-with-fips-e45971d363925ec3.yaml -> ironic-18.3.1.dev11/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/fix-irmc-inspection-c9ae3864a96b2588.yaml -> ironic-18.3.1.dev11/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/fix-json-rpc-client-ssl-2438a731beb3d5f9.yaml -> ironic-18.3.1.dev11/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/fix-keystone-parameters-cdb93576d7e7885b.yaml -> ironic-18.3.1.dev11/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/fix-mac-address-48060f9e2847a38c.yaml -> ironic-18.3.1.dev11/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/fix-mac-address-update-with-contrail-b1e1b725cc0829c2.yaml -> ironic-18.3.1.dev11/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/fix-mitaka-ipa-iscsi.yaml -> ironic-18.3.1.dev11/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/fix-multi-attached-volumes-092ffedbdcf0feac.yaml -> ironic-18.3.1.dev11/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/fix-net-ifaces-rebuild-1cc03df5d37f38dd.yaml -> ironic-18.3.1.dev11/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/fix-network-data-e10f2bf9dc38ba1a.yaml -> ironic-18.3.1.dev11/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/fix-network-data2-f2600afdcc182dc4.yaml -> ironic-18.3.1.dev11/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/fix-noop-net-vif-list-a3d8ecee29097662.yaml -> ironic-18.3.1.dev11/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/fix-not-exist-deploy-image-for-irmc-cb82c6e0b52b8a9a.yaml -> ironic-18.3.1.dev11/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/fix-oneview-deallocate-server-8256e279af837e5d.yaml -> ironic-18.3.1.dev11/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/fix-oneview-deploy-return-values-ab2ec6ae568d95a5.yaml -> ironic-18.3.1.dev11/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/fix-oneview-periodics-0f535fe7a0ad83cd.yaml -> ironic-18.3.1.dev11/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/fix-online-version-migration-db432a7b239647fa.yaml -> ironic-18.3.1.dev11/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/fix-pagination-marker-with-custom-field-query-65ca29001a03e036.yaml -> ironic-18.3.1.dev11/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/fix-path-a3a0cfd2c135ace9.yaml -> ironic-18.3.1.dev11/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/fix-policy-checkers-1a08203e3c2cf859.yaml -> ironic-18.3.1.dev11/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/fix-prepare-instance-for-agent-interface-56753bdf04dd581f.yaml -> ironic-18.3.1.dev11/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/fix-provisioning-port-cleanup-79ee7930ca206c42.yaml -> ironic-18.3.1.dev11/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/fix-reboot-log-collection-c3e22fc166135e61.yaml -> ironic-18.3.1.dev11/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/fix-redfish-bios-apply-configuration-error-handling-464695b09e4f81ac.yaml -> ironic-18.3.1.dev11/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/fix-redfish-firmware-images-validation-9b5b2fd28314ce66.yaml -> ironic-18.3.1.dev11/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/fix-redfish-firmware-upgrade-7ef2fcb6bfd74e67.yaml -> ironic-18.3.1.dev11/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/fix-redfish-raid-config-9e868c3e069475a1.yaml -> ironic-18.3.1.dev11/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/fix-redfish-raid-failed-tasks-02487c4698dea176.yaml -> ironic-18.3.1.dev11/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/fix-redfish-raid-interface-type-4b3566b637cc2301.yaml -> ironic-18.3.1.dev11/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/fix-redfish-raid-onreset-workflow-bfa44de6b0263a1f.yaml -> ironic-18.3.1.dev11/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/fix-redfish-sadness-workaround-ed02cb310ff369f4.yaml -> ironic-18.3.1.dev11/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/fix-redfish-vm-boot-idrac-37ec734e6643cbac.yaml -> ironic-18.3.1.dev11/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/fix-rpc-exceptions-12c70eb6ba177e39.yaml -> ironic-18.3.1.dev11/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/fix-security-group-list-add-query-filters-f72cfcefa1e093d2.yaml -> ironic-18.3.1.dev11/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/fix-sendfile-size-cap-d9966a96e2d7db51.yaml -> ironic-18.3.1.dev11/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/fix-sensors-storage-ed5d5bbda9b46645.yaml -> ironic-18.3.1.dev11/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/fix-shellinabox-console-subprocess-timeout-d3eccfe0440013d7.yaml -> ironic-18.3.1.dev11/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/fix-shellinabox-pipe-not-ready-f860c4b7a1ef71a8.yaml -> ironic-18.3.1.dev11/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/fix-socat-command-afc840284446870a.yaml -> ironic-18.3.1.dev11/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/fix-step-priority-overrides-edecff2a6c68dcac.yaml -> ironic-18.3.1.dev11/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/fix-subscription-vendor-passthru-5a9af3613c0cbebc.yaml -> ironic-18.3.1.dev11/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/fix-swift-binary-upload-bf9471fca29290e1.yaml -> ironic-18.3.1.dev11/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/fix-swift-ssl-options-d93d653dcd404960.yaml -> ironic-18.3.1.dev11/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/fix-sync-power-state-last-error-65fa42bad8e38c3b.yaml -> ironic-18.3.1.dev11/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/fix-tftp-master-path-config-77face94f5db9af7.yaml -> ironic-18.3.1.dev11/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/fix-updating-node-driver-to-classic-16b0d5ba47e74d10.yaml -> ironic-18.3.1.dev11/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/fix-url-collisions-43abfc8364ca34e7.yaml -> ironic-18.3.1.dev11/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/fix-vif-detach-fca221f1a1c0e9fa.yaml -> ironic-18.3.1.dev11/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/fix-virtualbox-localboot-not-working-558a3dec72b5116b.yaml -> ironic-18.3.1.dev11/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/fix-vmedia-boot-method-label-8008f49ace96f1cc.yaml -> ironic-18.3.1.dev11/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/fix-wsman-bios-async-step-error-handling-80cd30c54c71c595.yaml -> ironic-18.3.1.dev11/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/fix-wsman-raid-async-step-error-handling-f44e2001ac018d12.yaml -> ironic-18.3.1.dev11/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/fix-xclarity-management-defect-ec5af0cc6d1045d9.yaml -> ironic-18.3.1.dev11/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/fix_deploy_validation_resp_code-ed93627d1b0dfa94.yaml -> ironic-18.3.1.dev11/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/fix_pagination_resource_url-42fb4023fde9da2b.yaml -> ironic-18.3.1.dev11/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/fix_pagination_resource_url_ports-8d2696a6a7ab012f.yaml -> ironic-18.3.1.dev11/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/fix_pending_non_bios_job_execution-4b22e168ac915f4f.yaml -> ironic-18.3.1.dev11/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/fix_raid0_creation_for_multiple_disks-f47957754fca0312.yaml -> ironic-18.3.1.dev11/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/fixes-deployment-failure-with-fasttrack-f1fe05598fbdbe4a.yaml -> ironic-18.3.1.dev11/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/fixes-execution-of-out-of-band-deploy-steps-1f5967e7bfcabbf9.yaml -> ironic-18.3.1.dev11/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/fixes-get-boot-option-for-software-raid-baa2cffd95e1f624.yaml -> ironic-18.3.1.dev11/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/fixes-ilo5-redfish-firmware-update-issue-c6dfcd71a2f659a5.yaml -> ironic-18.3.1.dev11/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/fixes-noop-network-with-grub-8fd99a73b593ddba.yaml -> ironic-18.3.1.dev11/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/flag_always_reboot-62468a7058b58823.yaml -> ironic-18.3.1.dev11/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/force-out-hung-ipmitool-process-519c7567bcbaa882.yaml -> ironic-18.3.1.dev11/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/force-persistent-common-6ef2537f7ccd0dcb.yaml -> ironic-18.3.1.dev11/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/futurist-e9c55699f479f97a.yaml -> ironic-18.3.1.dev11/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/get-bios-registry-aadc74800e0770f7.yaml -> ironic-18.3.1.dev11/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/get-commands-status-timeout-ecbac91ea149e755.yaml -> ironic-18.3.1.dev11/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/get-supported-boot-devices-manadatory-task-0462fc072d6ea517.yaml -> ironic-18.3.1.dev11/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/glance-deprecations-21e7014b72a1bcef.yaml -> ironic-18.3.1.dev11/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/glance-keystone-dd30b884f07f83fb.yaml -> ironic-18.3.1.dev11/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/glance-v2-83b04fec247cd22f.yaml -> ironic-18.3.1.dev11/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/gpu_dynamic_capabilities-b56b90549882b6c2.yaml -> ironic-18.3.1.dev11/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/grub-default-change-to-mac-1e301a96c49acec4.yaml -> ironic-18.3.1.dev11/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/handle-initial-version-no-such-table-54c3c291050ae787.yaml -> ironic-18.3.1.dev11/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/handle-missing-table-in-status-check-512c1732dec56f62.yaml -> ironic-18.3.1.dev11/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/handle-older-agent-command-5930124fd03bb327.yaml -> ironic-18.3.1.dev11/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/handle-uefi-disk-pxe-persistance-0d871825591918b5.yaml -> ironic-18.3.1.dev11/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/hash-ring-6ce212ab86c2592d.yaml -> ironic-18.3.1.dev11/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/hash-ring-algo-4337c18117b33070.yaml -> ironic-18.3.1.dev11/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/hash-ring-race-da0d584de1f46788.yaml -> ironic-18.3.1.dev11/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/hctl-root-device-hints-0cab86673bc4a924.yaml -> ironic-18.3.1.dev11/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/heartbeat-locked-6e53b68337d5a258.yaml -> ironic-18.3.1.dev11/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/heartbeat_agent_version-70f4e64b19b51d87.yaml -> ironic-18.3.1.dev11/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/hexraw-support-removed-8e8fa07595a629f4.yaml -> ironic-18.3.1.dev11/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/html-errors-27579342e7e8183b.yaml -> ironic-18.3.1.dev11/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/http-basic-auth-f8c0536eba989918.yaml -> ironic-18.3.1.dev11/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/http-local-4e8f32c6d5309f12.yaml -> ironic-18.3.1.dev11/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/hw-ifaces-periodics-af8c9b93ecca9fcd.yaml -> ironic-18.3.1.dev11/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/ibmc-38-169438974508f62e.yaml -> ironic-18.3.1.dev11/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/ibmc-driver-45fcf9f50ebf0193.yaml -> ironic-18.3.1.dev11/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/ibmcclient-fix-8c6cb49be0aef5f2.yaml -> ironic-18.3.1.dev11/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/idrac-add-ehba-support-10b90c92b8865364.yaml -> ironic-18.3.1.dev11/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/idrac-add-gpu-reporting-support-f4d80e2071f85f6a.yaml -> ironic-18.3.1.dev11/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/idrac-add-initial-redfish-support-27f27f18f3c1cd91.yaml -> ironic-18.3.1.dev11/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/idrac-add-more-gpu-support-c3e24d8471ed6759.yaml -> ironic-18.3.1.dev11/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/idrac-add-redfish-bios-support-3633d2fc94d31f62.yaml -> ironic-18.3.1.dev11/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/idrac-add-redfish-boot-support-036396b48d3f71f4.yaml -> ironic-18.3.1.dev11/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/idrac-add-redfish-inspect-support-ce74bd3d4a97b588.yaml -> ironic-18.3.1.dev11/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/idrac-add-redfish-raid-support-414aad5e633a160f.yaml -> ironic-18.3.1.dev11/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/idrac-advance-python-dracclient-version-01c6ef671670ffb3.yaml -> ironic-18.3.1.dev11/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/idrac-drives-conversion-jbod-to-raid-1a229627708e10b9.yaml -> ironic-18.3.1.dev11/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/idrac-drives-conversion-raid-to-jbod-de10755d1ec094ea.yaml -> ironic-18.3.1.dev11/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/idrac-fix-deprecated-idrac-interface-__init__-362696b389c86d5d.yaml -> ironic-18.3.1.dev11/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/idrac-fix-reboot-failure-c740e765ff41bcf0.yaml -> ironic-18.3.1.dev11/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/idrac-hardware-type-54383960af3459d0.yaml -> ironic-18.3.1.dev11/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/idrac-import-conf-partial-success-86b8bd1983d227f6.yaml -> ironic-18.3.1.dev11/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/idrac-import-configuration-task-deleted-2a0e6a96509394b6.yaml -> ironic-18.3.1.dev11/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/idrac-no-vendor-911904dd69457826.yaml -> ironic-18.3.1.dev11/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/idrac-redfish-raid-clear-foreign-config-9ce4ec35cf6d7225.yaml -> ironic-18.3.1.dev11/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/idrac-redfish-raid-convert-from-nonraid-e9b5bbac89c71537.yaml -> ironic-18.3.1.dev11/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/idrac-remove-commit_required-d9ea849e8f5e78e2.yaml -> ironic-18.3.1.dev11/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/idrac-uefi-boot-mode-86f4694b4247a1ca.yaml -> ironic-18.3.1.dev11/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/idrac-wsman-bios-interface-b39a51828f61eff6.yaml -> ironic-18.3.1.dev11/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/idrac-wsman-completed-with-errors-f65c9a48ed4c02d4.yaml -> ironic-18.3.1.dev11/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/idrac-wsman-set-power-state-wait-cd8f9ff41b19c7a7.yaml -> ironic-18.3.1.dev11/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/ilo-async-bios-clean-steps-15e49545ba818997.yaml -> ironic-18.3.1.dev11/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/ilo-automated-cleaning-fails-14ee438de3dd8690.yaml -> ironic-18.3.1.dev11/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/ilo-bios-settings-bc91524c459a4fd9.yaml -> ironic-18.3.1.dev11/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/ilo-boot-from-iscsi-volume-41e8d510979c5037.yaml -> ironic-18.3.1.dev11/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/ilo-boot-interface-92831b78c5614733.yaml -> ironic-18.3.1.dev11/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/ilo-boot-iso-696b57f44f29852d.yaml -> ironic-18.3.1.dev11/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/ilo-certificate-verification-enhancement-8eefd541cfc2a9da.yaml -> ironic-18.3.1.dev11/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/ilo-deploy-iso-0c88edb5daff8a4e.yaml -> ironic-18.3.1.dev11/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/ilo-do-not-power-off-non-deploying-nodes-0a3aed7c8ea3940a.yaml -> ironic-18.3.1.dev11/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/ilo-erase-device-priority-config-509661955a11c28e.yaml -> ironic-18.3.1.dev11/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/ilo-firmware-update-manual-clean-step-e6763dc6dc0d441b.yaml -> ironic-18.3.1.dev11/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/ilo-fix-inspection-b169ad0a22aea2ff.yaml -> ironic-18.3.1.dev11/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/ilo-fix-uefi-iscsi-boot-702ced18e28c5c61.yaml -> ironic-18.3.1.dev11/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/ilo-hardware-type-48fd1c8bccd70659.yaml -> ironic-18.3.1.dev11/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/ilo-inconsistent-default-boot-mode-ef5a7c56372f89f1.yaml -> ironic-18.3.1.dev11/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/ilo-inject-nmi-f487db8c3bfd08ea.yaml -> ironic-18.3.1.dev11/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/ilo-license-activate-manual-clean-step-84d335998d708b49.yaml -> ironic-18.3.1.dev11/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/ilo-managed-inspection-8b549c003224e011.yaml -> ironic-18.3.1.dev11/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/ilo-prefix-d5a65ac637f82f65.yaml -> ironic-18.3.1.dev11/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/ilo-remove-deprecated-power-retry-ba29a21f03fe8dbb.yaml -> ironic-18.3.1.dev11/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/ilo-soft-power-operations-eaef33a3ff56b047.yaml -> ironic-18.3.1.dev11/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/ilo-support-boot-mode-management-apis-8173002daf79894c.yaml -> ironic-18.3.1.dev11/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/ilo-update-proliantutils-version-fd41a7c2a27be735.yaml -> ironic-18.3.1.dev11/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/ilo-vendor-e8d299ae13388184.yaml -> ironic-18.3.1.dev11/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/ilo5-oob-one-button-secure-erase-f55628f8aa767c20.yaml -> ironic-18.3.1.dev11/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/ilo5-oob-raid-a0eac60f7d77a4fc.yaml -> ironic-18.3.1.dev11/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/ilo5-oob-sanitize-disk-erase-cc76ea66eb5fe6df.yaml -> ironic-18.3.1.dev11/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/image-cache-4082178dabd64249.yaml -> ironic-18.3.1.dev11/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/image-cache-size-28a9072901b98edf.yaml -> ironic-18.3.1.dev11/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/image-checksum-recalculation-sha256-fd3d5b4b0b757e86.yaml -> ironic-18.3.1.dev11/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/image-download-http-976c82f440c61c96.yaml -> ironic-18.3.1.dev11/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/image-no-data-c281f638d3dedfb2.yaml -> ironic-18.3.1.dev11/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/image_checksum_optional-381acf9e441d2a58.yaml -> ironic-18.3.1.dev11/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/image_download_source-842282c70b226e93.yaml -> ironic-18.3.1.dev11/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/image_rootfs_uuid-1ea54ba043d1aeaf.yaml -> ironic-18.3.1.dev11/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/implement-policy-in-code-cbb0216ef5f8224f.yaml -> ironic-18.3.1.dev11/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/improve-conductor-shutdown-42687d8b9dac4054.yaml -> ironic-18.3.1.dev11/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/improve-redfish-set-boot-device-e38e9e9442ab5750.yaml -> ironic-18.3.1.dev11/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/improves-node-retrieval-performance-cf5a02eb629bf32c.yaml -> ironic-18.3.1.dev11/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/in-band-steps-e4a1fe759029fea5.yaml -> ironic-18.3.1.dev11/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/initrd_filename-ac68e96f1c9fb576.yaml -> ironic-18.3.1.dev11/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/inject-nmi-dacd692b1f259a30.yaml -> ironic-18.3.1.dev11/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/inspection-agent-drivers-cad619ec8a4874b1.yaml -> ironic-18.3.1.dev11/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/inspection-boot-network-59fd23ca62b09e81.yaml -> ironic-18.3.1.dev11/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/inspection-fast-track-ab5165e11d3e9522.yaml -> ironic-18.3.1.dev11/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/inspection-logging-e1172f549ef80b04.yaml -> ironic-18.3.1.dev11/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/inspection-token-b3d9e8e34341d680.yaml -> ironic-18.3.1.dev11/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/inspector-enabled-f8a643f03e1e0360.yaml -> ironic-18.3.1.dev11/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/inspector-for-cisco-bffe1d1af7aec677.yaml -> ironic-18.3.1.dev11/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/inspector-kernel-params-6db82c633d7361e2.yaml -> ironic-18.3.1.dev11/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/inspector-periodics-34449c9d77830b3c.yaml -> ironic-18.3.1.dev11/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/inspector-pxe-boot-9ab9fede5671097e.yaml -> ironic-18.3.1.dev11/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/inspector-session-179f83cbb0dc169b.yaml -> ironic-18.3.1.dev11/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/instance-info-boot-mode-25732c767593f849.yaml -> ironic-18.3.1.dev11/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/instance-info-interface-override-287c7fcff1081469.yaml -> ironic-18.3.1.dev11/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/instance-info-root-device-0a5190240fcc8fd8.yaml -> ironic-18.3.1.dev11/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/intel-ipmi-hardware-30aaa65cdbcb779a.yaml -> ironic-18.3.1.dev11/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/invalid-mac-b0e3d99f23afeb30.yaml -> ironic-18.3.1.dev11/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/invalid_cross_device_link-7ecf3543a8ada09f.yaml -> ironic-18.3.1.dev11/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/ipa-command-retries-and-timeout-29b0be3f2c21328c.yaml -> ironic-18.3.1.dev11/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/ipa-erase_devices-skip-read-only-9f8cd9278c35a84e.yaml -> ironic-18.3.1.dev11/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/ipa-streams-raw-images-1010327b0dad763c.yaml -> ironic-18.3.1.dev11/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/ipmi-cipher-suite-499097740f7c86ee.yaml -> ironic-18.3.1.dev11/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/ipmi-cmd-for-ipmi-consoles-2e1104f22df3efcd.yaml -> ironic-18.3.1.dev11/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/ipmi-console-port-ec6348df4eee6746.yaml -> ironic-18.3.1.dev11/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/ipmi-debug-1c7e090c6cc71903.yaml -> ironic-18.3.1.dev11/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/ipmi-disable-timeout-option-e730362007f9bedd.yaml -> ironic-18.3.1.dev11/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/ipmi-noop-mgmt-8fad89dc2b4665b8.yaml -> ironic-18.3.1.dev11/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/ipmi-retries-min-command-interval-070cd7eff5eb74dd.yaml -> ironic-18.3.1.dev11/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/ipmi_command_retry_timeout-889a49b402e82b97.yaml -> ironic-18.3.1.dev11/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/ipmi_hex_kg_key-8f6caabe5b7d7a9b.yaml -> ironic-18.3.1.dev11/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/ipminative-bootdev-uefi-954a0dd825bcef97.yaml -> ironic-18.3.1.dev11/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/ipmitool-bootdev-persistent-uefi-b1181a3c82343c8f.yaml -> ironic-18.3.1.dev11/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/ipmitool-use_ipmitool_retries-b55b2b8ed5cab603.yaml -> ironic-18.3.1.dev11/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/ipmitool-vendor-3f0f52240ebbe489.yaml -> ironic-18.3.1.dev11/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/ipv6-provision-67bd9c1dbcc48c97.yaml -> ironic-18.3.1.dev11/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/ipxe-and-uefi-7722bd5db71df02c.yaml -> ironic-18.3.1.dev11/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/ipxe-boot-interface-addition-faacb344a72389f2.yaml -> ironic-18.3.1.dev11/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/ipxe-command-line-ip-argument-4e92cf8bb912f62d.yaml -> ironic-18.3.1.dev11/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/ipxe-dhcp-b799bc326cd2529a.yaml -> ironic-18.3.1.dev11/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/ipxe-uefi-f5be11c7b0606a84.yaml -> ironic-18.3.1.dev11/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/ipxe-use-swift-5ccf490daab809cc.yaml -> ironic-18.3.1.dev11/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/ipxe-with-dhcpv6-2bc7bd7f53a70f51.yaml -> ironic-18.3.1.dev11/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/ipxe_retry_on_failure-e71fc6b3e9a5be3b.yaml -> ironic-18.3.1.dev11/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/ipxe_timeout_parameter-03fc3c76c520fac2.yaml -> ironic-18.3.1.dev11/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/irmc-add-certification-file-option-34e7a0062c768e58.yaml -> ironic-18.3.1.dev11/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/irmc-add-clean-step-reset-bios-config-a8bed625670b7fdf.yaml -> ironic-18.3.1.dev11/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/irmc-add-snmp-auth-protocols-3ff7597cea7ef9dd.yaml -> ironic-18.3.1.dev11/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/irmc-add-snmpv3-security-fca05bfc30f50d1a.yaml -> ironic-18.3.1.dev11/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/irmc-additional-capabilities-4fd72ba50d05676c.yaml -> ironic-18.3.1.dev11/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/irmc-align-with-ironic-default-boot-mode-dde6f65ea084c9e6.yaml -> ironic-18.3.1.dev11/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/irmc-append-params-380a281db43e6013.yaml -> ironic-18.3.1.dev11/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/irmc-boot-from-volume-4bc5d20a0a780669.yaml -> ironic-18.3.1.dev11/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/irmc-boot-interface-8c2e26affd1ebfc4.yaml -> ironic-18.3.1.dev11/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/irmc-boot-iso-0e93f97acfa59778.yaml -> ironic-18.3.1.dev11/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/irmc-dealing-with-ipxe-boot-interface-incompatibility-7d0b2bdb8f9deb46.yaml -> ironic-18.3.1.dev11/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/irmc-fix-repeatedly-resuming-clean-020f0dfc2e30d7bc.yaml -> ironic-18.3.1.dev11/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/irmc-manual-clean-bios-configuration-1ad24831501456d5.yaml -> ironic-18.3.1.dev11/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/irmc-manual-clean-create-raid-configuration-bccef8496520bf8c.yaml -> ironic-18.3.1.dev11/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/irmc-oob-inspection-6d072c60f6c88ecb.yaml -> ironic-18.3.1.dev11/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/irmc-set-polling-after-raid-build-5f78ee3e93a92553.yaml -> ironic-18.3.1.dev11/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/irmc-support-ipmitool-power-a3480a70753948e5.yaml -> ironic-18.3.1.dev11/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/ironic-11-prelude-6dae469633823f8d.yaml -> ironic-18.3.1.dev11/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/ironic-11.1-prelude-b5ba8134953db4c2.yaml -> ironic-18.3.1.dev11/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/ironic-12.0-prelude-9dd8e80a1a3e8f60.yaml -> ironic-18.3.1.dev11/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/ironic-cfg-defaults-4708eed8adeee609.yaml -> ironic-18.3.1.dev11/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/ironic-python-agent-multidevice-fix-3daa0760696b46b7.yaml -> ironic-18.3.1.dev11/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/ironic-status-upgrade-check-framework-9cd216ddf3afb271.yaml -> ironic-18.3.1.dev11/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/iscsi-ansible-steps-817b52269d2455b0.yaml -> ironic-18.3.1.dev11/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/iscsi-deprecation-eb184141f88e7182.yaml -> ironic-18.3.1.dev11/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/iscsi-inband-cleaning-bff87aac16e5d488.yaml -> ironic-18.3.1.dev11/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/iscsi-optional-cpu-arch-ebf6a90dde34172c.yaml -> ironic-18.3.1.dev11/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/iscsi-verify-attempts-28b1d00b13ba365a.yaml -> ironic-18.3.1.dev11/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/iscsi-whole-disk-cd464d589d029b01.yaml -> ironic-18.3.1.dev11/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/issue-conntrack-bionic-7483671771cf2e82.yaml -> ironic-18.3.1.dev11/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/json-rpc-0edc429696aca6f9.yaml -> ironic-18.3.1.dev11/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/json-rpc-bind-a0348cc6f5efe812.yaml -> ironic-18.3.1.dev11/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/json-rpc-ipv6-host-30eca350f34bc091.yaml -> ironic-18.3.1.dev11/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/json-rpc-timeout-ac30eea164b3a294.yaml -> ironic-18.3.1.dev11/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/json_rpc_http_basic-42dfc6ca2471a30e.yaml -> ironic-18.3.1.dev11/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/jsonrpc-logging-21670015bb845182.yaml -> ironic-18.3.1.dev11/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/jsonschema-966f55fc79b916fc.yaml -> ironic-18.3.1.dev11/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/jsonschema_draft04-1cb5fc4a3852f9ae.yaml -> ironic-18.3.1.dev11/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/keystone-auth-3155762c524e44df.yaml -> ironic-18.3.1.dev11/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/keystoneauth-adapter-opts-ca4f68f568e6cf6f.yaml -> ironic-18.3.1.dev11/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/keystoneauth-config-1baa45a0a2dd93b4.yaml -> ironic-18.3.1.dev11/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/kill-old-ramdisk-6fa7a16269ff11b0.yaml -> ironic-18.3.1.dev11/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/limit-memory-consumption-c7949a49853ba83d.yaml -> ironic-18.3.1.dev11/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/list-nodes-by-driver-a1ab9f2b73f652f8.yaml -> ironic-18.3.1.dev11/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/logging-keystoneauth-9db7e56c54c2473d.yaml -> ironic-18.3.1.dev11/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/lookup-heartbeat-f9772521d12a0549.yaml -> ironic-18.3.1.dev11/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/lookup-ignore-malformed-macs-09e7e909f3a134a3.yaml -> ironic-18.3.1.dev11/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/make-terminal-session-timeout-configurable-b2365b7699b0f98b.yaml -> ironic-18.3.1.dev11/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/make-versioned-notifications-topics-configurable-18d70d573c27809e.yaml -> ironic-18.3.1.dev11/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/manual-abort-d3d8985a5de7376a.yaml -> ironic-18.3.1.dev11/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/manual-clean-4cc2437be1aea69a.yaml -> ironic-18.3.1.dev11/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/mask-configdrive-contents-77fc557d6bc63b2b.yaml -> ironic-18.3.1.dev11/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/mask-ssh-creds-54ab7b2656578d2e.yaml -> ironic-18.3.1.dev11/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/mdns-a5f4034257139e31.yaml -> ironic-18.3.1.dev11/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/messaging-log-level-5f870ea69db53d26.yaml -> ironic-18.3.1.dev11/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/metrics-notifier-information-17858c8e27c795d7.yaml -> ironic-18.3.1.dev11/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/migrate-to-pysnmp-hlapi-477075b5e69cc5bc.yaml -> ironic-18.3.1.dev11/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/migrate_to_hardware_types-0c85c6707c4f296d.yaml -> ironic-18.3.1.dev11/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/migrate_vif_port_id-5e1496638240933d.yaml -> ironic-18.3.1.dev11/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/min-sushy-version-change-3b697530e0c05dee.yaml -> ironic-18.3.1.dev11/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/minor-agent-version-cleanup-842e3919a366b9d6.yaml -> ironic-18.3.1.dev11/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/missing-sw-raid-b7fdc9259612970d.yaml -> ironic-18.3.1.dev11/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/multi-arch-deploy-bcf840107fc94bef.yaml -> ironic-18.3.1.dev11/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/multiple-workers-for-send-sensor-data-89d29c12da30ec54.yaml -> ironic-18.3.1.dev11/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/multitenant-networking-0a13c4aba252573e.yaml -> ironic-18.3.1.dev11/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/name-root-device-hints-a1484ea01e399065.yaml -> ironic-18.3.1.dev11/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/name-suffix-47aea2d265fa75ae.yaml -> ironic-18.3.1.dev11/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/needs-agent-version-in-heartbeat-4e6806b679c53ec5.yaml -> ironic-18.3.1.dev11/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/net-names-b8a36aa30659ce2f.yaml -> ironic-18.3.1.dev11/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/netboot-fallback-b208b2c3b40a0d01.yaml -> ironic-18.3.1.dev11/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/network-flat-use-node-uuid-for-binding-hostid-afb43097e7204b99.yaml -> ironic-18.3.1.dev11/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/network_data_schema-9342edf3c47b2a66.yaml -> ironic-18.3.1.dev11/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/neutron-port-timeout-cbd82e1d09c6a46c.yaml -> ironic-18.3.1.dev11/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/neutron-port-update-598183909d44396c.yaml -> ironic-18.3.1.dev11/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/new_capabilities-5241619c4b46a460.yaml -> ironic-18.3.1.dev11/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/newton-driver-deprecations-e40369be37203057.yaml -> ironic-18.3.1.dev11/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/next-link-for-instance-uuid-f46eafe5b575f3de.yaml -> ironic-18.3.1.dev11/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/no-cache-df7caa45f3d8b6d7.yaml -> ironic-18.3.1.dev11/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/no-classic-drivers-e68d8527491314c3.yaml -> ironic-18.3.1.dev11/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/no-classic-idrac-4fbf1ba66c35fb4a.yaml -> ironic-18.3.1.dev11/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/no-classic-ilo-7822af6821d2f1cc.yaml -> ironic-18.3.1.dev11/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/no-classic-ipmi-7ec52a7b01e40536.yaml -> ironic-18.3.1.dev11/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/no-classic-irmc-3a606045e87119b7.yaml -> ironic-18.3.1.dev11/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/no-classic-oneview-e46ee2838d2b1d37.yaml -> ironic-18.3.1.dev11/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/no-classic-snmp-b77d267b535da216.yaml -> ironic-18.3.1.dev11/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/no-classic-ucs-cimc-7c62bb189ffbe0dd.yaml -> ironic-18.3.1.dev11/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/no-coreos-f8717f9bb6a64627.yaml -> ironic-18.3.1.dev11/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/no-downward-sql-migration-52279e875cd8b7a3.yaml -> ironic-18.3.1.dev11/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/no-fake-308b50d4ab83ca7a.yaml -> ironic-18.3.1.dev11/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/no-fake-bootif-505cc5bf48e7731f.yaml -> ironic-18.3.1.dev11/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/no-glance-v1-d249e8079f46f40c.yaml -> ironic-18.3.1.dev11/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/no-heartbeat-retries-d6837684e7257249.yaml -> ironic-18.3.1.dev11/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/no-instance-uuid-workaround-fc458deb168c7a8b.yaml -> ironic-18.3.1.dev11/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/no-last-error-overwrite-b90aac3303eb992e.yaml -> ironic-18.3.1.dev11/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/no-more-legacy-auth-eeb32f907d0ab5de.yaml -> ironic-18.3.1.dev11/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/no-power-on-842b21d55b07a632.yaml -> ironic-18.3.1.dev11/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/no-root-device-as-kernel-param-5e5326acae7b77a4.yaml -> ironic-18.3.1.dev11/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/no-sensors-in-maintenance-7a0ecf418336d105.yaml -> ironic-18.3.1.dev11/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/no-ssh-drivers-6ee5ff4c3ecdd3fb.yaml -> ironic-18.3.1.dev11/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/no-tokenless-agents-c6c16d79ccc0da7a.yaml -> ironic-18.3.1.dev11/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/node-boot-mode-0662effa2a2644dc.yaml -> ironic-18.3.1.dev11/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/node-boot-mode-change-api-c5e392e3cd6ea54b.yaml -> ironic-18.3.1.dev11/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/node-credentials-cleaning-b1903f49ffeba029.yaml -> ironic-18.3.1.dev11/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/node-deletion-update-resources-53862e48ab658f77.yaml -> ironic-18.3.1.dev11/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/node-fault-8c59c0ecb94ba562.yaml -> ironic-18.3.1.dev11/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/node-in-maintenance-fail-afd0eace24fa28be.yaml -> ironic-18.3.1.dev11/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/node-lessee-4fb320a597192742.yaml -> ironic-18.3.1.dev11/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/node-name-remove-720aa8007f2f8b75.yaml -> ironic-18.3.1.dev11/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/node-network-data-6f998aaa57020f4b.yaml -> ironic-18.3.1.dev11/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/node-owner-policy-d7168976bba70566.yaml -> ironic-18.3.1.dev11/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/node-owner-policy-ports-1d3193fd897feaa6.yaml -> ironic-18.3.1.dev11/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/node-owner-provision-fix-ee2348b5922f7648.yaml -> ironic-18.3.1.dev11/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/node-save-internal-info-c5cc8f56f1d0dab0.yaml -> ironic-18.3.1.dev11/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/node-storage-interface-api-1d6e217303bd53ff.yaml -> ironic-18.3.1.dev11/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/node-stuck-when-conductor-down-3aa41a3abed9daf5.yaml -> ironic-18.3.1.dev11/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/node-traits-2d950b62eea24491.yaml -> ironic-18.3.1.dev11/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/node-update-instance-info-extra-policies-862b2a70b941cf39.yaml -> ironic-18.3.1.dev11/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/nodes-classic-drivers-cannot-set-interfaces-620b37c4e5c88b80.yaml -> ironic-18.3.1.dev11/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/non-persistent-boot-5e3a0cd78e9dc91b.yaml -> ironic-18.3.1.dev11/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/noop-mgmt-a4b1a248492c7638.yaml -> ironic-18.3.1.dev11/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/notifications_driver_internal_info-3012f9834b6ade6b.yaml -> ironic-18.3.1.dev11/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/notify-node-storage-interface-7fd07ee7ee71cd22.yaml -> ironic-18.3.1.dev11/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/notify-topic-451493784ce45e73.yaml -> ironic-18.3.1.dev11/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/notimplementederror-misspell-276a181afd652cf6.yaml -> ironic-18.3.1.dev11/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/ocata-summary-a70f995cb3b18e18.yaml -> ironic-18.3.1.dev11/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/oneview-agent-mixin-removal-b7277e8f20df5ef2.yaml -> ironic-18.3.1.dev11/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/oneview-hardware-type-69bbb79da434871f.yaml -> ironic-18.3.1.dev11/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/oneview-inspection-interface-c2d6902bbeca0501.yaml -> ironic-18.3.1.dev11/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/oneview-node-free-for-ironic-61b05fee827664cb.yaml -> ironic-18.3.1.dev11/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/oneview-onetime-boot-64a68e135a45f5e2.yaml -> ironic-18.3.1.dev11/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/oneview-timeout-power-db5125e05831d925.yaml -> ironic-18.3.1.dev11/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/oneview-timing-metrics-0b6c1b54e80eb683.yaml -> ironic-18.3.1.dev11/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/online_data_migration_update_versions-ea03aff12d9c036f.yaml -> ironic-18.3.1.dev11/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/only_default_flat_network_if_enabled-b5c6ea415239a53c.yaml -> ironic-18.3.1.dev11/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/oob-power-off-7bbdf5947ed24bf8.yaml -> ironic-18.3.1.dev11/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/opentack-baremetal-request-id-daa72b785eaaaa8d.yaml -> ironic-18.3.1.dev11/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/optimize-driver-task-pattern-322e02b6a2233919.yaml -> ironic-18.3.1.dev11/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/optimize-ramdisk-log-filename-270c401780b16e9c.yaml -> ironic-18.3.1.dev11/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/option-no-cache-http-ramdisk-62fc29cdd1d5b152.yaml -> ironic-18.3.1.dev11/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/optional-redfish-system-id-3f6e8b0ac989cb9b.yaml -> ironic-18.3.1.dev11/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/orphan-nodes-389cb6d90c2917ec.yaml -> ironic-18.3.1.dev11/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/oslo-i18n-optional-76bab4d2697c6f94.yaml -> ironic-18.3.1.dev11/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/oslo-proxy-headers-middleware-22188a2976f8f460.yaml -> ironic-18.3.1.dev11/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/oslo-reports-optional-59469955eaffdf1d.yaml -> ironic-18.3.1.dev11/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/oslopolicy-scripts-bdcaeaf7dd9ce2ac.yaml -> ironic-18.3.1.dev11/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/osprofiler-61a330800abe4ee6.yaml -> ironic-18.3.1.dev11/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/parallel-6c54b4131b4ba991.yaml -> ironic-18.3.1.dev11/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/parallel-erasure-1943da9b53a2095d.yaml -> ironic-18.3.1.dev11/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/partprobe-retries-e69e9d20f3a3c2d3.yaml -> ironic-18.3.1.dev11/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/pass-metrics-config-to-agent-on-lookup-6db9ae187c4e8151.yaml -> ironic-18.3.1.dev11/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/pass-region-to-swiftclient-c8c8bf1020f62ebc.yaml -> ironic-18.3.1.dev11/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/pass_portgroup_settings_to_neutron-a6aec830a82c38a3.yaml -> ironic-18.3.1.dev11/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/periodic-tasks-drivers-ae9cddab88b546c6.yaml -> ironic-18.3.1.dev11/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/persist-redfish-sessions-d521a0846fa45c40.yaml -> ironic-18.3.1.dev11/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/pin-api-version-029748f7d3be68d1.yaml -> ironic-18.3.1.dev11/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/port-0-is-valid-d7188af3be6f3ecb.yaml -> ironic-18.3.1.dev11/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/port-list-bad-request-078512862c22118e.yaml -> ironic-18.3.1.dev11/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/port-list-by-project-8cfaf3b2cf0dd627.yaml -> ironic-18.3.1.dev11/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/port-local-link-connection-network-type-71103d919e27fc5d.yaml -> ironic-18.3.1.dev11/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/port-physical-network-a7009dc514353796.yaml -> ironic-18.3.1.dev11/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/port_delete-6628b736a1b556f6.yaml -> ironic-18.3.1.dev11/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/portgroup-crud-notifications-91204635528972b2.yaml -> ironic-18.3.1.dev11/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/portgroup-mac-649ed31c3525e4f0.yaml -> ironic-18.3.1.dev11/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/power-fault-recovery-6e22f0114ceee203.yaml -> ironic-18.3.1.dev11/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/power-off-token-0403e8a054f31125.yaml -> ironic-18.3.1.dev11/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/poweroff-after-10-tries-c592506f02c167c0.yaml -> ironic-18.3.1.dev11/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/prelude-for-seventeen-638544be837c54fa.yaml -> ironic-18.3.1.dev11/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/prelude-for-victoria-e65b4c63ce1e1a7a.yaml -> ironic-18.3.1.dev11/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/prelude-to-the-stein-f25b6073b6d1c598.yaml -> ironic-18.3.1.dev11/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/prevent-callback-url-from-being-updated-41d50b20fb236e82.yaml -> ironic-18.3.1.dev11/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/prevent-ports-with-vif-deletion-3edac3df5aa1becf.yaml -> ironic-18.3.1.dev11/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/prevent-pxe-retry-when-token-exists-a4f38f7da56c1397.yaml -> ironic-18.3.1.dev11/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/project-scoped-rbac-063c44ba593bb82a.yaml -> ironic-18.3.1.dev11/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/proliantutils_version_update-b6e5ff0e496215a5.yaml -> ironic-18.3.1.dev11/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/protected-650acb2c8a387e17.yaml -> ironic-18.3.1.dev11/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/protected-unset-0620b844afbb635e.yaml -> ironic-18.3.1.dev11/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/provide_mountpoint-58cfd25b6dd4cfde.yaml -> ironic-18.3.1.dev11/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/pxe-append-params-9cd5831959676371.yaml -> ironic-18.3.1.dev11/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/pxe-boot-mode-9084ccf35e54bbc0.yaml -> ironic-18.3.1.dev11/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/pxe-enabled-ports-check-c1736215dce76e97.yaml -> ironic-18.3.1.dev11/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/pxe-retry-762a00ba1089bd75.yaml -> ironic-18.3.1.dev11/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/pxe-snmp-driver-supported-9c559c6182c6ec4b.yaml -> ironic-18.3.1.dev11/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/pxe-takeover-d8f14bcb60e5b121.yaml -> ironic-18.3.1.dev11/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/queens-prelude-61fb897e96ed64c5.yaml -> ironic-18.3.1.dev11/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/radosgw-temp-url-b04aac50698b4461.yaml -> ironic-18.3.1.dev11/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/raid-dell-boss-e9c5da9ddceedd67.yaml -> ironic-18.3.1.dev11/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/raid-hints-c27097ded0137f7c.yaml -> ironic-18.3.1.dev11/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/raid-max-c0920cc44b9779ee.yaml -> ironic-18.3.1.dev11/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/raid-remove-root-hint-ec87efd18e894256.yaml -> ironic-18.3.1.dev11/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/raid-to-support-jbod-568f88207b9216e2.yaml -> ironic-18.3.1.dev11/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/raise-bad-request-exception-on-validating-inspection-failure-57d7fd2999cf4ecf.yaml -> ironic-18.3.1.dev11/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/ramdisk-boot-fails-4e8286e6a4e0dfb6.yaml -> ironic-18.3.1.dev11/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/ramdisk-clean-2d3b033a401b911b.yaml -> ironic-18.3.1.dev11/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/ramdisk-cleaning-f4e061f978bd6ac4.yaml -> ironic-18.3.1.dev11/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/ramdisk-configdrive-142149339dd00b47.yaml -> ironic-18.3.1.dev11/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/ramdisk-grub-use-user-kernel-ramdisk-7d572fe130932605.yaml -> ironic-18.3.1.dev11/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/ramdisk-image-download-source-7a071aba7890ba95.yaml -> ironic-18.3.1.dev11/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/ramdisk-params-6083bfaa7ffa9dfe.yaml -> ironic-18.3.1.dev11/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/ramdisk-validate-acbc4acdb71d10c2.yaml -> ironic-18.3.1.dev11/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/raw_image_growth_factor-cba37029650e67db.yaml -> ironic-18.3.1.dev11/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/reactive-ibmc-driver-d2149ca81a198090.yaml -> ironic-18.3.1.dev11/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/reboot-do-not-power-off-if-already-1452256167d40009.yaml -> ironic-18.3.1.dev11/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/rebuild-configdrive-f52479fd55b0f5ce.yaml -> ironic-18.3.1.dev11/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/redfish-add-root-prefix-03b5f31ec6bbd146.yaml -> ironic-18.3.1.dev11/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/redfish-append-params-4d28d922484c2731.yaml -> ironic-18.3.1.dev11/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/redfish-autocreate-ports-53712a46dadd8203.yaml -> ironic-18.3.1.dev11/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/redfish-bios-interface-a1acd8122c896a38.yaml -> ironic-18.3.1.dev11/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/redfish-boot-mode-a44fc569f1baca8f.yaml -> ironic-18.3.1.dev11/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/redfish-boot-mode-override-not-present-handling-92e7263617e467c4.yaml -> ironic-18.3.1.dev11/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/redfish-config-usb-3e9a7543b2912ae7.yaml -> ironic-18.3.1.dev11/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/redfish-connection-cache-pool-accesserror-743e39a2f017b990.yaml -> ironic-18.3.1.dev11/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/redfish-deploy-iso-60873289278bf28f.yaml -> ironic-18.3.1.dev11/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/redfish-deploy-iso-9671ae83108f6385.yaml -> ironic-18.3.1.dev11/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/redfish-eject-iso-9875388ae09bc8f6.yaml -> ironic-18.3.1.dev11/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/redfish-firmware-update-a06d0624325a66ca.yaml -> ironic-18.3.1.dev11/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/redfish-fix-bios-settings-apply-time-9b50979d2afc0d27.yaml -> ironic-18.3.1.dev11/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/redfish-iso-pregenerated-97040711c4537726.yaml -> ironic-18.3.1.dev11/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/redfish-managed-inspection-936341ffa8e1f22a.yaml -> ironic-18.3.1.dev11/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/redfish-noop-mgmt-b61d02b77b1c9d6b.yaml -> ironic-18.3.1.dev11/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/redfish-power-87062756bce8b047.yaml -> ironic-18.3.1.dev11/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/redfish-priorities-adf4b7bfbee0ca25.yaml -> ironic-18.3.1.dev11/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/redfish-raid-interface-e362e7a0e7140962.yaml -> ironic-18.3.1.dev11/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/redfish-sadness-6e2a37b3f45ef1aa.yaml -> ironic-18.3.1.dev11/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/redfish-secure-boot-8e3b2fcad137e31e.yaml -> ironic-18.3.1.dev11/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/redfish-virtual-media-permission-fix-1909b9cdbbbf9fd1.yaml -> ironic-18.3.1.dev11/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/redfish-vmedia-opt-59cafdde83fb2be7.yaml -> ironic-18.3.1.dev11/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/redfish-vmedia-vendor-fc76086893d99415.yaml -> ironic-18.3.1.dev11/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/redfish_mgmt_clean_steps-c983a8858835046d.yaml -> ironic-18.3.1.dev11/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/redundant-maintenance-09849674334f656a.yaml -> ironic-18.3.1.dev11/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/refactor-ironic-lib-22939896d8d46a77.yaml -> ironic-18.3.1.dev11/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/register_hardware_interfaces_together-7b458a59f5e8f41f.yaml -> ironic-18.3.1.dev11/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/release-4.3.0-cc531ab7190f8a00.yaml -> ironic-18.3.1.dev11/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/release-reservation-on-conductor-stop-6ebbcdf92da57ca6.yaml -> ironic-18.3.1.dev11/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/releasenote-b3b25c13ea1e2844.yaml -> ironic-18.3.1.dev11/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/reloadable-301ec2aa421abf66.yaml -> ironic-18.3.1.dev11/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/rely-on-standalone-ports-supported-8153e1135787828b.yaml -> ironic-18.3.1.dev11/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/removal-pre-allocation-for-oneview-09310a215b3aaf3c.yaml -> ironic-18.3.1.dev11/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/remove-DEPRECATED-options-from-[agent]-7b6cce21b5f52022.yaml -> ironic-18.3.1.dev11/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/remove-agent-heartbeat-timeout-abf8787b8477bae7.yaml -> ironic-18.3.1.dev11/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/remove-agent-passthru-432b18e6c430cee6.yaml -> ironic-18.3.1.dev11/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/remove-agent-passthru-complete-a6b2df65b95889d5.yaml -> ironic-18.3.1.dev11/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/remove-agent_last_heartbeat-65a9fe02f20465c5.yaml -> ironic-18.3.1.dev11/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/remove-ansible_deploy-driver-options-a28dc2f36110a67a.yaml -> ironic-18.3.1.dev11/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/remove-app-wsgi-d5887ca28e4b9f00.yaml -> ironic-18.3.1.dev11/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/remove-clean-nodes-38cfa633ca518f99.yaml -> ironic-18.3.1.dev11/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/remove-clustered-compute-manager-6b45ed3803be53d1.yaml -> ironic-18.3.1.dev11/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/remove-deprecated-build-instance-info-for-deploy-2fe165fc018010e4.yaml -> ironic-18.3.1.dev11/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/remove-deprecated-deploy-erase-devices-iterations-55680ab95cbce3e9.yaml -> ironic-18.3.1.dev11/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/remove-deprecated-dhcp-provider-method-89926a8f0f4793a4.yaml -> ironic-18.3.1.dev11/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/remove-deprecated-dhcp-provider-methods-582742f3000be3c7.yaml -> ironic-18.3.1.dev11/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/remove-deprecated-drac_host-865be09c6e8fcb90.yaml -> ironic-18.3.1.dev11/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/remove-deprecated-hash_distribution_replicas-08351358eba4c9e1.yaml -> ironic-18.3.1.dev11/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/remove-deprecated-ilo-clean-priority-erase-devices-bb3073da562ed41d.yaml -> ironic-18.3.1.dev11/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/remove-deprecated-option-names-6d5d53cc70dd2d49.yaml -> ironic-18.3.1.dev11/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/remove-discoverd-group-03eaf75e9f94d7be.yaml -> ironic-18.3.1.dev11/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/remove-driver-object-periodic-tasks-1357a1cd3589becf.yaml -> ironic-18.3.1.dev11/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/remove-driver-periodic-task-f5e513b06b601ce4.yaml -> ironic-18.3.1.dev11/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/remove-elilo-support-7fc1227f66e59084.yaml -> ironic-18.3.1.dev11/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/remove-enabled-drivers-5afcd77b53da1499.yaml -> ironic-18.3.1.dev11/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/remove-exception-message-92100debeb40d4c7.yaml -> ironic-18.3.1.dev11/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/remove-extra-vif-port-id-ea4e59176c2065fd.yaml -> ironic-18.3.1.dev11/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/remove-filename-param-from-vmedia-url-bf4773ede44f2206.yaml -> ironic-18.3.1.dev11/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/remove-glance-num-retries-24898fc9230d9497.yaml -> ironic-18.3.1.dev11/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/remove-inspecting-state-support-10325bdcdd182079.yaml -> ironic-18.3.1.dev11/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/remove-ipmi-retry-timeout-c1b2cf7df6771a43.yaml -> ironic-18.3.1.dev11/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/remove-ipminative-driver-3367d25bbcc41fdc.yaml -> ironic-18.3.1.dev11/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/remove-ipxe-enabled-opt-61d106f01c46acab.yaml -> ironic-18.3.1.dev11/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/remove-ipxe-tags-with-ipv6-cf4b7937c27590d6.yaml -> ironic-18.3.1.dev11/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/remove-iscsi-deploy-ipa-mitaka-c0efa0d5c31933b6.yaml -> ironic-18.3.1.dev11/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/remove-iscsi-verify-attempts-ede5b56b0545da08.yaml -> ironic-18.3.1.dev11/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/remove-locks-first-d12ac27106f800f8.yaml -> ironic-18.3.1.dev11/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/remove-manage-tftp-0c2f4f417b92b1ee.yaml -> ironic-18.3.1.dev11/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/remove-messaging-aliases-0a6ba1ed392b1fed.yaml -> ironic-18.3.1.dev11/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/remove-metric-pxe-boot-option-1aec41aebecc1ce9.yaml -> ironic-18.3.1.dev11/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/remove-most-unsupported-049f3401c2554a3c.yaml -> ironic-18.3.1.dev11/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/remove-neutron-client-workarounds-996c59623684929b.yaml -> ironic-18.3.1.dev11/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/remove-oneview-9315c7b926fd4aa2.yaml -> ironic-18.3.1.dev11/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/remove-periodic-interval-45f57ebad9aaa14e.yaml -> ironic-18.3.1.dev11/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/remove-policy-json-be92ffdba7bda951.yaml -> ironic-18.3.1.dev11/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/remove-pxe-http-5a05c54f57747bfe.yaml -> ironic-18.3.1.dev11/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/remove-python-oneviewclient-b1d345ef861e156e.yaml -> ironic-18.3.1.dev11/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/remove-radosgw-config-b664f3023dc8403c.yaml -> ironic-18.3.1.dev11/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/remove-ssh-power-port-delay-7ae6e5eb893439cd.yaml -> ironic-18.3.1.dev11/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/remove-verbose-option-261f1b9e24212ee2.yaml -> ironic-18.3.1.dev11/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/remove-vifs-on-teardown-707c8e40c46b6e64.yaml -> ironic-18.3.1.dev11/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/remove_pxe_ip_version-7a71f821ded28360.yaml -> ironic-18.3.1.dev11/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/remove_vagrant-4472cedd0284557c.yaml -> ironic-18.3.1.dev11/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/removed-glance-host-port-protocol-dc6e682097ba398f.yaml -> ironic-18.3.1.dev11/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/removed-keystone-section-1ec46442fb332c29.yaml -> ironic-18.3.1.dev11/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/rename-iso-builder-func-46694ed6ded84f4a.yaml -> ironic-18.3.1.dev11/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/replace-neutronclient-with-openstacksdk-20c06d9d0316c2df.yaml -> ironic-18.3.1.dev11/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/require-tls-3880e6bec3075f4d.yaml -> ironic-18.3.1.dev11/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/rescue-interface-for-ilo-hardware-type-2392989d0fef8849.yaml -> ironic-18.3.1.dev11/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/rescue-interface-for-irmc-hardware-type-17e38197849748e0.yaml -> ironic-18.3.1.dev11/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/rescue-node-87e3b673c61ef628.yaml -> ironic-18.3.1.dev11/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/reserved-node-names-67a08012ed1131ae.yaml -> ironic-18.3.1.dev11/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/reset-interface-e62036ac76b87486.yaml -> ironic-18.3.1.dev11/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/resource-class-change-563797d5a3c35683.yaml -> ironic-18.3.1.dev11/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/resource-classes-1bf903547236a473.yaml -> ironic-18.3.1.dev11/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/resources-crud-notifications-70cba9f761da3afe.yaml -> ironic-18.3.1.dev11/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/restart-console-on-conductor-startup-5cff6128c325b18e.yaml -> ironic-18.3.1.dev11/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/restrict-sync-mode-after-device-to-supermicro-218e8cb57735c685.yaml -> ironic-18.3.1.dev11/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/resume-cleaning-post-oob-reboot-b76c23f98219a8d2.yaml -> ironic-18.3.1.dev11/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/retry-vmedia-1999742c84f11103.yaml -> ironic-18.3.1.dev11/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/reusing-oneview-client-6a3936fb8f113c10.yaml -> ironic-18.3.1.dev11/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/rolling-upgrades-ccad5159ca3cedbe.yaml -> ironic-18.3.1.dev11/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/root-api-version-info-9dd6cadd3d3d4bbe.yaml -> ironic-18.3.1.dev11/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/root-device-hints-rotational-c21f02130394e1d4.yaml -> ironic-18.3.1.dev11/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/scciclient-0.4.0-6f01c0f0a5c39062.yaml -> ironic-18.3.1.dev11/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/secure-boot-cf1c134bfb75768d.yaml -> ironic-18.3.1.dev11/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/secure-rbac-api-version-increment-1785544f54a487b3.yaml -> ironic-18.3.1.dev11/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/secure-rbac-policy-sanitization-performance-dc7886952144bb04.yaml -> ironic-18.3.1.dev11/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/security_groups-b57a5d6c30c2fae4.yaml -> ironic-18.3.1.dev11/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/send-sensor-data-for-all-nodes-a732d9df43e74318.yaml -> ironic-18.3.1.dev11/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/server_profile_template_uri-c79e4f15cc20a1cf.yaml -> ironic-18.3.1.dev11/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/set-boot-mode-4c42b3fd0b5f5b37.yaml -> ironic-18.3.1.dev11/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/setting_provisioning_cleaning_network-fb60caa1cf59cdcf.yaml -> ironic-18.3.1.dev11/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/shellinabox-locking-fix-2fae2a451a8a489a.yaml -> ironic-18.3.1.dev11/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/shred-final-overwrite-with-zeros-50b5ba5b19c0da27.yaml -> ironic-18.3.1.dev11/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/sighup-service-reloads-configs-0e2462e3f064a2ff.yaml -> ironic-18.3.1.dev11/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/silence-rbac-deprecation-for-now-779898e720a7bf4e.yaml -> ironic-18.3.1.dev11/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/skip-nonraid-controllers-f4a79e2c9e8080ce.yaml -> ironic-18.3.1.dev11/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/skip-power-sync-for-adoptfail-d2498f1a2e997ed7.yaml -> ironic-18.3.1.dev11/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/smartnic-logic-has-merged-in-neutron-79078280d40f042c.yaml -> ironic-18.3.1.dev11/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/snmp-driver-udp-transport-settings-67419be988fcff40.yaml -> ironic-18.3.1.dev11/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/snmp-hardware-type-ee3d471cf5c596f4.yaml -> ironic-18.3.1.dev11/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/snmp-noop-mgmt-53e93ac3b6dd8517.yaml -> ironic-18.3.1.dev11/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/snmp-outlet-validate-ffbe8e6687172efc.yaml -> ironic-18.3.1.dev11/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/snmp-reboot-delay-d18ee3f6c6fc0998.yaml -> ironic-18.3.1.dev11/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/socat-address-conf-5cf043fabb10bd76.yaml -> ironic-18.3.1.dev11/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/socat-console-port-alloc-ipv6-26760f53f86209d0.yaml -> ironic-18.3.1.dev11/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/socat-respawn-de9e8805c820a7ac.yaml -> ironic-18.3.1.dev11/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/soft-power-operations-oneview-e7ac054668235998.yaml -> ironic-18.3.1.dev11/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/soft-reboot-poweroff-9fdb0a4306dd668d.yaml -> ironic-18.3.1.dev11/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/software-raid-4a88e6c5af9ea742.yaml -> ironic-18.3.1.dev11/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/software-raid-with-uefi-5b88e6c5af9ea743.yaml -> ironic-18.3.1.dev11/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/sofware_raid_use_rootfs_uuid-f61eb671d696d251.yaml -> ironic-18.3.1.dev11/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/sort_key_allowed_field-091f8eeedd0a2ace.yaml -> ironic-18.3.1.dev11/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/spawn-error-2249f94606388fbd.yaml -> ironic-18.3.1.dev11/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/ssh-console-58721af6830f8892.yaml -> ironic-18.3.1.dev11/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/sslerror-287edf7f8b3c5f1c.yaml -> ironic-18.3.1.dev11/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/stop-console-during-unprovision-a29d8facb3f03be5.yaml -> ironic-18.3.1.dev11/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/story-2002600-return-503-if-no-conductors-online-ead1512628182ec4.yaml -> ironic-18.3.1.dev11/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/story-2002637-4825d60b096e475b.yaml -> ironic-18.3.1.dev11/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/story-2004266-4725d327900850bf.yaml -> ironic-18.3.1.dev11/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/story-2004444-f540d9bbc3532ad0.yaml -> ironic-18.3.1.dev11/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/story-2006217-redfish-bios-cleaning-fails-fee32f04dd97cbd2.yaml -> ironic-18.3.1.dev11/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/story-2006218-uefi-iso-creation-fails-ba0180991fdd0783.yaml -> ironic-18.3.1.dev11/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/story-2006223-ilo-hpsum-firmware-update-fails-622883e4785313c1.yaml -> ironic-18.3.1.dev11/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/story-2006288-ilo-power-on-fails-with-no-boot-device-b698fef59b04e515.yaml -> ironic-18.3.1.dev11/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/story-2006316-raid-create-fails-c3661e185fb11c9f.yaml -> ironic-18.3.1.dev11/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/story-2006321-ilo5-raid-create-fails-1bb1e648da0db0f1.yaml -> ironic-18.3.1.dev11/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/story-2008323-fix-stuck-deploying-state-43d51149a02c08b8.yaml -> ironic-18.3.1.dev11/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/streaming-partition-images-d58fe619658b066e.yaml -> ironic-18.3.1.dev11/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/sum-based-update-firmware-manual-clean-step-e69ade488060cf27.yaml -> ironic-18.3.1.dev11/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/supermicro-redfish-override-enabled-aa51686ed33d3061.yaml -> ironic-18.3.1.dev11/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/support-httpheaders-in-create-subscription-e383137f0db1ae21.yaml -> ironic-18.3.1.dev11/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/support-irmc-driver-again-589db26927e32847.yaml -> ironic-18.3.1.dev11/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/support-root-device-hints-with-operators-96cf34fa37b5b2e8.yaml -> ironic-18.3.1.dev11/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/support_to_hash_rescue_password-0915927e41e6d845.yaml -> ironic-18.3.1.dev11/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/sync-boot-mode-after-changing-redfish-device-f60ef90ba5675215.yaml -> ironic-18.3.1.dev11/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/system-scoped-authentication-28e3651de250bea8.yaml -> ironic-18.3.1.dev11/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/taskmanager-lazy-load-32a14526c647c2f0.yaml -> ironic-18.3.1.dev11/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/tempest_plugin_removal-009f9ce8456b16fe.yaml -> ironic-18.3.1.dev11/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/token-reboot-3f18cf73e4dd10d3.yaml -> ironic-18.3.1.dev11/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/token-reboot-b48b5981a58a30ae.yaml -> ironic-18.3.1.dev11/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/train-release-59ff1643ec92c10a.yaml -> ironic-18.3.1.dev11/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/transmit-all-ports-b570009d1a008067.yaml -> ironic-18.3.1.dev11/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/type-error-str-6826c53d7e5e1243.yaml -> ironic-18.3.1.dev11/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/uefi-first-prepare-e7fa1e2a78b4af99.yaml -> ironic-18.3.1.dev11/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/uefi-grub2-by-default-6b797a9e690d2dd5.yaml -> ironic-18.3.1.dev11/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/uefi_https_secure_boot_support-41f4976e02c11162.yaml -> ironic-18.3.1.dev11/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/undeprecate-xclarity-4f4752017e8310e7.yaml -> ironic-18.3.1.dev11/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/unrescue-token-ae664a17343e0610.yaml -> ironic-18.3.1.dev11/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/unsave-power-state-on-adopt-failed-09194c8269c779de.yaml -> ironic-18.3.1.dev11/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/update-boot_mode-for-cleaning-scenario-for-ilo-hardware-type-ebca86da8fc271f6.yaml -> ironic-18.3.1.dev11/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/update-clear-job-id-constant-fix-c69cf96c55364bb3.yaml -> ironic-18.3.1.dev11/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/update-irmc-set-boot-device-fd50d9dce42aaa89.yaml -> ironic-18.3.1.dev11/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/update-live-port-ee3fa9b77f5d0cf7.yaml -> ironic-18.3.1.dev11/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/update-port-pxe-enabled-f954f934209cbf5b.yaml -> ironic-18.3.1.dev11/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/update-proliantutils-version-20ebcc22dc2df527.yaml -> ironic-18.3.1.dev11/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/update-proliantutils-version-54c0cd5c5d3c01dc.yaml -> ironic-18.3.1.dev11/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/update-python-scciclient-required-version-71398d5d5e1c0bf8.yaml -> ironic-18.3.1.dev11/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/upgrade-delete_configuration-0f0bb43c57278734.yaml -> ironic-18.3.1.dev11/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/upgrade_oslo_db_version-idrac_redfish_inspection_bugfix-b5edd35c337f80fc.yaml -> ironic-18.3.1.dev11/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/use-current-node-driver_internal_info-5c11de8f2c2b2e87.yaml -> ironic-18.3.1.dev11/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/use-dhcp-option-numbers-8b0b0efae912ff5f.yaml -> ironic-18.3.1.dev11/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/use-image-format-for-memory-check-25b1f06701ccdc47.yaml -> ironic-18.3.1.dev11/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/use-ironic-lib-exception-4bff237c9667bf46.yaml -> ironic-18.3.1.dev11/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/use_secrets_to_generate_token-55af0f43e5a80b9e.yaml -> ironic-18.3.1.dev11/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/v1-discovery-4311398040581fe8.yaml -> ironic-18.3.1.dev11/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/validate-ilo-certificates-3ab98bb8cfad7d60.yaml -> ironic-18.3.1.dev11/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/validate-image-url-wnen-deploying-8820f4398ea9de9f.yaml -> ironic-18.3.1.dev11/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/validate-instance-traits-525dd3150aa6afa2.yaml -> ironic-18.3.1.dev11/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/validate-node-properties-73509ee40f409ca2.yaml -> ironic-18.3.1.dev11/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/validate-port-info-before-using-it-e26135982d37c698.yaml -> ironic-18.3.1.dev11/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/vendor-passthru-eject-vmedia-e4456320ee1c70c1.yaml -> ironic-18.3.1.dev11/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/vendor-passthru-shared-lock-6a9e32952ee6c2fe.yaml -> ironic-18.3.1.dev11/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/vendor-passthru-subscription-5d28a2420e2af111.yaml -> ironic-18.3.1.dev11/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/verify-bool-ab3607429e005bed.yaml -> ironic-18.3.1.dev11/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/vif-detach-locking-fix-7be66f8150e19819.yaml -> ironic-18.3.1.dev11/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/vif-detach-locking-fix-revert-3961d47fe419460a.yaml -> ironic-18.3.1.dev11/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/vif-port-attach-17a9993bf5c21d69.yaml -> ironic-18.3.1.dev11/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/vmedia-boot-mode-f75c6fbef6349cbf.yaml -> ironic-18.3.1.dev11/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/vmedia-fast-track-903076c33c4aca04.yaml -> ironic-18.3.1.dev11/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/vmedia-inject-files-b6e226e2db4cff06.yaml -> ironic-18.3.1.dev11/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/vmedia-tls-117daa5ae0a9e30d.yaml -> ironic-18.3.1.dev11/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/volume-connector-and-target-api-dd172f121ab3af8e.yaml -> ironic-18.3.1.dev11/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/volume-multipath-63b96f8331e771ae.yaml -> ironic-18.3.1.dev11/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/webserver-timeout-d85781bf634cef39.yaml -> ironic-18.3.1.dev11/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/whole-disk-root-gb-9132e5a354e6cb9d.yaml -> ironic-18.3.1.dev11/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/whole-disk-scsi-install-bootloader-f7e791d82da476ca.yaml -> ironic-18.3.1.dev11/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/wipe-disk-before-deployment-0a8b9cede4a659e9.yaml -> ironic-18.3.1.dev11/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/wsgi-applications-5d36cf2a8885a56d.yaml -> ironic-18.3.1.dev11/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/wwn-extension-root-device-hints-de40ca1444ba4888.yaml -> ironic-18.3.1.dev11/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/xclarity-driver-622800d17459e3f9.yaml -> ironic-18.3.1.dev11/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/xclarity-mask-password-9fe7605ece7689c3.yaml -> ironic-18.3.1.dev11/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/xenserver-ssh-driver-398084fe91ac56f1.yaml -> ironic-18.3.1.dev11/releasenotes/notes DEBUG util.py:445: copying releasenotes/notes/zero-temp-url-c21e208f8933c6f6.yaml -> ironic-18.3.1.dev11/releasenotes/notes DEBUG util.py:445: copying releasenotes/source/conf.py -> ironic-18.3.1.dev11/releasenotes/source DEBUG util.py:445: copying releasenotes/source/index.rst -> ironic-18.3.1.dev11/releasenotes/source DEBUG util.py:445: copying releasenotes/source/liberty.rst -> ironic-18.3.1.dev11/releasenotes/source DEBUG util.py:445: copying releasenotes/source/mitaka.rst -> ironic-18.3.1.dev11/releasenotes/source DEBUG util.py:445: copying releasenotes/source/newton.rst -> ironic-18.3.1.dev11/releasenotes/source DEBUG util.py:445: copying releasenotes/source/ocata.rst -> ironic-18.3.1.dev11/releasenotes/source DEBUG util.py:445: copying releasenotes/source/pike.rst -> ironic-18.3.1.dev11/releasenotes/source DEBUG util.py:445: copying releasenotes/source/queens.rst -> ironic-18.3.1.dev11/releasenotes/source DEBUG util.py:445: copying releasenotes/source/rocky.rst -> ironic-18.3.1.dev11/releasenotes/source DEBUG util.py:445: copying releasenotes/source/stein.rst -> ironic-18.3.1.dev11/releasenotes/source DEBUG util.py:445: copying releasenotes/source/train.rst -> ironic-18.3.1.dev11/releasenotes/source DEBUG util.py:445: copying releasenotes/source/unreleased.rst -> ironic-18.3.1.dev11/releasenotes/source DEBUG util.py:445: copying releasenotes/source/ussuri.rst -> ironic-18.3.1.dev11/releasenotes/source DEBUG util.py:445: copying releasenotes/source/victoria.rst -> ironic-18.3.1.dev11/releasenotes/source DEBUG util.py:445: copying releasenotes/source/wallaby.rst -> ironic-18.3.1.dev11/releasenotes/source DEBUG util.py:445: copying releasenotes/source/_static/.placeholder -> ironic-18.3.1.dev11/releasenotes/source/_static DEBUG util.py:445: copying releasenotes/source/_templates/.placeholder -> ironic-18.3.1.dev11/releasenotes/source/_templates DEBUG util.py:445: copying releasenotes/source/locale/en_GB/LC_MESSAGES/releasenotes.po -> ironic-18.3.1.dev11/releasenotes/source/locale/en_GB/LC_MESSAGES DEBUG util.py:445: copying releasenotes/source/locale/ja/LC_MESSAGES/releasenotes.po -> ironic-18.3.1.dev11/releasenotes/source/locale/ja/LC_MESSAGES DEBUG util.py:445: copying tools/__init__.py -> ironic-18.3.1.dev11/tools DEBUG util.py:445: copying tools/bandit.yml -> ironic-18.3.1.dev11/tools DEBUG util.py:445: copying tools/check-releasenotes.py -> ironic-18.3.1.dev11/tools DEBUG util.py:445: copying tools/flake8wrap.sh -> ironic-18.3.1.dev11/tools DEBUG util.py:445: copying tools/link_aggregation_on_windows.ps1 -> ironic-18.3.1.dev11/tools DEBUG util.py:445: copying tools/run_bashate.sh -> ironic-18.3.1.dev11/tools DEBUG util.py:445: copying tools/states_to_dot.py -> ironic-18.3.1.dev11/tools DEBUG util.py:445: copying tools/test-setup.sh -> ironic-18.3.1.dev11/tools DEBUG util.py:445: copying tools/with_venv.sh -> ironic-18.3.1.dev11/tools DEBUG util.py:445: copying tools/benchmark/README -> ironic-18.3.1.dev11/tools/benchmark DEBUG util.py:445: copying tools/benchmark/do_not_run_create_benchmark_data.py -> ironic-18.3.1.dev11/tools/benchmark DEBUG util.py:445: copying tools/benchmark/generate-statistics.py -> ironic-18.3.1.dev11/tools/benchmark DEBUG util.py:445: copying tools/config/ironic-config-generator.conf -> ironic-18.3.1.dev11/tools/config DEBUG util.py:445: copying tools/policy/ironic-policy-generator.conf -> ironic-18.3.1.dev11/tools/policy DEBUG util.py:445: copying zuul.d/ironic-jobs.yaml -> ironic-18.3.1.dev11/zuul.d DEBUG util.py:445: copying zuul.d/project.yaml -> ironic-18.3.1.dev11/zuul.d DEBUG util.py:445: Writing ironic-18.3.1.dev11/setup.cfg DEBUG util.py:445: creating dist DEBUG util.py:445: Creating tar archive DEBUG util.py:445: removing 'ironic-18.3.1.dev11' (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-xena-x86_64-5-bootstrap/root/var/lib/mock/dlrn-centos9-xena-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-xena-x86_64-5-bootstrap/root/var/lib/mock/dlrn-centos9-xena-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-xena-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-xena-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-xena-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-xena-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-xena-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-xena-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-xena-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-xena-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-xena-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-xena-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-xena-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-xena-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-xena-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-xena-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-xena-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-xena-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-xena-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-xena-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-xena-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-xena-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-xena-x86_64-5/root/dev/pts DEBUG file_util.py:17: ensuring that dir exists: /var/lib/mock/dlrn-centos9-xena-x86_64-5/root/dev/shm DEBUG file_util.py:17: ensuring that dir exists: /var/lib/mock/dlrn-centos9-xena-x86_64-5/root/dev/mapper DEBUG file_util.py:20: creating dir: /var/lib/mock/dlrn-centos9-xena-x86_64-5/root/dev/mapper DEBUG buildroot.py:687: kernel version == 4.18.0-485.el8.x86_64 DEBUG file_util.py:30: touching file: /var/lib/mock/dlrn-centos9-xena-x86_64-5/root/etc/fstab DEBUG file_util.py:30: touching file: /var/lib/mock/dlrn-centos9-xena-x86_64-5/root/etc/yum/yum.conf DEBUG file_util.py:30: touching file: /var/lib/mock/dlrn-centos9-xena-x86_64-5/root/etc/dnf/dnf.conf DEBUG file_util.py:30: touching file: /var/lib/mock/dlrn-centos9-xena-x86_64-5/root/var/log/yum.log DEBUG file_util.py:17: ensuring that dir exists: /var/lib/mock/dlrn-centos9-xena-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-xena-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-xena-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-xena-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-xena-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-xena-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-xena-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-xena-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-xena-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-xena-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-xena-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-xena-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-xena-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-xena-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-xena-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-xena-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-xena-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-xena-x86_64-5/yum_cache', '/var/lib/mock/dlrn-centos9-xena-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-xena-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-xena-x86_64-5/dnf_cache', '/var/lib/mock/dlrn-centos9-xena-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.2tcwmwko', '/var/lib/mock/dlrn-centos9-xena-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-xena-x86_64-5-bootstrap/root/var/lib/mock/dlrn-centos9-xena-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-xena-x86_64-5-bootstrap/root/var/lib/mock/dlrn-centos9-xena-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-xena-x86_64-5-bootstrap/root/var/lib/mock/dlrn-centos9-xena-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-xena-x86_64-5/root', '/var/lib/mock/dlrn-centos9-xena-x86_64-5-bootstrap/root/var/lib/mock/dlrn-centos9-xena-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-xena-x86_64-5-bootstrap/root/var/lib/mock/dlrn-centos9-xena-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-xena-x86_64-5/root DEBUG buildroot.py:199: resultdir = /home/centos9-xena/data/repos/component/baremetal/96/d2/96d2c3cb44f6c3a355c4b6ac51345009bfd25e10_4c152d56 DEBUG file_util.py:17: ensuring that dir exists: /var/lib/mock/dlrn-centos9-xena-x86_64-5/root/etc/pki/mock DEBUG file_util.py:17: ensuring that dir exists: /var/lib/mock/dlrn-centos9-xena-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', '1027', '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-xena-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-xena-x86_64-5-bootstrap/root/var/lib/mock/dlrn-centos9-xena-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-xena-x86_64-5-bootstrap/root/var/lib/mock/dlrn-centos9-xena-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-xena-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-xena-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-xena-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-xena-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-xena-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-xena-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-xena-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-xena-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-xena-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-xena-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-xena-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-xena-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-xena-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-xena-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-xena-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-xena-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-xena-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-xena-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-xena-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-xena-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-xena-x86_64-5/root/dev/pts DEBUG file_util.py:20: creating dir: /var/lib/mock/dlrn-centos9-xena-x86_64-5/root/dev/pts DEBUG file_util.py:17: ensuring that dir exists: /var/lib/mock/dlrn-centos9-xena-x86_64-5/root/dev/shm DEBUG file_util.py:20: creating dir: /var/lib/mock/dlrn-centos9-xena-x86_64-5/root/dev/shm DEBUG file_util.py:17: ensuring that dir exists: /var/lib/mock/dlrn-centos9-xena-x86_64-5/root/dev/mapper DEBUG file_util.py:20: creating dir: /var/lib/mock/dlrn-centos9-xena-x86_64-5/root/dev/mapper DEBUG buildroot.py:687: kernel version == 4.18.0-485.el8.x86_64 DEBUG file_util.py:30: touching file: /var/lib/mock/dlrn-centos9-xena-x86_64-5/root/etc/fstab DEBUG file_util.py:30: touching file: /var/lib/mock/dlrn-centos9-xena-x86_64-5/root/etc/yum/yum.conf DEBUG file_util.py:30: touching file: /var/lib/mock/dlrn-centos9-xena-x86_64-5/root/etc/dnf/dnf.conf DEBUG file_util.py:30: touching file: /var/lib/mock/dlrn-centos9-xena-x86_64-5/root/var/log/yum.log DEBUG file_util.py:17: ensuring that dir exists: /var/lib/mock/dlrn-centos9-xena-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-xena-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-xena-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-xena-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-xena-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-xena-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-xena-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-xena-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-xena-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-xena-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-xena-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-xena-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-xena-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-xena-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-xena-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-xena-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-xena-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-xena-x86_64-5/yum_cache', '/var/lib/mock/dlrn-centos9-xena-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-xena-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-xena-x86_64-5/dnf_cache', '/var/lib/mock/dlrn-centos9-xena-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.d758r0nm', '/var/lib/mock/dlrn-centos9-xena-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-xena-x86_64-5-bootstrap/root/var/lib/mock/dlrn-centos9-xena-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-xena-x86_64-5-bootstrap/root/var/lib/mock/dlrn-centos9-xena-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-xena-x86_64-5-bootstrap/root/var/lib/mock/dlrn-centos9-xena-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-xena-x86_64-5/root', '/var/lib/mock/dlrn-centos9-xena-x86_64-5-bootstrap/root/var/lib/mock/dlrn-centos9-xena-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-xena-x86_64-5-bootstrap/root/var/lib/mock/dlrn-centos9-xena-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-xena-x86_64-5/root DEBUG buildroot.py:199: resultdir = /home/centos9-xena/data/repos/component/baremetal/96/d2/96d2c3cb44f6c3a355c4b6ac51345009bfd25e10_4c152d56 DEBUG file_util.py:17: ensuring that dir exists: /var/lib/mock/dlrn-centos9-xena-x86_64-5/root/etc/pki/mock DEBUG file_util.py:17: ensuring that dir exists: /var/lib/mock/dlrn-centos9-xena-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', '1027', '-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-xena-x86_64-5/root/builddir/build DEBUG file_util.py:20: creating dir: /var/lib/mock/dlrn-centos9-xena-x86_64-5/root/builddir/build DEBUG file_util.py:17: ensuring that dir exists: /var/lib/mock/dlrn-centos9-xena-x86_64-5/root/builddir/build/RPMS DEBUG file_util.py:20: creating dir: /var/lib/mock/dlrn-centos9-xena-x86_64-5/root/builddir/build/RPMS DEBUG file_util.py:17: ensuring that dir exists: /var/lib/mock/dlrn-centos9-xena-x86_64-5/root/builddir/build/SPECS DEBUG file_util.py:20: creating dir: /var/lib/mock/dlrn-centos9-xena-x86_64-5/root/builddir/build/SPECS DEBUG file_util.py:17: ensuring that dir exists: /var/lib/mock/dlrn-centos9-xena-x86_64-5/root/builddir/build/SRPMS DEBUG file_util.py:20: creating dir: /var/lib/mock/dlrn-centos9-xena-x86_64-5/root/builddir/build/SRPMS DEBUG file_util.py:17: ensuring that dir exists: /var/lib/mock/dlrn-centos9-xena-x86_64-5/root/builddir/build/SOURCES DEBUG file_util.py:20: creating dir: /var/lib/mock/dlrn-centos9-xena-x86_64-5/root/builddir/build/SOURCES DEBUG file_util.py:17: ensuring that dir exists: /var/lib/mock/dlrn-centos9-xena-x86_64-5/root/builddir/build/BUILD DEBUG file_util.py:20: creating dir: /var/lib/mock/dlrn-centos9-xena-x86_64-5/root/builddir/build/BUILD DEBUG file_util.py:17: ensuring that dir exists: /var/lib/mock/dlrn-centos9-xena-x86_64-5/root/builddir/build/BUILDROOT DEBUG file_util.py:20: creating dir: /var/lib/mock/dlrn-centos9-xena-x86_64-5/root/builddir/build/BUILDROOT DEBUG file_util.py:17: ensuring that dir exists: /var/lib/mock/dlrn-centos9-xena-x86_64-5/root/builddir/build/originals DEBUG file_util.py:20: creating dir: /var/lib/mock/dlrn-centos9-xena-x86_64-5/root/builddir/build/originals DEBUG file_util.py:17: ensuring that dir exists: /var/lib/mock/dlrn-centos9-xena-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-xena-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.4.1-3.el9.x86_64 DEBUG util.py:445: fonts-filesystem-2.0.5-7.el9.1.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-20231215-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.9-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-9.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: 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: ncurses-base-6.2-10.20210508.el9.noarch DEBUG util.py:445: kbd-misc-2.4.0-9.el9.noarch DEBUG util.py:445: kbd-legacy-2.4.0-9.el9.noarch DEBUG util.py:445: coreutils-common-8.32-35.el9.x86_64 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-10.20210508.el9.x86_64 DEBUG util.py:445: zlib-1.2.11-41.el9.x86_64 DEBUG util.py:445: libstdc++-11.4.1-3.el9.x86_64 DEBUG util.py:445: xz-libs-5.2.5-8.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: libzstd-1.5.1-2.el9.x86_64 DEBUG util.py:445: libpng-1.6.37-12.el9.x86_64 DEBUG util.py:445: libjpeg-turbo-2.0.90-7.el9.x86_64 DEBUG util.py:445: libcap-2.48-9.el9.x86_64 DEBUG util.py:445: libffi-3.4.2-8.el9.x86_64 DEBUG util.py:445: sqlite-libs-3.34.1-7.el9.x86_64 DEBUG util.py:445: elfutils-libelf-0.190-2.el9.x86_64 DEBUG util.py:445: gmp-6.2.0-13.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: mpfr-4.1.0-7.el9.x86_64 DEBUG util.py:445: readline-8.1-4.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: libgcrypt-1.10.0-10.el9.x86_64 DEBUG util.py:445: libwayland-client-1.21.0-1.el9.x86_64 DEBUG util.py:445: libicu-67.1-9.el9.x86_64 DEBUG util.py:445: libattr-2.5.1-3.el9.x86_64 DEBUG util.py:445: libacl-2.3.1-4.el9.x86_64 DEBUG util.py:445: libgomp-11.4.1-3.el9.x86_64 DEBUG util.py:445: lz4-libs-1.9.3-5.el9.x86_64 DEBUG util.py:445: popt-1.18-8.el9.x86_64 DEBUG util.py:445: alsa-lib-1.2.10-2.el9.x86_64 DEBUG util.py:445: libwebp-1.2.0-8.el9.x86_64 DEBUG util.py:445: libassuan-2.5.5-3.el9.x86_64 DEBUG util.py:445: libbrotli-1.0.9-6.el9.x86_64 DEBUG util.py:445: libcap-ng-0.8.2-7.el9.x86_64 DEBUG util.py:445: audit-libs-3.1.2-2.el9.x86_64 DEBUG util.py:445: libcom_err-1.46.5-5.el9.x86_64 DEBUG util.py:445: libseccomp-2.5.2-2.el9.x86_64 DEBUG util.py:445: libtasn1-4.16.0-8.el9.x86_64 DEBUG util.py:445: p11-kit-0.25.3-2.el9.x86_64 DEBUG util.py:445: libtdb-1.4.9-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-4.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: libX11-xcb-1.7.0-9.el9.x86_64 DEBUG util.py:445: libstemmer-0-18.585svn.el9.x86_64 DEBUG util.py:445: openjpeg2-2.4.0-7.el9.x86_64 DEBUG util.py:445: opus-1.3.1-10.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: 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: dwz-0.14-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: libproxy-0.4.15-35.el9.x86_64 DEBUG util.py:445: imath-3.1.2-1.el9.x86_64 DEBUG util.py:445: hicolor-icon-theme-0.17-13.el9.noarch DEBUG util.py:445: libedit-3.1-38.20210216cvs.el9.x86_64 DEBUG util.py:445: alternatives-1.24-1.el9.x86_64 DEBUG util.py:445: p11-kit-trust-0.25.3-2.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: libsepol-3.6-1.el9.x86_64 DEBUG util.py:445: libselinux-3.6-1.el9.x86_64 DEBUG util.py:445: sed-4.8-9.el9.x86_64 DEBUG util.py:445: findutils-4.8.0-6.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: grep-3.6-5.el9.x86_64 DEBUG util.py:445: coreutils-8.32-35.el9.x86_64 DEBUG util.py:445: ca-certificates-2023.2.60_v7.0.306-90.1.el9.noarch DEBUG util.py:445: dbus-libs-1.12.20-8.el9.x86_64 DEBUG util.py:445: libarchive-3.5.3-4.el9.x86_64 DEBUG util.py:445: libusbx-1.0.26-1.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: kmod-libs-28-9.el9.x86_64 DEBUG util.py:445: libevent-2.1.12-6.el9.x86_64 DEBUG util.py:445: avahi-libs-0.8-20.el9.x86_64 DEBUG util.py:445: xz-5.2.5-8.el9.x86_64 DEBUG util.py:445: jbigkit-libs-2.1-23.el9.x86_64 DEBUG util.py:445: libtiff-4.4.0-12.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-9.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: libXi-1.7.10-8.el9.x86_64 DEBUG util.py:445: libXfixes-5.0.3-16.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-10.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: libxshmfence-1.3-10.el9.x86_64 DEBUG util.py:445: pixman-0.40.0-6.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: p11-kit-server-0.25.3-2.el9.x86_64 DEBUG util.py:445: python-unversioned-command-3.9.18-3.el9.noarch DEBUG util.py:445: python3-3.9.18-3.el9.x86_64 DEBUG util.py:445: python3-libs-3.9.18-3.el9.x86_64 DEBUG util.py:445: python3-setuptools-57.4.0-1.el9s.noarch DEBUG util.py:445: python3-six-1.15.0-9.el9.noarch DEBUG util.py:445: python3-greenlet-1.1.2-4.el9.x86_64 DEBUG util.py:445: python3-chardet-4.0.0-5.el9.noarch DEBUG util.py:445: python3-ply-3.11-14.el9.noarch DEBUG util.py:445: python3-pycparser-2.20-6.el9.noarch DEBUG util.py:445: python3-cffi-1.14.5-5.el9.x86_64 DEBUG util.py:445: python3-cryptography-36.0.1-4.el9.x86_64 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-5.el9.noarch DEBUG util.py:445: python3-requests-2.25.1-8.el9.noarch DEBUG util.py:445: python3-pytz-2021.1-5.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-markupsafe-2.0.0-2.el9s.x86_64 DEBUG util.py:445: python3-jinja2-3.0.1-2.el9s.noarch DEBUG util.py:445: sound-theme-freedesktop-0.8-17.el9.noarch DEBUG util.py:445: kmod-28-9.el9.x86_64 DEBUG util.py:445: libsemanage-3.6-1.el9.x86_64 DEBUG util.py:445: shadow-utils-4.9-8.el9.x86_64 DEBUG util.py:445: libutempter-1.2.1-6.el9.x86_64 DEBUG util.py:445: tar-1.34-6.el9.x86_64 DEBUG util.py:445: llvm-libs-17.0.6-5.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.4.1-3.el9.x86_64 DEBUG util.py:445: zstd-1.5.1-2.el9.x86_64 DEBUG util.py:445: acl-2.3.1-4.el9.x86_64 DEBUG util.py:445: flac-libs-1.3.3-12.el9.x86_64 DEBUG util.py:445: libtheora-1.1.1-31.el9.x86_64 DEBUG util.py:445: libksba-1.5.1-6.el9.x86_64 DEBUG util.py:445: jasper-libs-2.0.28-3.el9.x86_64 DEBUG util.py:445: LibRaw-0.21.1-1.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: groff-base-1.22.4-10.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: libfontenc-1.1.3-17.el9.x86_64 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-10.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-481.el9.x86_64 DEBUG util.py:445: perl-FileHandle-2.03-481.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-AutoLoader-5.74-481.el9.noarch DEBUG util.py:445: perl-base-2.27-481.el9.noarch DEBUG util.py:445: perl-URI-5.09-3.el9.noarch DEBUG util.py:445: perl-if-0.60.800-481.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-Net-SSLeay-1.92-2.el9.x86_64 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-481.el9.noarch DEBUG util.py:445: perl-POSIX-1.94-481.el9.x86_64 DEBUG util.py:445: perl-Term-ANSIColor-5.01-461.el9.noarch DEBUG util.py:445: perl-IPC-Open3-1.21-481.el9.noarch DEBUG util.py:445: perl-subs-1.03-481.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-462.el9.noarch DEBUG util.py:445: perl-Socket-2.031-4.el9.x86_64 DEBUG util.py:445: perl-SelectSaver-1.02-481.el9.noarch DEBUG util.py:445: perl-Symbol-1.08-481.el9.noarch DEBUG util.py:445: perl-File-stat-1.09-481.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-481.el9.x86_64 DEBUG util.py:445: perl-Text-ParseWords-3.30-460.el9.noarch DEBUG util.py:445: perl-mro-1.23-481.el9.x86_64 DEBUG util.py:445: perl-IO-1.43-481.el9.x86_64 DEBUG util.py:445: perl-overloading-0.02-481.el9.noarch DEBUG util.py:445: perl-Pod-Usage-2.01-4.el9.noarch DEBUG util.py:445: perl-Errno-1.30-481.el9.x86_64 DEBUG util.py:445: perl-File-Basename-2.85-481.el9.noarch DEBUG util.py:445: perl-Getopt-Std-1.12-481.el9.noarch DEBUG util.py:445: perl-MIME-Base64-3.16-4.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-481.el9.noarch DEBUG util.py:445: perl-parent-0.238-460.el9.noarch DEBUG util.py:445: perl-vars-1.05-481.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-481.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-481.el9.x86_64 DEBUG util.py:445: perl-interpreter-5.32.1-481.el9.x86_64 DEBUG util.py:445: kernel-srpm-macros-1.0-13.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: diffutils-3.7-12.el9.x86_64 DEBUG util.py:445: keyutils-libs-1.6.3-1.el9.x86_64 DEBUG util.py:445: libatomic-11.4.1-3.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: libpwquality-1.4.4-8.el9.x86_64 DEBUG util.py:445: dbus-1.12.20-8.el9.x86_64 DEBUG util.py:445: dbus-common-1.12.20-8.el9.noarch DEBUG util.py:445: dbus-broker-28-7.el9.x86_64 DEBUG util.py:445: device-mapper-libs-1.02.197-2.el9.x86_64 DEBUG util.py:445: device-mapper-1.02.197-2.el9.x86_64 DEBUG util.py:445: cryptsetup-libs-2.6.0-3.el9.x86_64 DEBUG util.py:445: elfutils-default-yama-scope-0.190-2.el9.noarch DEBUG util.py:445: elfutils-libs-0.190-2.el9.x86_64 DEBUG util.py:445: openssh-8.7p1-38.el9.x86_64 DEBUG util.py:445: kbd-2.4.0-9.el9.x86_64 DEBUG util.py:445: libnghttp2-1.43.0-5.el9.1.x86_64 DEBUG util.py:445: libdrm-2.4.117-1.el9.x86_64 DEBUG util.py:445: libglvnd-egl-1.3.4-1.el9.x86_64 DEBUG util.py:445: libglvnd-glx-1.3.4-1.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: cyrus-sasl-lib-2.1.27-21.el9.x86_64 DEBUG util.py:445: elfutils-debuginfod-client-0.190-2.el9.x86_64 DEBUG util.py:445: elfutils-0.190-2.el9.x86_64 DEBUG util.py:445: gdb-minimal-10.2-13.el9.x86_64 DEBUG util.py:445: debugedit-5.0-5.el9.x86_64 DEBUG util.py:445: rpm-4.16.1.3-29.el9.x86_64 DEBUG util.py:445: rpm-libs-4.16.1.3-29.el9.x86_64 DEBUG util.py:445: rpm-build-libs-4.16.1.3-29.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.2.2-2.el9.x86_64 DEBUG util.py:445: libfido2-1.13.0-2.el9.x86_64 DEBUG util.py:445: openssh-clients-8.7p1-38.el9.x86_64 DEBUG util.py:445: git-core-2.43.0-1.el9.x86_64 DEBUG util.py:445: make-4.3-8.el9.x86_64 DEBUG util.py:445: nettle-3.9.1-1.el9.x86_64 DEBUG util.py:445: freetype-2.10.4-9.el9.x86_64 DEBUG util.py:445: harfbuzz-2.7.4-10.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.22.1-2.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: libgudev-237-1.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-19.el9.x86_64 DEBUG util.py:445: poppler-glib-21.01.0-19.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: gobject-introspection-1.68.0-11.el9.x86_64 DEBUG util.py:445: upower-0.99.11-11.el9.x86_64 DEBUG util.py:445: libgusb-0.3.8-2.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-20.el9.x86_64 DEBUG util.py:445: flatpak-session-helper-1.12.8-1.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: 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: 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-4.el9.x86_64 DEBUG util.py:445: gpgme-1.15.1-6.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: 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.4.1-3.el9.x86_64 DEBUG util.py:445: annobin-12.31-2.el9.x86_64 DEBUG util.py:445: gcc-plugin-annobin-11.4.1-3.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.2.0-3.el9.noarch DEBUG util.py:445: python-srpm-macros-3.9-53.el9.noarch DEBUG util.py:445: redhat-rpm-config-207-1.el9.noarch DEBUG util.py:445: rpm-build-4.16.1.3-29.el9.x86_64 DEBUG util.py:445: pyproject-srpm-macros-1.12.0-1.el9.noarch DEBUG util.py:445: python-rpm-macros-3.9-53.el9.noarch DEBUG util.py:445: python3-rpm-macros-3.9-53.el9.noarch DEBUG util.py:445: python3-rpm-generators-12-9.el9.noarch DEBUG util.py:445: gsm-1.0.19-6.el9.x86_64 DEBUG util.py:445: libsndfile-1.0.31-8.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-27.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-3.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-14.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: pipewire-libs-1.0.1-1.el9.x86_64 DEBUG util.py:445: pipewire-1.0.1-1.el9.x86_64 DEBUG util.py:445: wireplumber-libs-0.4.14-1.el9.x86_64 DEBUG util.py:445: wireplumber-0.4.14-1.el9.x86_64 DEBUG util.py:445: flatpak-1.12.8-1.el9.x86_64 DEBUG util.py:445: xdg-desktop-portal-1.12.6-1.el9.x86_64 DEBUG util.py:445: pipewire-jack-audio-connection-kit-libs-1.0.1-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.22.1-2.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-4.el9.x86_64 DEBUG util.py:445: libcanberra-gtk3-0.30-27.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-27.el9.x86_64 DEBUG util.py:445: graphviz-2.44.0-26.el9.x86_64 DEBUG util.py:445: ImageMagick-libs-6.9.12.98-1.el9s.x86_64 DEBUG util.py:445: ImageMagick-6.9.12.98-1.el9s.x86_64 DEBUG util.py:445: python3-sphinx-3.4.3-8.el9.noarch DEBUG util.py:445: pipewire-jack-audio-connection-kit-1.0.1-1.el9.x86_64 DEBUG util.py:445: pipewire-alsa-1.0.1-1.el9.x86_64 DEBUG util.py:445: pipewire-pulseaudio-1.0.1-1.el9.x86_64 DEBUG util.py:445: python3-devel-3.9.18-3.el9.x86_64 DEBUG util.py:445: python3-pbr-5.6.0-1.el9s.noarch DEBUG util.py:445: python3-setuptools_scm-6.3.2-2.el9s.noarch DEBUG util.py:445: python3-eventlet-0.31.1-1.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.20230216203407.ce6a105.el9.noarch DEBUG util.py:445: libuuid-2.37.4-18.el9.x86_64 DEBUG util.py:445: libblkid-2.37.4-18.el9.x86_64 DEBUG util.py:445: libmount-2.37.4-18.el9.x86_64 DEBUG util.py:445: libfdisk-2.37.4-18.el9.x86_64 DEBUG util.py:445: mesa-libglapi-23.3.3-1.el9.x86_64 DEBUG util.py:445: libsmartcols-2.37.4-18.el9.x86_64 DEBUG util.py:445: util-linux-core-2.37.4-18.el9.x86_64 DEBUG util.py:445: glib2-2.68.4-14.el9.x86_64 DEBUG util.py:445: pam-1.5.1-19.el9.x86_64 DEBUG util.py:445: util-linux-2.37.4-18.el9.x86_64 DEBUG util.py:445: binutils-gold-2.35.2-43.el9.x86_64 DEBUG util.py:445: binutils-2.35.2-43.el9.x86_64 DEBUG util.py:445: mesa-libgbm-23.3.3-1.el9.x86_64 DEBUG util.py:445: pcre2-syntax-10.40-5.el9.noarch DEBUG util.py:445: pcre2-10.40-5.el9.x86_64 DEBUG util.py:445: libssh-config-0.10.4-13.el9.noarch DEBUG util.py:445: libssh-0.10.4-13.el9.x86_64 DEBUG util.py:445: mesa-libEGL-23.3.3-1.el9.x86_64 DEBUG util.py:445: mesa-libGL-23.3.3-1.el9.x86_64 DEBUG util.py:445: setup-2.13.7-10.el9.noarch DEBUG util.py:445: hwdata-0.348-9.13.el9.noarch DEBUG util.py:445: fuse-common-3.10.2-8.el9.x86_64 DEBUG util.py:445: file-libs-5.39-16.el9.x86_64 DEBUG util.py:445: file-5.39-16.el9.x86_64 DEBUG util.py:445: cups-libs-2.3.3op2-24.el9.x86_64 DEBUG util.py:445: libcurl-7.76.1-29.el9.x86_64 DEBUG util.py:445: curl-7.76.1-29.el9.x86_64 DEBUG util.py:445: tzdata-2024a-2.el9.noarch DEBUG util.py:445: less-590-3.el9.x86_64 DEBUG util.py:445: openldap-2.6.6-3.el9.x86_64 DEBUG util.py:445: ostree-libs-2024.5-2.el9.x86_64 DEBUG util.py:445: expat-2.5.0-2.el9.x86_64 DEBUG util.py:445: libpciaccess-0.16-7.el9.x86_64 DEBUG util.py:445: perl-Scalar-List-Utils-1.56-462.el9.x86_64 DEBUG util.py:445: crypto-policies-20240304-1.gitb1c706d.el9.noarch DEBUG util.py:445: bash-5.1.8-9.el9.x86_64 DEBUG util.py:445: crypto-policies-scripts-20240304-1.gitb1c706d.el9.noarch DEBUG util.py:445: python3-pip-21.3.1-1.el9.noarch DEBUG util.py:445: python3-pip-wheel-21.3.1-1.el9.noarch DEBUG util.py:445: bubblewrap-0.4.1-7.el9.x86_64 DEBUG util.py:445: glibc-common-2.34-105.el9.x86_64 DEBUG util.py:445: glibc-gconv-extra-2.34-105.el9.x86_64 DEBUG util.py:445: glibc-minimal-langpack-2.34-105.el9.x86_64 DEBUG util.py:445: glibc-2.34-105.el9.x86_64 DEBUG util.py:445: glibc-headers-2.34-105.el9.x86_64 DEBUG util.py:445: glibc-devel-2.34-105.el9.x86_64 DEBUG util.py:445: nspr-4.35.0-7.el9.x86_64 DEBUG util.py:445: nss-util-3.90.0-7.el9.x86_64 DEBUG util.py:445: openssl-libs-3.2.1-1.el9.x86_64 DEBUG util.py:445: nss-softokn-freebl-3.90.0-7.el9.x86_64 DEBUG util.py:445: nss-softokn-3.90.0-7.el9.x86_64 DEBUG util.py:445: nss-3.90.0-7.el9.x86_64 DEBUG util.py:445: nss-sysinit-3.90.0-7.el9.x86_64 DEBUG util.py:445: krb5-libs-1.21.1-2.el9.x86_64 DEBUG util.py:445: openssl-3.2.1-1.el9.x86_64 DEBUG util.py:445: libeconf-0.4.1-4.el9.x86_64 DEBUG util.py:445: pcre-8.44-4.el9.x86_64 DEBUG util.py:445: gdbm-libs-1.23-1.el9.x86_64 DEBUG util.py:445: systemd-libs-252-33.el9.x86_64 DEBUG util.py:445: python3-libselinux-3.6-1.el9.x86_64 DEBUG util.py:445: libselinux-utils-3.6-1.el9.x86_64 DEBUG util.py:445: policycoreutils-3.6-2.1.el9.x86_64 DEBUG util.py:445: python3-libsemanage-3.6-1.el9.x86_64 DEBUG util.py:445: systemd-rpm-macros-252-33.el9.noarch DEBUG util.py:445: gnutls-3.8.3-4.el9.x86_64 DEBUG util.py:445: centos-gpg-keys-9.0-26.el9.noarch DEBUG util.py:445: centos-stream-repos-9.0-26.el9.noarch DEBUG util.py:445: python3-setools-4.4.4-1.el9.x86_64 DEBUG util.py:445: python3-distro-1.5.0-7.el9.noarch DEBUG util.py:445: python3-audit-3.1.2-2.el9.x86_64 DEBUG util.py:445: checkpolicy-3.6-1.el9.x86_64 DEBUG util.py:445: python3-policycoreutils-3.6-2.1.el9.noarch DEBUG util.py:445: policycoreutils-python-utils-3.6-2.1.el9.noarch DEBUG util.py:445: systemd-pam-252-33.el9.x86_64 DEBUG util.py:445: systemd-252-33.el9.x86_64 DEBUG util.py:445: systemd-udev-252-33.el9.x86_64 DEBUG util.py:445: centos-stream-release-9.0-26.el9.noarch DEBUG util.py:445: libappstream-glib-0.7.18-5.el9.x86_64 DEBUG util.py:445: python3-idna-2.10-7.el9.1.noarch DEBUG util.py:445: libxml2-2.9.13-6.el9.x86_64 DEBUG util.py:445: webkit2gtk3-jsc-2.44.1-1.el9.x86_64 DEBUG util.py:445: kernel-headers-5.14.0-446.el9.x86_64 DEBUG util.py:445: NetworkManager-libnm-1.47.90-1.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-xena-x86_64-5/root/installation-homedir DEBUG package_manager.py:197: ['/usr/bin/dnf', '--installroot', '/var/lib/mock/dlrn-centos9-xena-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-xena-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-xena-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-openstack-ironic-inspector-12e63382fe9 126 kB/s | 59 kB 00:00 DEBUG util.py:445: delorean-openstack-cinder-6f61da6b46cd5cd054748 23 kB/s | 3.0 kB 00:00 DEBUG util.py:445: delorean-python-manilaclient-135cdf98c317827634 21 kB/s | 3.0 kB 00:00 DEBUG util.py:445: delorean-openstack-aodh-dd23f13d20de205dddd048e 17 kB/s | 3.0 kB 00:00 DEBUG util.py:445: delorean-openstack-trove-24d01cbd9adc856ffbec9d 21 kB/s | 3.0 kB 00:00 DEBUG util.py:445: delorean-openstack-nova-dbe1d4bb125799c15cbb05a 23 kB/s | 3.0 kB 00:00 DEBUG util.py:445: delorean-openstack-glance-e113723f3fa85cfbbab94 30 kB/s | 3.0 kB 00:00 DEBUG util.py:445: delorean-openstack-manila-68608563da45d199e6b94 19 kB/s | 3.0 kB 00:00 DEBUG util.py:445: delorean-openstack-neutron-vpnaas-8f84356bf9563 24 kB/s | 3.0 kB 00:00 DEBUG util.py:445: delorean-openstack-octavia-28f7d2e000a0419d2741 23 kB/s | 3.0 kB 00:00 DEBUG util.py:445: delorean-openstack-keystone-5f5e43b2902512288ee 30 kB/s | 3.0 kB 00:00 DEBUG util.py:445: delorean-openstack-swift-8c4f9526ac62ee23e60f71 21 kB/s | 3.0 kB 00:00 DEBUG util.py:445: delorean-openstack-tempest-1580f6f8437bd07e008c 27 kB/s | 3.0 kB 00:00 DEBUG util.py:445: delorean-openstack-heat-cd40593a115630d1f8dce3d 27 kB/s | 3.0 kB 00:00 DEBUG util.py:445: delorean-openstack-trove-ui-47b97e7b5896ae304d5 24 kB/s | 3.0 kB 00:00 DEBUG util.py:445: delorean-python-validations-libs-8d9e1b5dfd43be 24 kB/s | 3.0 kB 00:00 DEBUG util.py:445: CentOS Stream 9 - BaseOS 24 kB/s | 3.9 kB 00:00 DEBUG util.py:445: CentOS Stream 9 - AppStream 24 kB/s | 4.4 kB 00:00 DEBUG util.py:445: CentOS Stream 9 - CRB 9.0 kB/s | 2.9 kB 00:00 DEBUG util.py:445: CentOS Stream 9 - HighAvailability 11 kB/s | 3.0 kB 00:00 DEBUG util.py:445: dlrn-xena-testing 23 kB/s | 3.0 kB 00:00 DEBUG util.py:445: dlrn-xena-build-deps 31 kB/s | 3.0 kB 00:00 DEBUG util.py:445: centos9-rabbitmq 18 kB/s | 3.0 kB 00:00 DEBUG util.py:445: centos9-storage 19 kB/s | 3.0 kB 00:00 DEBUG util.py:445: centos9-opstools 24 kB/s | 3.0 kB 00:00 DEBUG util.py:445: NFV SIG OpenvSwitch 32 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-xena-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.4.1-3.el9.x86_64 DEBUG util.py:445: fonts-filesystem-2.0.5-7.el9.1.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-20231215-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.9-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-9.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: 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: ncurses-base-6.2-10.20210508.el9.noarch DEBUG util.py:445: kbd-misc-2.4.0-9.el9.noarch DEBUG util.py:445: kbd-legacy-2.4.0-9.el9.noarch DEBUG util.py:445: coreutils-common-8.32-35.el9.x86_64 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-10.20210508.el9.x86_64 DEBUG util.py:445: zlib-1.2.11-41.el9.x86_64 DEBUG util.py:445: libstdc++-11.4.1-3.el9.x86_64 DEBUG util.py:445: xz-libs-5.2.5-8.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: libzstd-1.5.1-2.el9.x86_64 DEBUG util.py:445: libpng-1.6.37-12.el9.x86_64 DEBUG util.py:445: libjpeg-turbo-2.0.90-7.el9.x86_64 DEBUG util.py:445: libcap-2.48-9.el9.x86_64 DEBUG util.py:445: libffi-3.4.2-8.el9.x86_64 DEBUG util.py:445: sqlite-libs-3.34.1-7.el9.x86_64 DEBUG util.py:445: elfutils-libelf-0.190-2.el9.x86_64 DEBUG util.py:445: gmp-6.2.0-13.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: mpfr-4.1.0-7.el9.x86_64 DEBUG util.py:445: readline-8.1-4.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: libgcrypt-1.10.0-10.el9.x86_64 DEBUG util.py:445: libwayland-client-1.21.0-1.el9.x86_64 DEBUG util.py:445: libicu-67.1-9.el9.x86_64 DEBUG util.py:445: libattr-2.5.1-3.el9.x86_64 DEBUG util.py:445: libacl-2.3.1-4.el9.x86_64 DEBUG util.py:445: libgomp-11.4.1-3.el9.x86_64 DEBUG util.py:445: lz4-libs-1.9.3-5.el9.x86_64 DEBUG util.py:445: popt-1.18-8.el9.x86_64 DEBUG util.py:445: alsa-lib-1.2.10-2.el9.x86_64 DEBUG util.py:445: libwebp-1.2.0-8.el9.x86_64 DEBUG util.py:445: libassuan-2.5.5-3.el9.x86_64 DEBUG util.py:445: libbrotli-1.0.9-6.el9.x86_64 DEBUG util.py:445: libcap-ng-0.8.2-7.el9.x86_64 DEBUG util.py:445: audit-libs-3.1.2-2.el9.x86_64 DEBUG util.py:445: libcom_err-1.46.5-5.el9.x86_64 DEBUG util.py:445: libseccomp-2.5.2-2.el9.x86_64 DEBUG util.py:445: libtasn1-4.16.0-8.el9.x86_64 DEBUG util.py:445: p11-kit-0.25.3-2.el9.x86_64 DEBUG util.py:445: libtdb-1.4.9-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-4.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: libX11-xcb-1.7.0-9.el9.x86_64 DEBUG util.py:445: libstemmer-0-18.585svn.el9.x86_64 DEBUG util.py:445: openjpeg2-2.4.0-7.el9.x86_64 DEBUG util.py:445: opus-1.3.1-10.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: 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: dwz-0.14-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: libproxy-0.4.15-35.el9.x86_64 DEBUG util.py:445: imath-3.1.2-1.el9.x86_64 DEBUG util.py:445: hicolor-icon-theme-0.17-13.el9.noarch DEBUG util.py:445: libedit-3.1-38.20210216cvs.el9.x86_64 DEBUG util.py:445: alternatives-1.24-1.el9.x86_64 DEBUG util.py:445: p11-kit-trust-0.25.3-2.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: libsepol-3.6-1.el9.x86_64 DEBUG util.py:445: libselinux-3.6-1.el9.x86_64 DEBUG util.py:445: sed-4.8-9.el9.x86_64 DEBUG util.py:445: findutils-4.8.0-6.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: grep-3.6-5.el9.x86_64 DEBUG util.py:445: coreutils-8.32-35.el9.x86_64 DEBUG util.py:445: ca-certificates-2023.2.60_v7.0.306-90.1.el9.noarch DEBUG util.py:445: dbus-libs-1.12.20-8.el9.x86_64 DEBUG util.py:445: libarchive-3.5.3-4.el9.x86_64 DEBUG util.py:445: libusbx-1.0.26-1.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: kmod-libs-28-9.el9.x86_64 DEBUG util.py:445: libevent-2.1.12-6.el9.x86_64 DEBUG util.py:445: avahi-libs-0.8-20.el9.x86_64 DEBUG util.py:445: xz-5.2.5-8.el9.x86_64 DEBUG util.py:445: jbigkit-libs-2.1-23.el9.x86_64 DEBUG util.py:445: libtiff-4.4.0-12.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-9.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: libXi-1.7.10-8.el9.x86_64 DEBUG util.py:445: libXfixes-5.0.3-16.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-10.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: libxshmfence-1.3-10.el9.x86_64 DEBUG util.py:445: pixman-0.40.0-6.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: p11-kit-server-0.25.3-2.el9.x86_64 DEBUG util.py:445: python-unversioned-command-3.9.18-3.el9.noarch DEBUG util.py:445: python3-3.9.18-3.el9.x86_64 DEBUG util.py:445: python3-libs-3.9.18-3.el9.x86_64 DEBUG util.py:445: python3-setuptools-57.4.0-1.el9s.noarch DEBUG util.py:445: python3-six-1.15.0-9.el9.noarch DEBUG util.py:445: python3-greenlet-1.1.2-4.el9.x86_64 DEBUG util.py:445: python3-chardet-4.0.0-5.el9.noarch DEBUG util.py:445: python3-ply-3.11-14.el9.noarch DEBUG util.py:445: python3-pycparser-2.20-6.el9.noarch DEBUG util.py:445: python3-cffi-1.14.5-5.el9.x86_64 DEBUG util.py:445: python3-cryptography-36.0.1-4.el9.x86_64 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-5.el9.noarch DEBUG util.py:445: python3-requests-2.25.1-8.el9.noarch DEBUG util.py:445: python3-pytz-2021.1-5.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-markupsafe-2.0.0-2.el9s.x86_64 DEBUG util.py:445: python3-jinja2-3.0.1-2.el9s.noarch DEBUG util.py:445: sound-theme-freedesktop-0.8-17.el9.noarch DEBUG util.py:445: kmod-28-9.el9.x86_64 DEBUG util.py:445: libsemanage-3.6-1.el9.x86_64 DEBUG util.py:445: shadow-utils-4.9-8.el9.x86_64 DEBUG util.py:445: libutempter-1.2.1-6.el9.x86_64 DEBUG util.py:445: tar-1.34-6.el9.x86_64 DEBUG util.py:445: llvm-libs-17.0.6-5.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.4.1-3.el9.x86_64 DEBUG util.py:445: zstd-1.5.1-2.el9.x86_64 DEBUG util.py:445: acl-2.3.1-4.el9.x86_64 DEBUG util.py:445: flac-libs-1.3.3-12.el9.x86_64 DEBUG util.py:445: libtheora-1.1.1-31.el9.x86_64 DEBUG util.py:445: libksba-1.5.1-6.el9.x86_64 DEBUG util.py:445: jasper-libs-2.0.28-3.el9.x86_64 DEBUG util.py:445: LibRaw-0.21.1-1.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: groff-base-1.22.4-10.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: libfontenc-1.1.3-17.el9.x86_64 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-10.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-481.el9.x86_64 DEBUG util.py:445: perl-FileHandle-2.03-481.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-AutoLoader-5.74-481.el9.noarch DEBUG util.py:445: perl-base-2.27-481.el9.noarch DEBUG util.py:445: perl-URI-5.09-3.el9.noarch DEBUG util.py:445: perl-if-0.60.800-481.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-Net-SSLeay-1.92-2.el9.x86_64 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-481.el9.noarch DEBUG util.py:445: perl-POSIX-1.94-481.el9.x86_64 DEBUG util.py:445: perl-Term-ANSIColor-5.01-461.el9.noarch DEBUG util.py:445: perl-IPC-Open3-1.21-481.el9.noarch DEBUG util.py:445: perl-subs-1.03-481.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-462.el9.noarch DEBUG util.py:445: perl-Socket-2.031-4.el9.x86_64 DEBUG util.py:445: perl-SelectSaver-1.02-481.el9.noarch DEBUG util.py:445: perl-Symbol-1.08-481.el9.noarch DEBUG util.py:445: perl-File-stat-1.09-481.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-481.el9.x86_64 DEBUG util.py:445: perl-Text-ParseWords-3.30-460.el9.noarch DEBUG util.py:445: perl-mro-1.23-481.el9.x86_64 DEBUG util.py:445: perl-IO-1.43-481.el9.x86_64 DEBUG util.py:445: perl-overloading-0.02-481.el9.noarch DEBUG util.py:445: perl-Pod-Usage-2.01-4.el9.noarch DEBUG util.py:445: perl-Errno-1.30-481.el9.x86_64 DEBUG util.py:445: perl-File-Basename-2.85-481.el9.noarch DEBUG util.py:445: perl-Getopt-Std-1.12-481.el9.noarch DEBUG util.py:445: perl-MIME-Base64-3.16-4.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-481.el9.noarch DEBUG util.py:445: perl-parent-0.238-460.el9.noarch DEBUG util.py:445: perl-vars-1.05-481.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-481.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-481.el9.x86_64 DEBUG util.py:445: perl-interpreter-5.32.1-481.el9.x86_64 DEBUG util.py:445: kernel-srpm-macros-1.0-13.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: diffutils-3.7-12.el9.x86_64 DEBUG util.py:445: keyutils-libs-1.6.3-1.el9.x86_64 DEBUG util.py:445: libatomic-11.4.1-3.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: libpwquality-1.4.4-8.el9.x86_64 DEBUG util.py:445: dbus-1.12.20-8.el9.x86_64 DEBUG util.py:445: dbus-common-1.12.20-8.el9.noarch DEBUG util.py:445: dbus-broker-28-7.el9.x86_64 DEBUG util.py:445: device-mapper-libs-1.02.197-2.el9.x86_64 DEBUG util.py:445: device-mapper-1.02.197-2.el9.x86_64 DEBUG util.py:445: cryptsetup-libs-2.6.0-3.el9.x86_64 DEBUG util.py:445: elfutils-default-yama-scope-0.190-2.el9.noarch DEBUG util.py:445: elfutils-libs-0.190-2.el9.x86_64 DEBUG util.py:445: openssh-8.7p1-38.el9.x86_64 DEBUG util.py:445: kbd-2.4.0-9.el9.x86_64 DEBUG util.py:445: libnghttp2-1.43.0-5.el9.1.x86_64 DEBUG util.py:445: libdrm-2.4.117-1.el9.x86_64 DEBUG util.py:445: libglvnd-egl-1.3.4-1.el9.x86_64 DEBUG util.py:445: libglvnd-glx-1.3.4-1.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: cyrus-sasl-lib-2.1.27-21.el9.x86_64 DEBUG util.py:445: elfutils-debuginfod-client-0.190-2.el9.x86_64 DEBUG util.py:445: elfutils-0.190-2.el9.x86_64 DEBUG util.py:445: gdb-minimal-10.2-13.el9.x86_64 DEBUG util.py:445: debugedit-5.0-5.el9.x86_64 DEBUG util.py:445: rpm-4.16.1.3-29.el9.x86_64 DEBUG util.py:445: rpm-libs-4.16.1.3-29.el9.x86_64 DEBUG util.py:445: rpm-build-libs-4.16.1.3-29.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.2.2-2.el9.x86_64 DEBUG util.py:445: libfido2-1.13.0-2.el9.x86_64 DEBUG util.py:445: openssh-clients-8.7p1-38.el9.x86_64 DEBUG util.py:445: git-core-2.43.0-1.el9.x86_64 DEBUG util.py:445: make-4.3-8.el9.x86_64 DEBUG util.py:445: nettle-3.9.1-1.el9.x86_64 DEBUG util.py:445: freetype-2.10.4-9.el9.x86_64 DEBUG util.py:445: harfbuzz-2.7.4-10.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.22.1-2.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: libgudev-237-1.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-19.el9.x86_64 DEBUG util.py:445: poppler-glib-21.01.0-19.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: gobject-introspection-1.68.0-11.el9.x86_64 DEBUG util.py:445: upower-0.99.11-11.el9.x86_64 DEBUG util.py:445: libgusb-0.3.8-2.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-20.el9.x86_64 DEBUG util.py:445: flatpak-session-helper-1.12.8-1.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: 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: 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-4.el9.x86_64 DEBUG util.py:445: gpgme-1.15.1-6.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: 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.4.1-3.el9.x86_64 DEBUG util.py:445: annobin-12.31-2.el9.x86_64 DEBUG util.py:445: gcc-plugin-annobin-11.4.1-3.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.2.0-3.el9.noarch DEBUG util.py:445: python-srpm-macros-3.9-53.el9.noarch DEBUG util.py:445: redhat-rpm-config-207-1.el9.noarch DEBUG util.py:445: rpm-build-4.16.1.3-29.el9.x86_64 DEBUG util.py:445: pyproject-srpm-macros-1.12.0-1.el9.noarch DEBUG util.py:445: python-rpm-macros-3.9-53.el9.noarch DEBUG util.py:445: python3-rpm-macros-3.9-53.el9.noarch DEBUG util.py:445: python3-rpm-generators-12-9.el9.noarch DEBUG util.py:445: gsm-1.0.19-6.el9.x86_64 DEBUG util.py:445: libsndfile-1.0.31-8.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-27.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-3.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-14.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: pipewire-libs-1.0.1-1.el9.x86_64 DEBUG util.py:445: pipewire-1.0.1-1.el9.x86_64 DEBUG util.py:445: wireplumber-libs-0.4.14-1.el9.x86_64 DEBUG util.py:445: wireplumber-0.4.14-1.el9.x86_64 DEBUG util.py:445: flatpak-1.12.8-1.el9.x86_64 DEBUG util.py:445: xdg-desktop-portal-1.12.6-1.el9.x86_64 DEBUG util.py:445: pipewire-jack-audio-connection-kit-libs-1.0.1-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.22.1-2.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-4.el9.x86_64 DEBUG util.py:445: libcanberra-gtk3-0.30-27.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-27.el9.x86_64 DEBUG util.py:445: graphviz-2.44.0-26.el9.x86_64 DEBUG util.py:445: ImageMagick-libs-6.9.12.98-1.el9s.x86_64 DEBUG util.py:445: ImageMagick-6.9.12.98-1.el9s.x86_64 DEBUG util.py:445: python3-sphinx-3.4.3-8.el9.noarch DEBUG util.py:445: pipewire-jack-audio-connection-kit-1.0.1-1.el9.x86_64 DEBUG util.py:445: pipewire-alsa-1.0.1-1.el9.x86_64 DEBUG util.py:445: pipewire-pulseaudio-1.0.1-1.el9.x86_64 DEBUG util.py:445: python3-devel-3.9.18-3.el9.x86_64 DEBUG util.py:445: python3-pbr-5.6.0-1.el9s.noarch DEBUG util.py:445: python3-setuptools_scm-6.3.2-2.el9s.noarch DEBUG util.py:445: python3-eventlet-0.31.1-1.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.20230216203407.ce6a105.el9.noarch DEBUG util.py:445: libuuid-2.37.4-18.el9.x86_64 DEBUG util.py:445: libblkid-2.37.4-18.el9.x86_64 DEBUG util.py:445: libmount-2.37.4-18.el9.x86_64 DEBUG util.py:445: libfdisk-2.37.4-18.el9.x86_64 DEBUG util.py:445: mesa-libglapi-23.3.3-1.el9.x86_64 DEBUG util.py:445: libsmartcols-2.37.4-18.el9.x86_64 DEBUG util.py:445: util-linux-core-2.37.4-18.el9.x86_64 DEBUG util.py:445: glib2-2.68.4-14.el9.x86_64 DEBUG util.py:445: pam-1.5.1-19.el9.x86_64 DEBUG util.py:445: util-linux-2.37.4-18.el9.x86_64 DEBUG util.py:445: binutils-gold-2.35.2-43.el9.x86_64 DEBUG util.py:445: binutils-2.35.2-43.el9.x86_64 DEBUG util.py:445: mesa-libgbm-23.3.3-1.el9.x86_64 DEBUG util.py:445: pcre2-syntax-10.40-5.el9.noarch DEBUG util.py:445: pcre2-10.40-5.el9.x86_64 DEBUG util.py:445: libssh-config-0.10.4-13.el9.noarch DEBUG util.py:445: libssh-0.10.4-13.el9.x86_64 DEBUG util.py:445: mesa-libEGL-23.3.3-1.el9.x86_64 DEBUG util.py:445: mesa-libGL-23.3.3-1.el9.x86_64 DEBUG util.py:445: setup-2.13.7-10.el9.noarch DEBUG util.py:445: hwdata-0.348-9.13.el9.noarch DEBUG util.py:445: fuse-common-3.10.2-8.el9.x86_64 DEBUG util.py:445: file-libs-5.39-16.el9.x86_64 DEBUG util.py:445: file-5.39-16.el9.x86_64 DEBUG util.py:445: cups-libs-2.3.3op2-24.el9.x86_64 DEBUG util.py:445: libcurl-7.76.1-29.el9.x86_64 DEBUG util.py:445: curl-7.76.1-29.el9.x86_64 DEBUG util.py:445: tzdata-2024a-2.el9.noarch DEBUG util.py:445: less-590-3.el9.x86_64 DEBUG util.py:445: openldap-2.6.6-3.el9.x86_64 DEBUG util.py:445: ostree-libs-2024.5-2.el9.x86_64 DEBUG util.py:445: expat-2.5.0-2.el9.x86_64 DEBUG util.py:445: libpciaccess-0.16-7.el9.x86_64 DEBUG util.py:445: perl-Scalar-List-Utils-1.56-462.el9.x86_64 DEBUG util.py:445: crypto-policies-20240304-1.gitb1c706d.el9.noarch DEBUG util.py:445: bash-5.1.8-9.el9.x86_64 DEBUG util.py:445: crypto-policies-scripts-20240304-1.gitb1c706d.el9.noarch DEBUG util.py:445: python3-pip-21.3.1-1.el9.noarch DEBUG util.py:445: python3-pip-wheel-21.3.1-1.el9.noarch DEBUG util.py:445: bubblewrap-0.4.1-7.el9.x86_64 DEBUG util.py:445: glibc-common-2.34-105.el9.x86_64 DEBUG util.py:445: glibc-gconv-extra-2.34-105.el9.x86_64 DEBUG util.py:445: glibc-minimal-langpack-2.34-105.el9.x86_64 DEBUG util.py:445: glibc-2.34-105.el9.x86_64 DEBUG util.py:445: glibc-headers-2.34-105.el9.x86_64 DEBUG util.py:445: glibc-devel-2.34-105.el9.x86_64 DEBUG util.py:445: nspr-4.35.0-7.el9.x86_64 DEBUG util.py:445: nss-util-3.90.0-7.el9.x86_64 DEBUG util.py:445: openssl-libs-3.2.1-1.el9.x86_64 DEBUG util.py:445: nss-softokn-freebl-3.90.0-7.el9.x86_64 DEBUG util.py:445: nss-softokn-3.90.0-7.el9.x86_64 DEBUG util.py:445: nss-3.90.0-7.el9.x86_64 DEBUG util.py:445: nss-sysinit-3.90.0-7.el9.x86_64 DEBUG util.py:445: krb5-libs-1.21.1-2.el9.x86_64 DEBUG util.py:445: openssl-3.2.1-1.el9.x86_64 DEBUG util.py:445: libeconf-0.4.1-4.el9.x86_64 DEBUG util.py:445: pcre-8.44-4.el9.x86_64 DEBUG util.py:445: gdbm-libs-1.23-1.el9.x86_64 DEBUG util.py:445: systemd-libs-252-33.el9.x86_64 DEBUG util.py:445: python3-libselinux-3.6-1.el9.x86_64 DEBUG util.py:445: libselinux-utils-3.6-1.el9.x86_64 DEBUG util.py:445: policycoreutils-3.6-2.1.el9.x86_64 DEBUG util.py:445: python3-libsemanage-3.6-1.el9.x86_64 DEBUG util.py:445: systemd-rpm-macros-252-33.el9.noarch DEBUG util.py:445: gnutls-3.8.3-4.el9.x86_64 DEBUG util.py:445: centos-gpg-keys-9.0-26.el9.noarch DEBUG util.py:445: centos-stream-repos-9.0-26.el9.noarch DEBUG util.py:445: python3-setools-4.4.4-1.el9.x86_64 DEBUG util.py:445: python3-distro-1.5.0-7.el9.noarch DEBUG util.py:445: python3-audit-3.1.2-2.el9.x86_64 DEBUG util.py:445: checkpolicy-3.6-1.el9.x86_64 DEBUG util.py:445: python3-policycoreutils-3.6-2.1.el9.noarch DEBUG util.py:445: policycoreutils-python-utils-3.6-2.1.el9.noarch DEBUG util.py:445: systemd-pam-252-33.el9.x86_64 DEBUG util.py:445: systemd-252-33.el9.x86_64 DEBUG util.py:445: systemd-udev-252-33.el9.x86_64 DEBUG util.py:445: centos-stream-release-9.0-26.el9.noarch DEBUG util.py:445: libappstream-glib-0.7.18-5.el9.x86_64 DEBUG util.py:445: python3-idna-2.10-7.el9.1.noarch DEBUG util.py:445: libxml2-2.9.13-6.el9.x86_64 DEBUG util.py:445: webkit2gtk3-jsc-2.44.1-1.el9.x86_64 DEBUG util.py:445: kernel-headers-5.14.0-446.el9.x86_64 DEBUG util.py:445: NetworkManager-libnm-1.47.90-1.el9.x86_64 DEBUG util.py:596: Child return code was: 0 DEBUG file_util.py:30: touching file: /var/lib/mock/dlrn-centos9-xena-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-xena-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=1027gid=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-18.3.1-0.20240514115031.96d2c3c.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-xena-x86_64-5-bootstrap/root/var/lib/mock/dlrn-centos9-xena-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-xena-x86_64-5-bootstrap/root/var/lib/mock/dlrn-centos9-xena-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-xena-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-xena-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-xena-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-xena-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-xena-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-xena-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-xena-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-xena-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-xena-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-xena-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-xena-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-xena-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-xena-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-xena-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-xena-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-xena-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-xena-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-xena-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-xena-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-xena-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-xena-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-xena-x86_64-5/root/dev/pts DEBUG file_util.py:20: creating dir: /var/lib/mock/dlrn-centos9-xena-x86_64-5/root/dev/pts DEBUG file_util.py:17: ensuring that dir exists: /var/lib/mock/dlrn-centos9-xena-x86_64-5/root/dev/shm DEBUG file_util.py:20: creating dir: /var/lib/mock/dlrn-centos9-xena-x86_64-5/root/dev/shm DEBUG file_util.py:17: ensuring that dir exists: /var/lib/mock/dlrn-centos9-xena-x86_64-5/root/dev/mapper DEBUG file_util.py:20: creating dir: /var/lib/mock/dlrn-centos9-xena-x86_64-5/root/dev/mapper DEBUG buildroot.py:687: kernel version == 4.18.0-485.el8.x86_64 DEBUG file_util.py:30: touching file: /var/lib/mock/dlrn-centos9-xena-x86_64-5/root/etc/fstab DEBUG file_util.py:30: touching file: /var/lib/mock/dlrn-centos9-xena-x86_64-5/root/etc/yum/yum.conf DEBUG file_util.py:30: touching file: /var/lib/mock/dlrn-centos9-xena-x86_64-5/root/etc/dnf/dnf.conf DEBUG file_util.py:30: touching file: /var/lib/mock/dlrn-centos9-xena-x86_64-5/root/var/log/yum.log DEBUG file_util.py:17: ensuring that dir exists: /var/lib/mock/dlrn-centos9-xena-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-xena-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-xena-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-xena-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-xena-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-xena-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-xena-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-xena-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-xena-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-xena-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-xena-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-xena-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-xena-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-xena-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-xena-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-xena-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-xena-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-xena-x86_64-5/yum_cache', '/var/lib/mock/dlrn-centos9-xena-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-xena-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-xena-x86_64-5/dnf_cache', '/var/lib/mock/dlrn-centos9-xena-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.018989vf', '/var/lib/mock/dlrn-centos9-xena-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-xena-x86_64-5-bootstrap/root/var/lib/mock/dlrn-centos9-xena-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-xena-x86_64-5-bootstrap/root/var/lib/mock/dlrn-centos9-xena-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-xena-x86_64-5-bootstrap/root/var/lib/mock/dlrn-centos9-xena-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-xena-x86_64-5/root', '/var/lib/mock/dlrn-centos9-xena-x86_64-5-bootstrap/root/var/lib/mock/dlrn-centos9-xena-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-xena-x86_64-5-bootstrap/root/var/lib/mock/dlrn-centos9-xena-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-xena-x86_64-5/root DEBUG buildroot.py:199: resultdir = /home/centos9-xena/data/repos/component/baremetal/96/d2/96d2c3cb44f6c3a355c4b6ac51345009bfd25e10_4c152d56 DEBUG file_util.py:17: ensuring that dir exists: /var/lib/mock/dlrn-centos9-xena-x86_64-5/root/etc/pki/mock DEBUG file_util.py:17: ensuring that dir exists: /var/lib/mock/dlrn-centos9-xena-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', '1027', '-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-xena-x86_64-5/root/builddir/build DEBUG file_util.py:20: creating dir: /var/lib/mock/dlrn-centos9-xena-x86_64-5/root/builddir/build DEBUG file_util.py:17: ensuring that dir exists: /var/lib/mock/dlrn-centos9-xena-x86_64-5/root/builddir/build/RPMS DEBUG file_util.py:20: creating dir: /var/lib/mock/dlrn-centos9-xena-x86_64-5/root/builddir/build/RPMS DEBUG file_util.py:17: ensuring that dir exists: /var/lib/mock/dlrn-centos9-xena-x86_64-5/root/builddir/build/SPECS DEBUG file_util.py:20: creating dir: /var/lib/mock/dlrn-centos9-xena-x86_64-5/root/builddir/build/SPECS DEBUG file_util.py:17: ensuring that dir exists: /var/lib/mock/dlrn-centos9-xena-x86_64-5/root/builddir/build/SRPMS DEBUG file_util.py:20: creating dir: /var/lib/mock/dlrn-centos9-xena-x86_64-5/root/builddir/build/SRPMS DEBUG file_util.py:17: ensuring that dir exists: /var/lib/mock/dlrn-centos9-xena-x86_64-5/root/builddir/build/SOURCES DEBUG file_util.py:20: creating dir: /var/lib/mock/dlrn-centos9-xena-x86_64-5/root/builddir/build/SOURCES DEBUG file_util.py:17: ensuring that dir exists: /var/lib/mock/dlrn-centos9-xena-x86_64-5/root/builddir/build/BUILD DEBUG file_util.py:20: creating dir: /var/lib/mock/dlrn-centos9-xena-x86_64-5/root/builddir/build/BUILD DEBUG file_util.py:17: ensuring that dir exists: /var/lib/mock/dlrn-centos9-xena-x86_64-5/root/builddir/build/BUILDROOT DEBUG file_util.py:20: creating dir: /var/lib/mock/dlrn-centos9-xena-x86_64-5/root/builddir/build/BUILDROOT DEBUG file_util.py:17: ensuring that dir exists: /var/lib/mock/dlrn-centos9-xena-x86_64-5/root/builddir/build/originals DEBUG file_util.py:20: creating dir: /var/lib/mock/dlrn-centos9-xena-x86_64-5/root/builddir/build/originals DEBUG file_util.py:17: ensuring that dir exists: /var/lib/mock/dlrn-centos9-xena-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-xena-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.4.1-3.el9.x86_64 DEBUG util.py:445: fonts-filesystem-2.0.5-7.el9.1.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-20231215-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.9-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-9.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: 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: ncurses-base-6.2-10.20210508.el9.noarch DEBUG util.py:445: kbd-misc-2.4.0-9.el9.noarch DEBUG util.py:445: kbd-legacy-2.4.0-9.el9.noarch DEBUG util.py:445: coreutils-common-8.32-35.el9.x86_64 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-10.20210508.el9.x86_64 DEBUG util.py:445: zlib-1.2.11-41.el9.x86_64 DEBUG util.py:445: libstdc++-11.4.1-3.el9.x86_64 DEBUG util.py:445: xz-libs-5.2.5-8.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: libzstd-1.5.1-2.el9.x86_64 DEBUG util.py:445: libpng-1.6.37-12.el9.x86_64 DEBUG util.py:445: libjpeg-turbo-2.0.90-7.el9.x86_64 DEBUG util.py:445: libcap-2.48-9.el9.x86_64 DEBUG util.py:445: libffi-3.4.2-8.el9.x86_64 DEBUG util.py:445: sqlite-libs-3.34.1-7.el9.x86_64 DEBUG util.py:445: elfutils-libelf-0.190-2.el9.x86_64 DEBUG util.py:445: gmp-6.2.0-13.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: mpfr-4.1.0-7.el9.x86_64 DEBUG util.py:445: readline-8.1-4.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: libgcrypt-1.10.0-10.el9.x86_64 DEBUG util.py:445: libwayland-client-1.21.0-1.el9.x86_64 DEBUG util.py:445: libicu-67.1-9.el9.x86_64 DEBUG util.py:445: libattr-2.5.1-3.el9.x86_64 DEBUG util.py:445: libacl-2.3.1-4.el9.x86_64 DEBUG util.py:445: libgomp-11.4.1-3.el9.x86_64 DEBUG util.py:445: lz4-libs-1.9.3-5.el9.x86_64 DEBUG util.py:445: popt-1.18-8.el9.x86_64 DEBUG util.py:445: alsa-lib-1.2.10-2.el9.x86_64 DEBUG util.py:445: libwebp-1.2.0-8.el9.x86_64 DEBUG util.py:445: libassuan-2.5.5-3.el9.x86_64 DEBUG util.py:445: libbrotli-1.0.9-6.el9.x86_64 DEBUG util.py:445: libcap-ng-0.8.2-7.el9.x86_64 DEBUG util.py:445: audit-libs-3.1.2-2.el9.x86_64 DEBUG util.py:445: libcom_err-1.46.5-5.el9.x86_64 DEBUG util.py:445: libseccomp-2.5.2-2.el9.x86_64 DEBUG util.py:445: libtasn1-4.16.0-8.el9.x86_64 DEBUG util.py:445: p11-kit-0.25.3-2.el9.x86_64 DEBUG util.py:445: libtdb-1.4.9-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-4.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: libX11-xcb-1.7.0-9.el9.x86_64 DEBUG util.py:445: libstemmer-0-18.585svn.el9.x86_64 DEBUG util.py:445: openjpeg2-2.4.0-7.el9.x86_64 DEBUG util.py:445: opus-1.3.1-10.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: 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: dwz-0.14-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: libproxy-0.4.15-35.el9.x86_64 DEBUG util.py:445: imath-3.1.2-1.el9.x86_64 DEBUG util.py:445: hicolor-icon-theme-0.17-13.el9.noarch DEBUG util.py:445: libedit-3.1-38.20210216cvs.el9.x86_64 DEBUG util.py:445: alternatives-1.24-1.el9.x86_64 DEBUG util.py:445: p11-kit-trust-0.25.3-2.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: libsepol-3.6-1.el9.x86_64 DEBUG util.py:445: libselinux-3.6-1.el9.x86_64 DEBUG util.py:445: sed-4.8-9.el9.x86_64 DEBUG util.py:445: findutils-4.8.0-6.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: grep-3.6-5.el9.x86_64 DEBUG util.py:445: coreutils-8.32-35.el9.x86_64 DEBUG util.py:445: ca-certificates-2023.2.60_v7.0.306-90.1.el9.noarch DEBUG util.py:445: dbus-libs-1.12.20-8.el9.x86_64 DEBUG util.py:445: libarchive-3.5.3-4.el9.x86_64 DEBUG util.py:445: libusbx-1.0.26-1.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: kmod-libs-28-9.el9.x86_64 DEBUG util.py:445: libevent-2.1.12-6.el9.x86_64 DEBUG util.py:445: avahi-libs-0.8-20.el9.x86_64 DEBUG util.py:445: xz-5.2.5-8.el9.x86_64 DEBUG util.py:445: jbigkit-libs-2.1-23.el9.x86_64 DEBUG util.py:445: libtiff-4.4.0-12.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-9.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: libXi-1.7.10-8.el9.x86_64 DEBUG util.py:445: libXfixes-5.0.3-16.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-10.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: libxshmfence-1.3-10.el9.x86_64 DEBUG util.py:445: pixman-0.40.0-6.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: p11-kit-server-0.25.3-2.el9.x86_64 DEBUG util.py:445: python-unversioned-command-3.9.18-3.el9.noarch DEBUG util.py:445: python3-3.9.18-3.el9.x86_64 DEBUG util.py:445: python3-libs-3.9.18-3.el9.x86_64 DEBUG util.py:445: python3-setuptools-57.4.0-1.el9s.noarch DEBUG util.py:445: python3-six-1.15.0-9.el9.noarch DEBUG util.py:445: python3-greenlet-1.1.2-4.el9.x86_64 DEBUG util.py:445: python3-chardet-4.0.0-5.el9.noarch DEBUG util.py:445: python3-ply-3.11-14.el9.noarch DEBUG util.py:445: python3-pycparser-2.20-6.el9.noarch DEBUG util.py:445: python3-cffi-1.14.5-5.el9.x86_64 DEBUG util.py:445: python3-cryptography-36.0.1-4.el9.x86_64 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-5.el9.noarch DEBUG util.py:445: python3-requests-2.25.1-8.el9.noarch DEBUG util.py:445: python3-pytz-2021.1-5.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-markupsafe-2.0.0-2.el9s.x86_64 DEBUG util.py:445: python3-jinja2-3.0.1-2.el9s.noarch DEBUG util.py:445: sound-theme-freedesktop-0.8-17.el9.noarch DEBUG util.py:445: kmod-28-9.el9.x86_64 DEBUG util.py:445: libsemanage-3.6-1.el9.x86_64 DEBUG util.py:445: shadow-utils-4.9-8.el9.x86_64 DEBUG util.py:445: libutempter-1.2.1-6.el9.x86_64 DEBUG util.py:445: tar-1.34-6.el9.x86_64 DEBUG util.py:445: llvm-libs-17.0.6-5.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.4.1-3.el9.x86_64 DEBUG util.py:445: zstd-1.5.1-2.el9.x86_64 DEBUG util.py:445: acl-2.3.1-4.el9.x86_64 DEBUG util.py:445: flac-libs-1.3.3-12.el9.x86_64 DEBUG util.py:445: libtheora-1.1.1-31.el9.x86_64 DEBUG util.py:445: libksba-1.5.1-6.el9.x86_64 DEBUG util.py:445: jasper-libs-2.0.28-3.el9.x86_64 DEBUG util.py:445: LibRaw-0.21.1-1.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: groff-base-1.22.4-10.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: libfontenc-1.1.3-17.el9.x86_64 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-10.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-481.el9.x86_64 DEBUG util.py:445: perl-FileHandle-2.03-481.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-AutoLoader-5.74-481.el9.noarch DEBUG util.py:445: perl-base-2.27-481.el9.noarch DEBUG util.py:445: perl-URI-5.09-3.el9.noarch DEBUG util.py:445: perl-if-0.60.800-481.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-Net-SSLeay-1.92-2.el9.x86_64 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-481.el9.noarch DEBUG util.py:445: perl-POSIX-1.94-481.el9.x86_64 DEBUG util.py:445: perl-Term-ANSIColor-5.01-461.el9.noarch DEBUG util.py:445: perl-IPC-Open3-1.21-481.el9.noarch DEBUG util.py:445: perl-subs-1.03-481.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-462.el9.noarch DEBUG util.py:445: perl-Socket-2.031-4.el9.x86_64 DEBUG util.py:445: perl-SelectSaver-1.02-481.el9.noarch DEBUG util.py:445: perl-Symbol-1.08-481.el9.noarch DEBUG util.py:445: perl-File-stat-1.09-481.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-481.el9.x86_64 DEBUG util.py:445: perl-Text-ParseWords-3.30-460.el9.noarch DEBUG util.py:445: perl-mro-1.23-481.el9.x86_64 DEBUG util.py:445: perl-IO-1.43-481.el9.x86_64 DEBUG util.py:445: perl-overloading-0.02-481.el9.noarch DEBUG util.py:445: perl-Pod-Usage-2.01-4.el9.noarch DEBUG util.py:445: perl-Errno-1.30-481.el9.x86_64 DEBUG util.py:445: perl-File-Basename-2.85-481.el9.noarch DEBUG util.py:445: perl-Getopt-Std-1.12-481.el9.noarch DEBUG util.py:445: perl-MIME-Base64-3.16-4.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-481.el9.noarch DEBUG util.py:445: perl-parent-0.238-460.el9.noarch DEBUG util.py:445: perl-vars-1.05-481.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-481.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-481.el9.x86_64 DEBUG util.py:445: perl-interpreter-5.32.1-481.el9.x86_64 DEBUG util.py:445: kernel-srpm-macros-1.0-13.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: diffutils-3.7-12.el9.x86_64 DEBUG util.py:445: keyutils-libs-1.6.3-1.el9.x86_64 DEBUG util.py:445: libatomic-11.4.1-3.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: libpwquality-1.4.4-8.el9.x86_64 DEBUG util.py:445: dbus-1.12.20-8.el9.x86_64 DEBUG util.py:445: dbus-common-1.12.20-8.el9.noarch DEBUG util.py:445: dbus-broker-28-7.el9.x86_64 DEBUG util.py:445: device-mapper-libs-1.02.197-2.el9.x86_64 DEBUG util.py:445: device-mapper-1.02.197-2.el9.x86_64 DEBUG util.py:445: cryptsetup-libs-2.6.0-3.el9.x86_64 DEBUG util.py:445: elfutils-default-yama-scope-0.190-2.el9.noarch DEBUG util.py:445: elfutils-libs-0.190-2.el9.x86_64 DEBUG util.py:445: openssh-8.7p1-38.el9.x86_64 DEBUG util.py:445: kbd-2.4.0-9.el9.x86_64 DEBUG util.py:445: libnghttp2-1.43.0-5.el9.1.x86_64 DEBUG util.py:445: libdrm-2.4.117-1.el9.x86_64 DEBUG util.py:445: libglvnd-egl-1.3.4-1.el9.x86_64 DEBUG util.py:445: libglvnd-glx-1.3.4-1.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: cyrus-sasl-lib-2.1.27-21.el9.x86_64 DEBUG util.py:445: elfutils-debuginfod-client-0.190-2.el9.x86_64 DEBUG util.py:445: elfutils-0.190-2.el9.x86_64 DEBUG util.py:445: gdb-minimal-10.2-13.el9.x86_64 DEBUG util.py:445: debugedit-5.0-5.el9.x86_64 DEBUG util.py:445: rpm-4.16.1.3-29.el9.x86_64 DEBUG util.py:445: rpm-libs-4.16.1.3-29.el9.x86_64 DEBUG util.py:445: rpm-build-libs-4.16.1.3-29.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.2.2-2.el9.x86_64 DEBUG util.py:445: libfido2-1.13.0-2.el9.x86_64 DEBUG util.py:445: openssh-clients-8.7p1-38.el9.x86_64 DEBUG util.py:445: git-core-2.43.0-1.el9.x86_64 DEBUG util.py:445: make-4.3-8.el9.x86_64 DEBUG util.py:445: nettle-3.9.1-1.el9.x86_64 DEBUG util.py:445: freetype-2.10.4-9.el9.x86_64 DEBUG util.py:445: harfbuzz-2.7.4-10.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.22.1-2.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: libgudev-237-1.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-19.el9.x86_64 DEBUG util.py:445: poppler-glib-21.01.0-19.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: gobject-introspection-1.68.0-11.el9.x86_64 DEBUG util.py:445: upower-0.99.11-11.el9.x86_64 DEBUG util.py:445: libgusb-0.3.8-2.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-20.el9.x86_64 DEBUG util.py:445: flatpak-session-helper-1.12.8-1.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: 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: 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-4.el9.x86_64 DEBUG util.py:445: gpgme-1.15.1-6.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: 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.4.1-3.el9.x86_64 DEBUG util.py:445: annobin-12.31-2.el9.x86_64 DEBUG util.py:445: gcc-plugin-annobin-11.4.1-3.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.2.0-3.el9.noarch DEBUG util.py:445: python-srpm-macros-3.9-53.el9.noarch DEBUG util.py:445: redhat-rpm-config-207-1.el9.noarch DEBUG util.py:445: rpm-build-4.16.1.3-29.el9.x86_64 DEBUG util.py:445: pyproject-srpm-macros-1.12.0-1.el9.noarch DEBUG util.py:445: python-rpm-macros-3.9-53.el9.noarch DEBUG util.py:445: python3-rpm-macros-3.9-53.el9.noarch DEBUG util.py:445: python3-rpm-generators-12-9.el9.noarch DEBUG util.py:445: gsm-1.0.19-6.el9.x86_64 DEBUG util.py:445: libsndfile-1.0.31-8.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-27.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-3.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-14.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: pipewire-libs-1.0.1-1.el9.x86_64 DEBUG util.py:445: pipewire-1.0.1-1.el9.x86_64 DEBUG util.py:445: wireplumber-libs-0.4.14-1.el9.x86_64 DEBUG util.py:445: wireplumber-0.4.14-1.el9.x86_64 DEBUG util.py:445: flatpak-1.12.8-1.el9.x86_64 DEBUG util.py:445: xdg-desktop-portal-1.12.6-1.el9.x86_64 DEBUG util.py:445: pipewire-jack-audio-connection-kit-libs-1.0.1-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.22.1-2.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-4.el9.x86_64 DEBUG util.py:445: libcanberra-gtk3-0.30-27.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-27.el9.x86_64 DEBUG util.py:445: graphviz-2.44.0-26.el9.x86_64 DEBUG util.py:445: ImageMagick-libs-6.9.12.98-1.el9s.x86_64 DEBUG util.py:445: ImageMagick-6.9.12.98-1.el9s.x86_64 DEBUG util.py:445: python3-sphinx-3.4.3-8.el9.noarch DEBUG util.py:445: pipewire-jack-audio-connection-kit-1.0.1-1.el9.x86_64 DEBUG util.py:445: pipewire-alsa-1.0.1-1.el9.x86_64 DEBUG util.py:445: pipewire-pulseaudio-1.0.1-1.el9.x86_64 DEBUG util.py:445: python3-devel-3.9.18-3.el9.x86_64 DEBUG util.py:445: python3-pbr-5.6.0-1.el9s.noarch DEBUG util.py:445: python3-setuptools_scm-6.3.2-2.el9s.noarch DEBUG util.py:445: python3-eventlet-0.31.1-1.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.20230216203407.ce6a105.el9.noarch DEBUG util.py:445: libuuid-2.37.4-18.el9.x86_64 DEBUG util.py:445: libblkid-2.37.4-18.el9.x86_64 DEBUG util.py:445: libmount-2.37.4-18.el9.x86_64 DEBUG util.py:445: libfdisk-2.37.4-18.el9.x86_64 DEBUG util.py:445: mesa-libglapi-23.3.3-1.el9.x86_64 DEBUG util.py:445: libsmartcols-2.37.4-18.el9.x86_64 DEBUG util.py:445: util-linux-core-2.37.4-18.el9.x86_64 DEBUG util.py:445: glib2-2.68.4-14.el9.x86_64 DEBUG util.py:445: pam-1.5.1-19.el9.x86_64 DEBUG util.py:445: util-linux-2.37.4-18.el9.x86_64 DEBUG util.py:445: binutils-gold-2.35.2-43.el9.x86_64 DEBUG util.py:445: binutils-2.35.2-43.el9.x86_64 DEBUG util.py:445: mesa-libgbm-23.3.3-1.el9.x86_64 DEBUG util.py:445: pcre2-syntax-10.40-5.el9.noarch DEBUG util.py:445: pcre2-10.40-5.el9.x86_64 DEBUG util.py:445: libssh-config-0.10.4-13.el9.noarch DEBUG util.py:445: libssh-0.10.4-13.el9.x86_64 DEBUG util.py:445: mesa-libEGL-23.3.3-1.el9.x86_64 DEBUG util.py:445: mesa-libGL-23.3.3-1.el9.x86_64 DEBUG util.py:445: setup-2.13.7-10.el9.noarch DEBUG util.py:445: hwdata-0.348-9.13.el9.noarch DEBUG util.py:445: fuse-common-3.10.2-8.el9.x86_64 DEBUG util.py:445: file-libs-5.39-16.el9.x86_64 DEBUG util.py:445: file-5.39-16.el9.x86_64 DEBUG util.py:445: cups-libs-2.3.3op2-24.el9.x86_64 DEBUG util.py:445: libcurl-7.76.1-29.el9.x86_64 DEBUG util.py:445: curl-7.76.1-29.el9.x86_64 DEBUG util.py:445: tzdata-2024a-2.el9.noarch DEBUG util.py:445: less-590-3.el9.x86_64 DEBUG util.py:445: openldap-2.6.6-3.el9.x86_64 DEBUG util.py:445: ostree-libs-2024.5-2.el9.x86_64 DEBUG util.py:445: expat-2.5.0-2.el9.x86_64 DEBUG util.py:445: libpciaccess-0.16-7.el9.x86_64 DEBUG util.py:445: perl-Scalar-List-Utils-1.56-462.el9.x86_64 DEBUG util.py:445: crypto-policies-20240304-1.gitb1c706d.el9.noarch DEBUG util.py:445: bash-5.1.8-9.el9.x86_64 DEBUG util.py:445: crypto-policies-scripts-20240304-1.gitb1c706d.el9.noarch DEBUG util.py:445: python3-pip-21.3.1-1.el9.noarch DEBUG util.py:445: python3-pip-wheel-21.3.1-1.el9.noarch DEBUG util.py:445: bubblewrap-0.4.1-7.el9.x86_64 DEBUG util.py:445: glibc-common-2.34-105.el9.x86_64 DEBUG util.py:445: glibc-gconv-extra-2.34-105.el9.x86_64 DEBUG util.py:445: glibc-minimal-langpack-2.34-105.el9.x86_64 DEBUG util.py:445: glibc-2.34-105.el9.x86_64 DEBUG util.py:445: glibc-headers-2.34-105.el9.x86_64 DEBUG util.py:445: glibc-devel-2.34-105.el9.x86_64 DEBUG util.py:445: nspr-4.35.0-7.el9.x86_64 DEBUG util.py:445: nss-util-3.90.0-7.el9.x86_64 DEBUG util.py:445: openssl-libs-3.2.1-1.el9.x86_64 DEBUG util.py:445: nss-softokn-freebl-3.90.0-7.el9.x86_64 DEBUG util.py:445: nss-softokn-3.90.0-7.el9.x86_64 DEBUG util.py:445: nss-3.90.0-7.el9.x86_64 DEBUG util.py:445: nss-sysinit-3.90.0-7.el9.x86_64 DEBUG util.py:445: krb5-libs-1.21.1-2.el9.x86_64 DEBUG util.py:445: openssl-3.2.1-1.el9.x86_64 DEBUG util.py:445: libeconf-0.4.1-4.el9.x86_64 DEBUG util.py:445: pcre-8.44-4.el9.x86_64 DEBUG util.py:445: gdbm-libs-1.23-1.el9.x86_64 DEBUG util.py:445: systemd-libs-252-33.el9.x86_64 DEBUG util.py:445: python3-libselinux-3.6-1.el9.x86_64 DEBUG util.py:445: libselinux-utils-3.6-1.el9.x86_64 DEBUG util.py:445: policycoreutils-3.6-2.1.el9.x86_64 DEBUG util.py:445: python3-libsemanage-3.6-1.el9.x86_64 DEBUG util.py:445: systemd-rpm-macros-252-33.el9.noarch DEBUG util.py:445: gnutls-3.8.3-4.el9.x86_64 DEBUG util.py:445: centos-gpg-keys-9.0-26.el9.noarch DEBUG util.py:445: centos-stream-repos-9.0-26.el9.noarch DEBUG util.py:445: python3-setools-4.4.4-1.el9.x86_64 DEBUG util.py:445: python3-distro-1.5.0-7.el9.noarch DEBUG util.py:445: python3-audit-3.1.2-2.el9.x86_64 DEBUG util.py:445: checkpolicy-3.6-1.el9.x86_64 DEBUG util.py:445: python3-policycoreutils-3.6-2.1.el9.noarch DEBUG util.py:445: policycoreutils-python-utils-3.6-2.1.el9.noarch DEBUG util.py:445: systemd-pam-252-33.el9.x86_64 DEBUG util.py:445: systemd-252-33.el9.x86_64 DEBUG util.py:445: systemd-udev-252-33.el9.x86_64 DEBUG util.py:445: centos-stream-release-9.0-26.el9.noarch DEBUG util.py:445: libappstream-glib-0.7.18-5.el9.x86_64 DEBUG util.py:445: python3-idna-2.10-7.el9.1.noarch DEBUG util.py:445: libxml2-2.9.13-6.el9.x86_64 DEBUG util.py:445: webkit2gtk3-jsc-2.44.1-1.el9.x86_64 DEBUG util.py:445: kernel-headers-5.14.0-446.el9.x86_64 DEBUG util.py:445: NetworkManager-libnm-1.47.90-1.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-xena-x86_64-5/root/installation-homedir DEBUG package_manager.py:197: ['/usr/bin/dnf', '--installroot', '/var/lib/mock/dlrn-centos9-xena-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-xena-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-xena-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-openstack-ironic-inspector-12e63382fe9 29 kB/s | 3.0 kB 00:00 DEBUG util.py:445: delorean-openstack-cinder-6f61da6b46cd5cd054748 31 kB/s | 3.0 kB 00:00 DEBUG util.py:445: delorean-python-manilaclient-135cdf98c317827634 27 kB/s | 3.0 kB 00:00 DEBUG util.py:445: delorean-openstack-aodh-dd23f13d20de205dddd048e 29 kB/s | 3.0 kB 00:00 DEBUG util.py:445: delorean-openstack-trove-24d01cbd9adc856ffbec9d 28 kB/s | 3.0 kB 00:00 DEBUG util.py:445: delorean-openstack-nova-dbe1d4bb125799c15cbb05a 31 kB/s | 3.0 kB 00:00 DEBUG util.py:445: delorean-openstack-glance-e113723f3fa85cfbbab94 25 kB/s | 3.0 kB 00:00 DEBUG util.py:445: delorean-openstack-manila-68608563da45d199e6b94 30 kB/s | 3.0 kB 00:00 DEBUG util.py:445: delorean-openstack-neutron-vpnaas-8f84356bf9563 29 kB/s | 3.0 kB 00:00 DEBUG util.py:445: delorean-openstack-octavia-28f7d2e000a0419d2741 22 kB/s | 3.0 kB 00:00 DEBUG util.py:445: delorean-openstack-keystone-5f5e43b2902512288ee 19 kB/s | 3.0 kB 00:00 DEBUG util.py:445: delorean-openstack-swift-8c4f9526ac62ee23e60f71 27 kB/s | 3.0 kB 00:00 DEBUG util.py:445: delorean-openstack-tempest-1580f6f8437bd07e008c 32 kB/s | 3.0 kB 00:00 DEBUG util.py:445: delorean-openstack-heat-cd40593a115630d1f8dce3d 31 kB/s | 3.0 kB 00:00 DEBUG util.py:445: delorean-openstack-trove-ui-47b97e7b5896ae304d5 30 kB/s | 3.0 kB 00:00 DEBUG util.py:445: delorean-python-validations-libs-8d9e1b5dfd43be 31 kB/s | 3.0 kB 00:00 DEBUG util.py:445: CentOS Stream 9 - BaseOS 63 kB/s | 3.9 kB 00:00 DEBUG util.py:445: CentOS Stream 9 - AppStream 50 kB/s | 4.4 kB 00:00 DEBUG util.py:445: CentOS Stream 9 - CRB 18 kB/s | 2.9 kB 00:00 DEBUG util.py:445: CentOS Stream 9 - HighAvailability 15 kB/s | 3.0 kB 00:00 DEBUG util.py:445: dlrn-xena-testing 31 kB/s | 3.0 kB 00:00 DEBUG util.py:445: dlrn-xena-build-deps 33 kB/s | 3.0 kB 00:00 DEBUG util.py:445: centos9-rabbitmq 29 kB/s | 3.0 kB 00:00 DEBUG util.py:445: centos9-storage 32 kB/s | 3.0 kB 00:00 DEBUG util.py:445: centos9-opstools 35 kB/s | 3.0 kB 00:00 DEBUG util.py:445: NFV SIG OpenvSwitch 27 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-xena-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.4.1-3.el9.x86_64 DEBUG util.py:445: fonts-filesystem-2.0.5-7.el9.1.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-20231215-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.9-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-9.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: 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: ncurses-base-6.2-10.20210508.el9.noarch DEBUG util.py:445: kbd-misc-2.4.0-9.el9.noarch DEBUG util.py:445: kbd-legacy-2.4.0-9.el9.noarch DEBUG util.py:445: coreutils-common-8.32-35.el9.x86_64 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-10.20210508.el9.x86_64 DEBUG util.py:445: zlib-1.2.11-41.el9.x86_64 DEBUG util.py:445: libstdc++-11.4.1-3.el9.x86_64 DEBUG util.py:445: xz-libs-5.2.5-8.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: libzstd-1.5.1-2.el9.x86_64 DEBUG util.py:445: libpng-1.6.37-12.el9.x86_64 DEBUG util.py:445: libjpeg-turbo-2.0.90-7.el9.x86_64 DEBUG util.py:445: libcap-2.48-9.el9.x86_64 DEBUG util.py:445: libffi-3.4.2-8.el9.x86_64 DEBUG util.py:445: sqlite-libs-3.34.1-7.el9.x86_64 DEBUG util.py:445: elfutils-libelf-0.190-2.el9.x86_64 DEBUG util.py:445: gmp-6.2.0-13.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: mpfr-4.1.0-7.el9.x86_64 DEBUG util.py:445: readline-8.1-4.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: libgcrypt-1.10.0-10.el9.x86_64 DEBUG util.py:445: libwayland-client-1.21.0-1.el9.x86_64 DEBUG util.py:445: libicu-67.1-9.el9.x86_64 DEBUG util.py:445: libattr-2.5.1-3.el9.x86_64 DEBUG util.py:445: libacl-2.3.1-4.el9.x86_64 DEBUG util.py:445: libgomp-11.4.1-3.el9.x86_64 DEBUG util.py:445: lz4-libs-1.9.3-5.el9.x86_64 DEBUG util.py:445: popt-1.18-8.el9.x86_64 DEBUG util.py:445: alsa-lib-1.2.10-2.el9.x86_64 DEBUG util.py:445: libwebp-1.2.0-8.el9.x86_64 DEBUG util.py:445: libassuan-2.5.5-3.el9.x86_64 DEBUG util.py:445: libbrotli-1.0.9-6.el9.x86_64 DEBUG util.py:445: libcap-ng-0.8.2-7.el9.x86_64 DEBUG util.py:445: audit-libs-3.1.2-2.el9.x86_64 DEBUG util.py:445: libcom_err-1.46.5-5.el9.x86_64 DEBUG util.py:445: libseccomp-2.5.2-2.el9.x86_64 DEBUG util.py:445: libtasn1-4.16.0-8.el9.x86_64 DEBUG util.py:445: p11-kit-0.25.3-2.el9.x86_64 DEBUG util.py:445: libtdb-1.4.9-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-4.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: libX11-xcb-1.7.0-9.el9.x86_64 DEBUG util.py:445: libstemmer-0-18.585svn.el9.x86_64 DEBUG util.py:445: openjpeg2-2.4.0-7.el9.x86_64 DEBUG util.py:445: opus-1.3.1-10.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: 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: dwz-0.14-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: libproxy-0.4.15-35.el9.x86_64 DEBUG util.py:445: imath-3.1.2-1.el9.x86_64 DEBUG util.py:445: hicolor-icon-theme-0.17-13.el9.noarch DEBUG util.py:445: libedit-3.1-38.20210216cvs.el9.x86_64 DEBUG util.py:445: alternatives-1.24-1.el9.x86_64 DEBUG util.py:445: p11-kit-trust-0.25.3-2.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: libsepol-3.6-1.el9.x86_64 DEBUG util.py:445: libselinux-3.6-1.el9.x86_64 DEBUG util.py:445: sed-4.8-9.el9.x86_64 DEBUG util.py:445: findutils-4.8.0-6.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: grep-3.6-5.el9.x86_64 DEBUG util.py:445: coreutils-8.32-35.el9.x86_64 DEBUG util.py:445: ca-certificates-2023.2.60_v7.0.306-90.1.el9.noarch DEBUG util.py:445: dbus-libs-1.12.20-8.el9.x86_64 DEBUG util.py:445: libarchive-3.5.3-4.el9.x86_64 DEBUG util.py:445: libusbx-1.0.26-1.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: kmod-libs-28-9.el9.x86_64 DEBUG util.py:445: libevent-2.1.12-6.el9.x86_64 DEBUG util.py:445: avahi-libs-0.8-20.el9.x86_64 DEBUG util.py:445: xz-5.2.5-8.el9.x86_64 DEBUG util.py:445: jbigkit-libs-2.1-23.el9.x86_64 DEBUG util.py:445: libtiff-4.4.0-12.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-9.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: libXi-1.7.10-8.el9.x86_64 DEBUG util.py:445: libXfixes-5.0.3-16.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-10.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: libxshmfence-1.3-10.el9.x86_64 DEBUG util.py:445: pixman-0.40.0-6.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: p11-kit-server-0.25.3-2.el9.x86_64 DEBUG util.py:445: python-unversioned-command-3.9.18-3.el9.noarch DEBUG util.py:445: python3-3.9.18-3.el9.x86_64 DEBUG util.py:445: python3-libs-3.9.18-3.el9.x86_64 DEBUG util.py:445: python3-setuptools-57.4.0-1.el9s.noarch DEBUG util.py:445: python3-six-1.15.0-9.el9.noarch DEBUG util.py:445: python3-greenlet-1.1.2-4.el9.x86_64 DEBUG util.py:445: python3-chardet-4.0.0-5.el9.noarch DEBUG util.py:445: python3-ply-3.11-14.el9.noarch DEBUG util.py:445: python3-pycparser-2.20-6.el9.noarch DEBUG util.py:445: python3-cffi-1.14.5-5.el9.x86_64 DEBUG util.py:445: python3-cryptography-36.0.1-4.el9.x86_64 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-5.el9.noarch DEBUG util.py:445: python3-requests-2.25.1-8.el9.noarch DEBUG util.py:445: python3-pytz-2021.1-5.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-markupsafe-2.0.0-2.el9s.x86_64 DEBUG util.py:445: python3-jinja2-3.0.1-2.el9s.noarch DEBUG util.py:445: sound-theme-freedesktop-0.8-17.el9.noarch DEBUG util.py:445: kmod-28-9.el9.x86_64 DEBUG util.py:445: libsemanage-3.6-1.el9.x86_64 DEBUG util.py:445: shadow-utils-4.9-8.el9.x86_64 DEBUG util.py:445: libutempter-1.2.1-6.el9.x86_64 DEBUG util.py:445: tar-1.34-6.el9.x86_64 DEBUG util.py:445: llvm-libs-17.0.6-5.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.4.1-3.el9.x86_64 DEBUG util.py:445: zstd-1.5.1-2.el9.x86_64 DEBUG util.py:445: acl-2.3.1-4.el9.x86_64 DEBUG util.py:445: flac-libs-1.3.3-12.el9.x86_64 DEBUG util.py:445: libtheora-1.1.1-31.el9.x86_64 DEBUG util.py:445: libksba-1.5.1-6.el9.x86_64 DEBUG util.py:445: jasper-libs-2.0.28-3.el9.x86_64 DEBUG util.py:445: LibRaw-0.21.1-1.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: groff-base-1.22.4-10.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: libfontenc-1.1.3-17.el9.x86_64 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-10.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-481.el9.x86_64 DEBUG util.py:445: perl-FileHandle-2.03-481.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-AutoLoader-5.74-481.el9.noarch DEBUG util.py:445: perl-base-2.27-481.el9.noarch DEBUG util.py:445: perl-URI-5.09-3.el9.noarch DEBUG util.py:445: perl-if-0.60.800-481.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-Net-SSLeay-1.92-2.el9.x86_64 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-481.el9.noarch DEBUG util.py:445: perl-POSIX-1.94-481.el9.x86_64 DEBUG util.py:445: perl-Term-ANSIColor-5.01-461.el9.noarch DEBUG util.py:445: perl-IPC-Open3-1.21-481.el9.noarch DEBUG util.py:445: perl-subs-1.03-481.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-462.el9.noarch DEBUG util.py:445: perl-Socket-2.031-4.el9.x86_64 DEBUG util.py:445: perl-SelectSaver-1.02-481.el9.noarch DEBUG util.py:445: perl-Symbol-1.08-481.el9.noarch DEBUG util.py:445: perl-File-stat-1.09-481.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-481.el9.x86_64 DEBUG util.py:445: perl-Text-ParseWords-3.30-460.el9.noarch DEBUG util.py:445: perl-mro-1.23-481.el9.x86_64 DEBUG util.py:445: perl-IO-1.43-481.el9.x86_64 DEBUG util.py:445: perl-overloading-0.02-481.el9.noarch DEBUG util.py:445: perl-Pod-Usage-2.01-4.el9.noarch DEBUG util.py:445: perl-Errno-1.30-481.el9.x86_64 DEBUG util.py:445: perl-File-Basename-2.85-481.el9.noarch DEBUG util.py:445: perl-Getopt-Std-1.12-481.el9.noarch DEBUG util.py:445: perl-MIME-Base64-3.16-4.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-481.el9.noarch DEBUG util.py:445: perl-parent-0.238-460.el9.noarch DEBUG util.py:445: perl-vars-1.05-481.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-481.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-481.el9.x86_64 DEBUG util.py:445: perl-interpreter-5.32.1-481.el9.x86_64 DEBUG util.py:445: kernel-srpm-macros-1.0-13.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: diffutils-3.7-12.el9.x86_64 DEBUG util.py:445: keyutils-libs-1.6.3-1.el9.x86_64 DEBUG util.py:445: libatomic-11.4.1-3.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: libpwquality-1.4.4-8.el9.x86_64 DEBUG util.py:445: dbus-1.12.20-8.el9.x86_64 DEBUG util.py:445: dbus-common-1.12.20-8.el9.noarch DEBUG util.py:445: dbus-broker-28-7.el9.x86_64 DEBUG util.py:445: device-mapper-libs-1.02.197-2.el9.x86_64 DEBUG util.py:445: device-mapper-1.02.197-2.el9.x86_64 DEBUG util.py:445: cryptsetup-libs-2.6.0-3.el9.x86_64 DEBUG util.py:445: elfutils-default-yama-scope-0.190-2.el9.noarch DEBUG util.py:445: elfutils-libs-0.190-2.el9.x86_64 DEBUG util.py:445: openssh-8.7p1-38.el9.x86_64 DEBUG util.py:445: kbd-2.4.0-9.el9.x86_64 DEBUG util.py:445: libnghttp2-1.43.0-5.el9.1.x86_64 DEBUG util.py:445: libdrm-2.4.117-1.el9.x86_64 DEBUG util.py:445: libglvnd-egl-1.3.4-1.el9.x86_64 DEBUG util.py:445: libglvnd-glx-1.3.4-1.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: cyrus-sasl-lib-2.1.27-21.el9.x86_64 DEBUG util.py:445: elfutils-debuginfod-client-0.190-2.el9.x86_64 DEBUG util.py:445: elfutils-0.190-2.el9.x86_64 DEBUG util.py:445: gdb-minimal-10.2-13.el9.x86_64 DEBUG util.py:445: debugedit-5.0-5.el9.x86_64 DEBUG util.py:445: rpm-4.16.1.3-29.el9.x86_64 DEBUG util.py:445: rpm-libs-4.16.1.3-29.el9.x86_64 DEBUG util.py:445: rpm-build-libs-4.16.1.3-29.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.2.2-2.el9.x86_64 DEBUG util.py:445: libfido2-1.13.0-2.el9.x86_64 DEBUG util.py:445: openssh-clients-8.7p1-38.el9.x86_64 DEBUG util.py:445: git-core-2.43.0-1.el9.x86_64 DEBUG util.py:445: make-4.3-8.el9.x86_64 DEBUG util.py:445: nettle-3.9.1-1.el9.x86_64 DEBUG util.py:445: freetype-2.10.4-9.el9.x86_64 DEBUG util.py:445: harfbuzz-2.7.4-10.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.22.1-2.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: libgudev-237-1.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-19.el9.x86_64 DEBUG util.py:445: poppler-glib-21.01.0-19.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: gobject-introspection-1.68.0-11.el9.x86_64 DEBUG util.py:445: upower-0.99.11-11.el9.x86_64 DEBUG util.py:445: libgusb-0.3.8-2.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-20.el9.x86_64 DEBUG util.py:445: flatpak-session-helper-1.12.8-1.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: 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: 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-4.el9.x86_64 DEBUG util.py:445: gpgme-1.15.1-6.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: 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.4.1-3.el9.x86_64 DEBUG util.py:445: annobin-12.31-2.el9.x86_64 DEBUG util.py:445: gcc-plugin-annobin-11.4.1-3.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.2.0-3.el9.noarch DEBUG util.py:445: python-srpm-macros-3.9-53.el9.noarch DEBUG util.py:445: redhat-rpm-config-207-1.el9.noarch DEBUG util.py:445: rpm-build-4.16.1.3-29.el9.x86_64 DEBUG util.py:445: pyproject-srpm-macros-1.12.0-1.el9.noarch DEBUG util.py:445: python-rpm-macros-3.9-53.el9.noarch DEBUG util.py:445: python3-rpm-macros-3.9-53.el9.noarch DEBUG util.py:445: python3-rpm-generators-12-9.el9.noarch DEBUG util.py:445: gsm-1.0.19-6.el9.x86_64 DEBUG util.py:445: libsndfile-1.0.31-8.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-27.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-3.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-14.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: pipewire-libs-1.0.1-1.el9.x86_64 DEBUG util.py:445: pipewire-1.0.1-1.el9.x86_64 DEBUG util.py:445: wireplumber-libs-0.4.14-1.el9.x86_64 DEBUG util.py:445: wireplumber-0.4.14-1.el9.x86_64 DEBUG util.py:445: flatpak-1.12.8-1.el9.x86_64 DEBUG util.py:445: xdg-desktop-portal-1.12.6-1.el9.x86_64 DEBUG util.py:445: pipewire-jack-audio-connection-kit-libs-1.0.1-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.22.1-2.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-4.el9.x86_64 DEBUG util.py:445: libcanberra-gtk3-0.30-27.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-27.el9.x86_64 DEBUG util.py:445: graphviz-2.44.0-26.el9.x86_64 DEBUG util.py:445: ImageMagick-libs-6.9.12.98-1.el9s.x86_64 DEBUG util.py:445: ImageMagick-6.9.12.98-1.el9s.x86_64 DEBUG util.py:445: python3-sphinx-3.4.3-8.el9.noarch DEBUG util.py:445: pipewire-jack-audio-connection-kit-1.0.1-1.el9.x86_64 DEBUG util.py:445: pipewire-alsa-1.0.1-1.el9.x86_64 DEBUG util.py:445: pipewire-pulseaudio-1.0.1-1.el9.x86_64 DEBUG util.py:445: python3-devel-3.9.18-3.el9.x86_64 DEBUG util.py:445: python3-pbr-5.6.0-1.el9s.noarch DEBUG util.py:445: python3-setuptools_scm-6.3.2-2.el9s.noarch DEBUG util.py:445: python3-eventlet-0.31.1-1.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.20230216203407.ce6a105.el9.noarch DEBUG util.py:445: libuuid-2.37.4-18.el9.x86_64 DEBUG util.py:445: libblkid-2.37.4-18.el9.x86_64 DEBUG util.py:445: libmount-2.37.4-18.el9.x86_64 DEBUG util.py:445: libfdisk-2.37.4-18.el9.x86_64 DEBUG util.py:445: mesa-libglapi-23.3.3-1.el9.x86_64 DEBUG util.py:445: libsmartcols-2.37.4-18.el9.x86_64 DEBUG util.py:445: util-linux-core-2.37.4-18.el9.x86_64 DEBUG util.py:445: glib2-2.68.4-14.el9.x86_64 DEBUG util.py:445: pam-1.5.1-19.el9.x86_64 DEBUG util.py:445: util-linux-2.37.4-18.el9.x86_64 DEBUG util.py:445: binutils-gold-2.35.2-43.el9.x86_64 DEBUG util.py:445: binutils-2.35.2-43.el9.x86_64 DEBUG util.py:445: mesa-libgbm-23.3.3-1.el9.x86_64 DEBUG util.py:445: pcre2-syntax-10.40-5.el9.noarch DEBUG util.py:445: pcre2-10.40-5.el9.x86_64 DEBUG util.py:445: libssh-config-0.10.4-13.el9.noarch DEBUG util.py:445: libssh-0.10.4-13.el9.x86_64 DEBUG util.py:445: mesa-libEGL-23.3.3-1.el9.x86_64 DEBUG util.py:445: mesa-libGL-23.3.3-1.el9.x86_64 DEBUG util.py:445: setup-2.13.7-10.el9.noarch DEBUG util.py:445: hwdata-0.348-9.13.el9.noarch DEBUG util.py:445: fuse-common-3.10.2-8.el9.x86_64 DEBUG util.py:445: file-libs-5.39-16.el9.x86_64 DEBUG util.py:445: file-5.39-16.el9.x86_64 DEBUG util.py:445: cups-libs-2.3.3op2-24.el9.x86_64 DEBUG util.py:445: libcurl-7.76.1-29.el9.x86_64 DEBUG util.py:445: curl-7.76.1-29.el9.x86_64 DEBUG util.py:445: tzdata-2024a-2.el9.noarch DEBUG util.py:445: less-590-3.el9.x86_64 DEBUG util.py:445: openldap-2.6.6-3.el9.x86_64 DEBUG util.py:445: ostree-libs-2024.5-2.el9.x86_64 DEBUG util.py:445: expat-2.5.0-2.el9.x86_64 DEBUG util.py:445: libpciaccess-0.16-7.el9.x86_64 DEBUG util.py:445: perl-Scalar-List-Utils-1.56-462.el9.x86_64 DEBUG util.py:445: crypto-policies-20240304-1.gitb1c706d.el9.noarch DEBUG util.py:445: bash-5.1.8-9.el9.x86_64 DEBUG util.py:445: crypto-policies-scripts-20240304-1.gitb1c706d.el9.noarch DEBUG util.py:445: python3-pip-21.3.1-1.el9.noarch DEBUG util.py:445: python3-pip-wheel-21.3.1-1.el9.noarch DEBUG util.py:445: bubblewrap-0.4.1-7.el9.x86_64 DEBUG util.py:445: glibc-common-2.34-105.el9.x86_64 DEBUG util.py:445: glibc-gconv-extra-2.34-105.el9.x86_64 DEBUG util.py:445: glibc-minimal-langpack-2.34-105.el9.x86_64 DEBUG util.py:445: glibc-2.34-105.el9.x86_64 DEBUG util.py:445: glibc-headers-2.34-105.el9.x86_64 DEBUG util.py:445: glibc-devel-2.34-105.el9.x86_64 DEBUG util.py:445: nspr-4.35.0-7.el9.x86_64 DEBUG util.py:445: nss-util-3.90.0-7.el9.x86_64 DEBUG util.py:445: openssl-libs-3.2.1-1.el9.x86_64 DEBUG util.py:445: nss-softokn-freebl-3.90.0-7.el9.x86_64 DEBUG util.py:445: nss-softokn-3.90.0-7.el9.x86_64 DEBUG util.py:445: nss-3.90.0-7.el9.x86_64 DEBUG util.py:445: nss-sysinit-3.90.0-7.el9.x86_64 DEBUG util.py:445: krb5-libs-1.21.1-2.el9.x86_64 DEBUG util.py:445: openssl-3.2.1-1.el9.x86_64 DEBUG util.py:445: libeconf-0.4.1-4.el9.x86_64 DEBUG util.py:445: pcre-8.44-4.el9.x86_64 DEBUG util.py:445: gdbm-libs-1.23-1.el9.x86_64 DEBUG util.py:445: systemd-libs-252-33.el9.x86_64 DEBUG util.py:445: python3-libselinux-3.6-1.el9.x86_64 DEBUG util.py:445: libselinux-utils-3.6-1.el9.x86_64 DEBUG util.py:445: policycoreutils-3.6-2.1.el9.x86_64 DEBUG util.py:445: python3-libsemanage-3.6-1.el9.x86_64 DEBUG util.py:445: systemd-rpm-macros-252-33.el9.noarch DEBUG util.py:445: gnutls-3.8.3-4.el9.x86_64 DEBUG util.py:445: centos-gpg-keys-9.0-26.el9.noarch DEBUG util.py:445: centos-stream-repos-9.0-26.el9.noarch DEBUG util.py:445: python3-setools-4.4.4-1.el9.x86_64 DEBUG util.py:445: python3-distro-1.5.0-7.el9.noarch DEBUG util.py:445: python3-audit-3.1.2-2.el9.x86_64 DEBUG util.py:445: checkpolicy-3.6-1.el9.x86_64 DEBUG util.py:445: python3-policycoreutils-3.6-2.1.el9.noarch DEBUG util.py:445: policycoreutils-python-utils-3.6-2.1.el9.noarch DEBUG util.py:445: systemd-pam-252-33.el9.x86_64 DEBUG util.py:445: systemd-252-33.el9.x86_64 DEBUG util.py:445: systemd-udev-252-33.el9.x86_64 DEBUG util.py:445: centos-stream-release-9.0-26.el9.noarch DEBUG util.py:445: libappstream-glib-0.7.18-5.el9.x86_64 DEBUG util.py:445: python3-idna-2.10-7.el9.1.noarch DEBUG util.py:445: libxml2-2.9.13-6.el9.x86_64 DEBUG util.py:445: webkit2gtk3-jsc-2.44.1-1.el9.x86_64 DEBUG util.py:445: kernel-headers-5.14.0-446.el9.x86_64 DEBUG util.py:445: NetworkManager-libnm-1.47.90-1.el9.x86_64 DEBUG util.py:596: Child return code was: 0 DEBUG file_util.py:30: touching file: /var/lib/mock/dlrn-centos9-xena-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-18.3.1-0.20240514115031.96d2c3c.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:18.3.1-0.2024051411######################################## 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-18.3.1-0.20240514115031.96d2c3c.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-18.3.1.dev11-0.20240514115031.96d2c3c.tar.gz DEBUG util.py:445: ironic-dist.conf DEBUG util.py:445: ironic-rootwrap-sudoers DEBUG util.py:445: ironic.logrotate DEBUG util.py:445: openstack-ironic-api.service DEBUG util.py:445: openstack-ironic-conductor.service DEBUG util.py:445: openstack-ironic-dnsmasq-tftp-server.service DEBUG util.py:445: openstack-ironic.spec DEBUG util.py:596: Child return code was: 0 INFO buildroot.py:278: ENTER ['do_with_status'](['bash', '--login', '-c', '/usr/bin/rpmbuild -bs --target x86_64 --nodeps /builddir/build/SPECS/openstack-ironic.spec'], chrootPath='/var/lib/mock/dlrn-centos9-xena-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=1027gid=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-18.3.1-0.20240514115031.96d2c3c.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-xena-x86_64-5/root/installation-homedir DEBUG package_manager.py:197: ['/usr/bin/dnf', 'builddep', '--installroot', '/var/lib/mock/dlrn-centos9-xena-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-xena-x86_64-5/root//builddir/build/SRPMS/openstack-ironic-18.3.1-0.20240514115031.96d2c3c.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-xena-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-xena-x86_64-5/root//builddir/build/SRPMS/openstack-ironic-18.3.1-0.20240514115031.96d2c3c.el9.src.rpm', '--setopt=tsflags=nocontexts'] with env {'TERM': 'vt100', 'SHELL': '/bin/bash', 'HOME': '/var/lib/mock/dlrn-centos9-xena-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:02 ago on Tue May 14 11:53:26 2024. DEBUG util.py:445: Package openstack-macros-2023.1.0-0.20230216203407.ce6a105.el9.noarch is already installed. DEBUG util.py:445: Package python3-devel-3.9.18-3.el9.x86_64 is already installed. DEBUG util.py:445: Package python3-eventlet-0.31.1-1.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.6.0-1.el9s.noarch is already installed. DEBUG util.py:445: Package python3-pytz-2021.1-5.el9.noarch is already installed. DEBUG util.py:445: Package python3-requests-2.25.1-8.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-8.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-33.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-13.el9 appstream 174 k DEBUG util.py:445: libxml2-devel x86_64 2.9.13-6.el9 appstream 898 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.2.1-1.el9 appstream 4.4 M DEBUG util.py:445: python3-alembic noarch 1.7.5-3.el9 appstream 896 k DEBUG util.py:445: python3-automaton noarch 2.4.0-0.20211117224632.0461d8e.el9 delorean-component-common 41 k DEBUG util.py:445: python3-cinderclient noarch 8.1.0-0.20211117215955.fab6ddf.el9 delorean-component-clients 216 k DEBUG util.py:445: python3-ddt noarch 1.4.2-3.el9s delorean-xena-testing 18 k DEBUG util.py:445: python3-dracclient noarch 7.0.1-0.20220113135335.382ba1c.el9 delorean-component-baremetal 178 k DEBUG util.py:445: python3-futurist noarch 2.4.0-0.20211117191509.d70c7e5.el9 delorean-component-common 62 k DEBUG util.py:445: python3-glanceclient noarch 1:3.5.0-0.20211117195751.74a55bd.el9 delorean-component-clients 143 k DEBUG util.py:445: python3-ironic-lib noarch 5.0.1-0.20211125144845.b19124e.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 4.4.0-0.20240201063748.112bcae.el9 delorean-component-security 405 k DEBUG util.py:445: python3-keystonemiddleware noarch 9.3.0-0.20211117213925.90df936.el9 delorean-component-security 90 k DEBUG util.py:445: python3-mock noarch 3.0.5-14.el9s delorean-xena-testing 51 k DEBUG util.py:445: python3-neutronclient noarch 7.6.0-0.20211117215407.983f0ab.el9 delorean-component-clients 296 k DEBUG util.py:445: python3-openstacksdk noarch 0.59.0-0.20211117194915.d0d4d8b.el9 delorean-component-clients 749 k DEBUG util.py:445: python3-os-traits noarch 2.6.0-0.20211118001148.c323982.el9 delorean-component-common 44 k DEBUG util.py:445: python3-oslo-concurrency noarch 4.4.1-0.20211117205442.8e08400.el9 delorean-component-common 40 k DEBUG util.py:445: python3-oslo-config noarch 2:8.7.1-0.20211122091811.1a7bd66.el9 delorean-component-common 216 k DEBUG util.py:445: python3-oslo-context noarch 3.3.2-0.20211117204246.7187c67.el9 delorean-component-common 25 k DEBUG util.py:445: python3-oslo-db noarch 11.0.0-0.20211117214750.75661fb.el9 delorean-component-common 140 k DEBUG util.py:445: python3-oslo-db-tests noarch 11.0.0-0.20211117214750.75661fb.el9 delorean-component-common 139 k DEBUG util.py:445: python3-oslo-i18n noarch 5.1.0-0.20211117181855.b031d17.el9 delorean-component-common 56 k DEBUG util.py:445: python3-oslo-log noarch 4.6.0-0.20211117204802.41c8807.el9 delorean-component-common 62 k DEBUG util.py:445: python3-oslo-messaging noarch 12.9.4-0.20220627084903.49ec24c.el9 delorean-component-common 219 k DEBUG util.py:445: python3-oslo-middleware noarch 4.4.0-0.20211117211553.da7987c.el9 delorean-component-common 56 k DEBUG util.py:445: python3-oslo-policy noarch 3.8.3-0.20211117210910.ff2a39f.el9 delorean-component-common 74 k DEBUG util.py:445: python3-oslo-reports noarch 2.3.0-0.20211117214408.f2799dc.el9 delorean-component-common 57 k DEBUG util.py:445: python3-oslo-rootwrap noarch 6.3.1-0.20220228092836.1b1b960.el9 delorean-component-common 44 k DEBUG util.py:445: python3-oslo-serialization noarch 4.2.0-0.20211117200938.2b94a4f.el9 delorean-component-common 32 k DEBUG util.py:445: python3-oslo-service noarch 2.6.2-0.20220513142338.03d4fdd.el9 delorean-component-common 69 k DEBUG util.py:445: python3-oslo-upgradecheck noarch 1.4.0-0.20211117215732.3ca8698.el9 delorean-component-common 26 k DEBUG util.py:445: python3-oslo-utils noarch 4.10.2-0.20220513072911.90a5046.el9 delorean-component-common 78 k DEBUG util.py:445: python3-oslo-versionedobjects noarch 2.5.0-0.20211117221900.a85275f.el9 delorean-component-common 76 k DEBUG util.py:445: python3-oslotest noarch 4.5.0-0.20211117192626.d4b1896.el9 delorean-component-clients 47 k DEBUG util.py:445: python3-osprofiler noarch 3.4.2-0.20211117224047.e475de6.el9 delorean-component-common 128 k DEBUG util.py:445: python3-pecan noarch 1.4.0-2.el9s delorean-xena-testing 272 k DEBUG util.py:445: python3-proliantutils noarch 2.9.4-0.20211118003601.5bc7569.el9 delorean-component-baremetal 261 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-xena-testing 656 k DEBUG util.py:445: python3-scciclient noarch 0.11.4-0.20220729095352.7c22357.el9 delorean-component-baremetal 122 k DEBUG util.py:445: python3-stestr noarch 2.6.0-8.el9s delorean-xena-testing 159 k DEBUG util.py:445: python3-stevedore noarch 3.4.2-0.20221021074429.1c12706.el9 delorean-component-clients 68 k DEBUG util.py:445: python3-sushy noarch 3.12.6-0.20230120101535.e71373c.el9 delorean-component-baremetal 178 k DEBUG util.py:445: python3-swiftclient noarch 3.12.0-0.20211117201905.38c435f.el9 delorean-component-clients 160 k DEBUG util.py:445: python3-tenacity noarch 6.3.1-1.el9s delorean-xena-testing 50 k DEBUG util.py:445: python3-testresources noarch 2.0.1-2.el9s delorean-xena-testing 59 k DEBUG util.py:445: python3-testscenarios noarch 0.5.0-21.el9s delorean-xena-testing 37 k DEBUG util.py:445: python3-testtools noarch 2.5.0-2.el9s delorean-xena-testing 327 k DEBUG util.py:445: python3-tooz noarch 2.9.0-0.20211117211911.174065f.el9 delorean-component-common 105 k DEBUG util.py:445: python3-webob noarch 1.8.7-1.el9s delorean-xena-testing 230 k DEBUG util.py:445: Installing dependencies: DEBUG util.py:445: cmake-filesystem x86_64 3.26.5-2.el9 appstream 19 k DEBUG util.py:445: gmp-c++ x86_64 1:6.2.0-13.el9 appstream 19 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.11-1.el9 appstream 202 k DEBUG util.py:445: libsodium x86_64 1.0.18-7.el9s delorean-xena-testing 161 k DEBUG util.py:445: libyaml x86_64 0.2.5-7.el9 baseos 61 k DEBUG util.py:445: python-oslo-cache-lang noarch 2.8.2-0.20220318083438.55cb199.el9 delorean-component-common 16 k DEBUG util.py:445: python-oslo-concurrency-lang noarch 4.4.1-0.20211117205442.8e08400.el9 delorean-component-common 13 k DEBUG util.py:445: python-oslo-db-lang noarch 11.0.0-0.20211117214750.75661fb.el9 delorean-component-common 13 k DEBUG util.py:445: python-oslo-i18n-lang noarch 5.1.0-0.20211117181855.b031d17.el9 delorean-component-common 13 k DEBUG util.py:445: python-oslo-log-lang noarch 4.6.0-0.20211117204802.41c8807.el9 delorean-component-common 12 k DEBUG util.py:445: python-oslo-middleware-lang noarch 4.4.0-0.20211117211553.da7987c.el9 delorean-component-common 11 k DEBUG util.py:445: python-oslo-policy-lang noarch 3.8.3-0.20211117210910.ff2a39f.el9 delorean-component-common 11 k DEBUG util.py:445: python-oslo-utils-lang noarch 4.10.2-0.20220513072911.90a5046.el9 delorean-component-common 12 k DEBUG util.py:445: python-oslo-versionedobjects-lang noarch 2.5.0-0.20211117221900.a85275f.el9 delorean-component-common 12 k DEBUG util.py:445: python-pycadf-common noarch 3.1.1-0.20211117213327.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.0.6-1.el9s delorean-xena-testing 93 k DEBUG util.py:445: python3-appdirs noarch 1.4.4-4.el9 appstream 23 k DEBUG util.py:445: python3-attrs noarch 20.3.0-7.el9 appstream 87 k DEBUG util.py:445: python3-autopage noarch 0.4.0-1.el9s delorean-xena-testing 39 k DEBUG util.py:445: python3-bcrypt x86_64 3.1.7-7.el9s delorean-xena-testing 43 k DEBUG util.py:445: python3-beautifulsoup4 noarch 4.9.3-2.el9s delorean-xena-testing 202 k DEBUG util.py:445: python3-cachetools noarch 4.2.2-1.el9s delorean-xena-testing 32 k DEBUG util.py:445: python3-cliff noarch 3.9.0-0.20211117182955.734bc0c.el9 delorean-component-common 93 k DEBUG util.py:445: python3-cmd2 noarch 2.1.2-1.el9s delorean-xena-testing 286 k DEBUG util.py:445: python3-colorama noarch 0.4.4-2.el9s delorean-xena-testing 33 k DEBUG util.py:445: python3-dateutil noarch 1:2.8.1-7.el9 baseos 288 k DEBUG util.py:445: python3-debtcollector noarch 2.3.0-0.20211117180744.0bf5bf5.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-xena-testing 50 k DEBUG util.py:445: python3-dogpile-cache noarch 1.1.5-1.el9s delorean-xena-testing 88 k DEBUG util.py:445: python3-etcd3gw noarch 1.0.0-2.el9s delorean-xena-testing 42 k DEBUG util.py:445: python3-extras noarch 1.0.0-15.el9s delorean-xena-testing 19 k DEBUG util.py:445: python3-fasteners noarch 0.14.1-24.el9s delorean-xena-testing 42 k DEBUG util.py:445: python3-fixtures noarch 3.0.0-22.el9s delorean-xena-testing 92 k DEBUG util.py:445: python3-future noarch 0.18.2-9.el9s delorean-xena-testing 729 k DEBUG util.py:445: python3-ifaddr noarch 0.1.7-3.el9s delorean-xena-testing 22 k DEBUG util.py:445: python3-inotify noarch 0.9.6-25.el9 baseos 53 k DEBUG util.py:445: python3-iso8601 noarch 0.1.13-4.el9s delorean-xena-testing 23 k DEBUG util.py:445: python3-jeepney noarch 0.7.1-1.el9s delorean-xena-testing 307 k DEBUG util.py:445: python3-jmespath noarch 0.10.0-1.el9s delorean-xena-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-xena-testing 156 k DEBUG util.py:445: python3-keyring noarch 21.8.0-2.el9s delorean-xena-testing 76 k DEBUG util.py:445: python3-keystoneclient noarch 1:4.3.0-0.20220713075914.d5cb761.el9 delorean-component-clients 237 k DEBUG util.py:445: python3-kombu noarch 1:5.1.0-3.el9s delorean-xena-testing 320 k DEBUG util.py:445: python3-logutils noarch 0.3.5-15.el9s delorean-xena-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-xena-testing 39 k DEBUG util.py:445: python3-migrate noarch 0.13.0-5.el9s delorean-xena-testing 222 k DEBUG util.py:445: python3-msgpack x86_64 1.0.2-2.el9s delorean-xena-testing 86 k DEBUG util.py:445: python3-munch noarch 2.5.0-4.el9s delorean-xena-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.20220223091828.bc96c23.el9 delorean-component-tripleo 53 k DEBUG util.py:445: python3-os-service-types noarch 1.7.0-0.20220222075507.0b2f473.el9 delorean-component-clients 36 k DEBUG util.py:445: python3-osc-lib noarch 2.4.2-0.20211117200543.415a6c7.el9 delorean-component-clients 76 k DEBUG util.py:445: python3-oslo-cache noarch 2.8.2-0.20220318083438.55cb199.el9 delorean-component-common 53 k DEBUG util.py:445: python3-oslo-metrics noarch 0.3.1-0.20220214085829.b904335.el9 delorean-component-common 23 k DEBUG util.py:445: python3-paste noarch 3.5.0-3.el9s delorean-xena-testing 775 k DEBUG util.py:445: python3-paste-deploy noarch 2.1.1-2.el9s delorean-xena-testing 40 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-xena-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-xena-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.20211117213327.4179996.el9 delorean-component-common 51 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-xena-testing 108 k DEBUG util.py:445: python3-pyngus noarch 2.3.0-8.el9s delorean-xena-testing 51 k DEBUG util.py:445: python3-pyperclip noarch 1.8.0-3.el9s delorean-xena-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-xena-testing 408 k DEBUG util.py:445: python3-redis noarch 3.5.3-2.el9s delorean-xena-testing 132 k DEBUG util.py:445: python3-repoze-lru noarch 0.7-10.el9s delorean-xena-testing 31 k DEBUG util.py:445: python3-requestsexceptions noarch 1.4.0-0.20220222075317.d7ac0ff.el9 delorean-component-common 15 k DEBUG util.py:445: python3-retrying noarch 1.3.3-2.el9s delorean-xena-testing 21 k DEBUG util.py:445: python3-rfc3986 noarch 1.4.0-5.el9s delorean-xena-testing 50 k DEBUG util.py:445: python3-routes noarch 2.5.1-1.el9s delorean-xena-testing 188 k DEBUG util.py:445: python3-secretstorage noarch 3.3.1-1.el9s delorean-xena-testing 35 k DEBUG util.py:445: python3-simplejson x86_64 3.17.5-1.el9s delorean-xena-testing 264 k DEBUG util.py:445: python3-smi noarch 0.3.4-10.el9s delorean-xena-testing 133 k DEBUG util.py:445: python3-soupsieve noarch 2.2.1-2.el9s delorean-xena-testing 66 k DEBUG util.py:445: python3-sqlparse noarch 0.4.1-1.el9s delorean-xena-testing 83 k DEBUG util.py:445: python3-statsd noarch 3.2.1-20.el9s delorean-xena-testing 34 k DEBUG util.py:445: python3-subunit noarch 1.4.0-6.el9s delorean-xena-testing 90 k DEBUG util.py:445: python3-tempita noarch 0.5.2-2.el9s delorean-xena-testing 36 k DEBUG util.py:445: python3-vine noarch 5.0.0-3.el9s delorean-xena-testing 25 k DEBUG util.py:445: python3-voluptuous noarch 0.12.1-2.el9s delorean-xena-testing 59 k DEBUG util.py:445: python3-waitress noarch 1.4.4-3.el9s delorean-xena-testing 94 k DEBUG util.py:445: python3-warlock noarch 1.3.3-5.el9s delorean-xena-testing 20 k DEBUG util.py:445: python3-wcwidth noarch 0.2.5-8.el9 appstream 44 k DEBUG util.py:445: python3-webtest noarch 2.0.35-6.el9s delorean-xena-testing 81 k DEBUG util.py:445: python3-wrapt x86_64 1.12.1-4.el9s delorean-xena-testing 53 k DEBUG util.py:445: python3-yappi x86_64 1.3.1-2.el9s delorean-xena-testing 55 k DEBUG util.py:445: python3-zake noarch 0.2.2-22.el9s delorean-xena-testing 45 k DEBUG util.py:445: python3-zeroconf noarch 0.29.0-1.el9s delorean-xena-testing 105 k DEBUG util.py:445: qpid-proton-c x86_64 0.35.0-2.el9s delorean-xena-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-41.el9 appstream 45 k DEBUG util.py:445: Transaction Summary DEBUG util.py:445: ===================================================================================================================== DEBUG util.py:445: Install 158 Packages DEBUG util.py:445: Total size: 26 M DEBUG util.py:445: Total download size: 7.9 M DEBUG util.py:445: Installed size: 106 M DEBUG util.py:445: Downloading Packages: DEBUG util.py:445: [SKIPPED] python3-cinderclient-8.1.0-0.20211117215955.fab6ddf.el9.noarch.rpm: Already downloaded DEBUG util.py:445: [SKIPPED] python3-glanceclient-3.5.0-0.20211117195751.74a55bd.el9.noarch.rpm: Already downloaded DEBUG util.py:445: [SKIPPED] python3-keystoneclient-4.3.0-0.20220713075914.d5cb761.el9.noarch.rpm: Already downloaded DEBUG util.py:445: [SKIPPED] python3-neutronclient-7.6.0-0.20211117215407.983f0ab.el9.noarch.rpm: Already downloaded DEBUG util.py:445: [SKIPPED] python3-openstacksdk-0.59.0-0.20211117194915.d0d4d8b.el9.noarch.rpm: Already downloaded DEBUG util.py:445: [SKIPPED] python3-os-service-types-1.7.0-0.20220222075507.0b2f473.el9.noarch.rpm: Already downloaded DEBUG util.py:445: [SKIPPED] python3-osc-lib-2.4.2-0.20211117200543.415a6c7.el9.noarch.rpm: Already downloaded DEBUG util.py:445: [SKIPPED] python3-oslotest-4.5.0-0.20211117192626.d4b1896.el9.noarch.rpm: Already downloaded DEBUG util.py:445: [SKIPPED] python3-stevedore-3.4.2-0.20221021074429.1c12706.el9.noarch.rpm: Already downloaded DEBUG util.py:445: [SKIPPED] python3-swiftclient-3.12.0-0.20211117201905.38c435f.el9.noarch.rpm: Already downloaded DEBUG util.py:445: [SKIPPED] python-oslo-cache-lang-2.8.2-0.20220318083438.55cb199.el9.noarch.rpm: Already downloaded DEBUG util.py:445: [SKIPPED] python-oslo-concurrency-lang-4.4.1-0.20211117205442.8e08400.el9.noarch.rpm: Already downloaded DEBUG util.py:445: [SKIPPED] python-oslo-db-lang-11.0.0-0.20211117214750.75661fb.el9.noarch.rpm: Already downloaded DEBUG util.py:445: [SKIPPED] python-oslo-i18n-lang-5.1.0-0.20211117181855.b031d17.el9.noarch.rpm: Already downloaded DEBUG util.py:445: [SKIPPED] python-oslo-log-lang-4.6.0-0.20211117204802.41c8807.el9.noarch.rpm: Already downloaded DEBUG util.py:445: [SKIPPED] python-oslo-middleware-lang-4.4.0-0.20211117211553.da7987c.el9.noarch.rpm: Already downloaded DEBUG util.py:445: [SKIPPED] python-oslo-policy-lang-3.8.3-0.20211117210910.ff2a39f.el9.noarch.rpm: Already downloaded DEBUG util.py:445: [SKIPPED] python-oslo-utils-lang-4.10.2-0.20220513072911.90a5046.el9.noarch.rpm: Already downloaded DEBUG util.py:445: [SKIPPED] python-pycadf-common-3.1.1-0.20211117213327.4179996.el9.noarch.rpm: Already downloaded DEBUG util.py:445: [SKIPPED] python3-automaton-2.4.0-0.20211117224632.0461d8e.el9.noarch.rpm: Already downloaded DEBUG util.py:445: [SKIPPED] python3-cliff-3.9.0-0.20211117182955.734bc0c.el9.noarch.rpm: Already downloaded DEBUG util.py:445: [SKIPPED] python3-debtcollector-2.3.0-0.20211117180744.0bf5bf5.el9.noarch.rpm: Already downloaded DEBUG util.py:445: [SKIPPED] python3-futurist-2.4.0-0.20211117191509.d70c7e5.el9.noarch.rpm: Already downloaded DEBUG util.py:445: [SKIPPED] python3-oslo-cache-2.8.2-0.20220318083438.55cb199.el9.noarch.rpm: Already downloaded DEBUG util.py:445: [SKIPPED] python3-oslo-concurrency-4.4.1-0.20211117205442.8e08400.el9.noarch.rpm: Already downloaded DEBUG util.py:445: [SKIPPED] python3-oslo-config-8.7.1-0.20211122091811.1a7bd66.el9.noarch.rpm: Already downloaded DEBUG util.py:445: [SKIPPED] python3-oslo-context-3.3.2-0.20211117204246.7187c67.el9.noarch.rpm: Already downloaded DEBUG util.py:445: [SKIPPED] python3-oslo-db-11.0.0-0.20211117214750.75661fb.el9.noarch.rpm: Already downloaded DEBUG util.py:445: [SKIPPED] python3-oslo-i18n-5.1.0-0.20211117181855.b031d17.el9.noarch.rpm: Already downloaded DEBUG util.py:445: [SKIPPED] python3-oslo-log-4.6.0-0.20211117204802.41c8807.el9.noarch.rpm: Already downloaded DEBUG util.py:445: [SKIPPED] python3-oslo-messaging-12.9.4-0.20220627084903.49ec24c.el9.noarch.rpm: Already downloaded DEBUG util.py:445: [SKIPPED] python3-oslo-metrics-0.3.1-0.20220214085829.b904335.el9.noarch.rpm: Already downloaded DEBUG util.py:445: [SKIPPED] python3-oslo-middleware-4.4.0-0.20211117211553.da7987c.el9.noarch.rpm: Already downloaded DEBUG util.py:445: [SKIPPED] python3-oslo-policy-3.8.3-0.20211117210910.ff2a39f.el9.noarch.rpm: Already downloaded DEBUG util.py:445: [SKIPPED] python3-oslo-rootwrap-6.3.1-0.20220228092836.1b1b960.el9.noarch.rpm: Already downloaded DEBUG util.py:445: [SKIPPED] python3-oslo-serialization-4.2.0-0.20211117200938.2b94a4f.el9.noarch.rpm: Already downloaded DEBUG util.py:445: [SKIPPED] python3-oslo-service-2.6.2-0.20220513142338.03d4fdd.el9.noarch.rpm: Already downloaded DEBUG util.py:445: [SKIPPED] python3-oslo-upgradecheck-1.4.0-0.20211117215732.3ca8698.el9.noarch.rpm: Already downloaded DEBUG util.py:445: [SKIPPED] python3-oslo-utils-4.10.2-0.20220513072911.90a5046.el9.noarch.rpm: Already downloaded DEBUG util.py:445: [SKIPPED] python3-pycadf-3.1.1-0.20211117213327.4179996.el9.noarch.rpm: Already downloaded DEBUG util.py:445: [SKIPPED] python3-requestsexceptions-1.4.0-0.20220222075317.d7ac0ff.el9.noarch.rpm: Already downloaded DEBUG util.py:445: [SKIPPED] python3-tooz-2.9.0-0.20211117211911.174065f.el9.noarch.rpm: Already downloaded DEBUG util.py:445: [SKIPPED] python3-keystoneauth1-4.4.0-0.20240201063748.112bcae.el9.noarch.rpm: Already downloaded DEBUG util.py:445: [SKIPPED] python3-keystonemiddleware-9.3.0-0.20211117213925.90df936.el9.noarch.rpm: Already downloaded DEBUG util.py:445: [SKIPPED] python3-os-client-config-2.1.0-0.20220223091828.bc96c23.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] python3-dateutil-2.8.1-7.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-pyyaml-5.4.1-6.el9.x86_64.rpm: Already downloaded DEBUG util.py:445: [SKIPPED] libpq-13.11-1.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-alembic-1.7.5-3.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-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-amqp-5.0.6-1.el9s.noarch.rpm: Already downloaded DEBUG util.py:445: [SKIPPED] python3-autopage-0.4.0-1.el9s.noarch.rpm: Already downloaded DEBUG util.py:445: [SKIPPED] python3-bcrypt-3.1.7-7.el9s.x86_64.rpm: Already downloaded DEBUG util.py:445: [SKIPPED] python3-beautifulsoup4-4.9.3-2.el9s.noarch.rpm: Already downloaded DEBUG util.py:445: [SKIPPED] python3-cachetools-4.2.2-1.el9s.noarch.rpm: Already downloaded DEBUG util.py:445: [SKIPPED] python3-cmd2-2.1.2-1.el9s.noarch.rpm: Already downloaded DEBUG util.py:445: [SKIPPED] python3-colorama-0.4.4-2.el9s.noarch.rpm: Already downloaded DEBUG util.py:445: [SKIPPED] python3-ddt-1.4.2-3.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-dogpile-cache-1.1.5-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.14.1-24.el9s.noarch.rpm: Already downloaded DEBUG util.py:445: [SKIPPED] python3-fixtures-3.0.0-22.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-iso8601-0.1.13-4.el9s.noarch.rpm: Already downloaded DEBUG util.py:445: [SKIPPED] python3-jeepney-0.7.1-1.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.1.0-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-3.0.5-14.el9s.noarch.rpm: Already downloaded DEBUG util.py:445: [SKIPPED] python3-msgpack-1.0.2-2.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.0-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-3.5.3-2.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.4.0-5.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.5-1.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-soupsieve-2.2.1-2.el9s.noarch.rpm: Already downloaded DEBUG util.py:445: [SKIPPED] python3-sqlparse-0.4.1-1.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-2.6.0-8.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-vine-5.0.0-3.el9s.noarch.rpm: Already downloaded DEBUG util.py:445: [SKIPPED] python3-voluptuous-0.12.1-2.el9s.noarch.rpm: Already downloaded DEBUG util.py:445: [SKIPPED] python3-waitress-1.4.4-3.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-2.0.35-6.el9s.noarch.rpm: Already downloaded DEBUG util.py:445: [SKIPPED] python3-wrapt-1.12.1-4.el9s.x86_64.rpm: Already downloaded DEBUG util.py:445: [SKIPPED] python3-yappi-1.3.1-2.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.29.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: (137/158): python3-ironic-lib-5.0.1-0.202111251 683 kB/s | 142 kB 00:00 DEBUG util.py:445: (138/158): python3-dracclient-7.0.1-0.202201131 823 kB/s | 178 kB 00:00 DEBUG util.py:445: (139/158): python3-proliantutils-2.9.4-0.202111 1.1 MB/s | 261 kB 00:00 DEBUG util.py:445: (140/158): python3-scciclient-0.11.4-0.20220729 3.4 MB/s | 122 kB 00:00 DEBUG util.py:445: (141/158): python-oslo-versionedobjects-lang-2. 469 kB/s | 12 kB 00:00 DEBUG util.py:445: (142/158): python3-os-traits-2.6.0-0.2021111800 1.2 MB/s | 44 kB 00:00 DEBUG util.py:445: (143/158): python3-sushy-3.12.6-0.2023012010153 2.2 MB/s | 178 kB 00:00 DEBUG util.py:445: (144/158): python3-oslo-db-tests-11.0.0-0.20211 3.7 MB/s | 139 kB 00:00 DEBUG util.py:445: (145/158): python3-oslo-reports-2.3.0-0.2021111 1.9 MB/s | 57 kB 00:00 DEBUG util.py:445: (146/158): python3-oslo-versionedobjects-2.5.0- 3.3 MB/s | 76 kB 00:00 DEBUG util.py:445: (147/158): python3-osprofiler-3.4.2-0.202111172 4.4 MB/s | 128 kB 00:00 DEBUG util.py:445: (148/158): gmp-c++-6.2.0-13.el9.x86_64.rpm 97 kB/s | 19 kB 00:00 DEBUG util.py:445: (149/158): cmake-filesystem-3.26.5-2.el9.x86_64 91 kB/s | 19 kB 00:00 DEBUG util.py:445: (150/158): gmp-devel-6.2.0-13.el9.x86_64.rpm 888 kB/s | 174 kB 00:00 DEBUG util.py:445: (151/158): libgpg-error-devel-1.42-5.el9.x86_64 923 kB/s | 66 kB 00:00 DEBUG util.py:445: (152/158): libxml2-devel-2.9.13-6.el9.x86_64.rp 8.7 MB/s | 898 kB 00:00 DEBUG util.py:445: (153/158): libxslt-devel-1.1.34-9.el9.x86_64.rp 3.1 MB/s | 320 kB 00:00 DEBUG util.py:445: (154/158): python3-pyghmi-1.5.34-2.el9.noarch.r 5.0 MB/s | 392 kB 00:00 DEBUG util.py:445: (155/158): python3-pycdlib-1.11.0-5.el9.noarch. 2.7 MB/s | 248 kB 00:00 DEBUG util.py:445: (156/158): zlib-devel-1.2.11-41.el9.x86_64.rpm 936 kB/s | 45 kB 00:00 DEBUG util.py:445: (157/158): openssl-devel-3.2.1-1.el9.x86_64.rpm 20 MB/s | 4.4 MB 00:00 DEBUG util.py:445: (158/158): xz-devel-5.2.5-8.el9.x86_64.rpm 523 kB/s | 55 kB 00:00 DEBUG util.py:445: -------------------------------------------------------------------------------- DEBUG util.py:445: Total 9.5 MB/s | 7.9 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-3.4.2-0.20221021074429.1c12706 1/158 DEBUG util.py:445: Installing : python3-webob-1.8.7-1.el9s.noarch 2/158 DEBUG util.py:445: Installing : python3-prettytable-0.7.2-27.el9.noarch 3/158 DEBUG util.py:445: Installing : python3-iso8601-0.1.13-4.el9s.noarch 4/158 DEBUG util.py:445: Installing : python3-netaddr-0.8.0-5.el9.noarch 5/158 DEBUG util.py:445: Installing : python3-decorator-4.4.2-6.el9.noarch 6/158 DEBUG util.py:445: Installing : python3-simplejson-3.17.5-1.el9s.x86_64 7/158 DEBUG util.py:445: Installing : python3-pyOpenSSL-20.0.1-2.el9s.noarch 8/158 DEBUG util.py:445: Installing : python3-mako-1.1.4-6.el9.noarch 9/158 DEBUG util.py:445: Installing : python3-dateutil-1:2.8.1-7.el9.noarch 10/158 DEBUG util.py:445: Installing : python3-futurist-2.4.0-0.20211117191509.d70c7e5. 11/158 DEBUG util.py:445: Installing : python3-os-service-types-1.7.0-0.20220222075507. 12/158 DEBUG util.py:445: Installing : python3-keystoneauth1-4.4.0-0.20240201063748.112 13/158 DEBUG util.py:445: Installing : python3-alembic-1.7.5-3.el9.noarch 14/158 DEBUG util.py:445: Installing : python3-dogpile-cache-1.1.5-1.el9s.noarch 15/158 DEBUG util.py:445: Installing : python3-wrapt-1.12.1-4.el9s.x86_64 16/158 DEBUG util.py:445: Installing : python3-debtcollector-2.3.0-0.20211117180744.0bf 17/158 DEBUG util.py:445: Installing : python3-oslo-context-3.3.2-0.20211117204246.7187 18/158 DEBUG util.py:445: Installing : python3-voluptuous-0.12.1-2.el9s.noarch 19/158 DEBUG util.py:445: Installing : python3-vine-5.0.0-3.el9s.noarch 20/158 DEBUG util.py:445: Installing : python3-amqp-5.0.6-1.el9s.noarch 21/158 DEBUG util.py:445: Installing : python3-tenacity-6.3.1-1.el9s.noarch 22/158 DEBUG util.py:445: Installing : python3-tempita-0.5.2-2.el9s.noarch 23/158 DEBUG util.py:445: Installing : python3-paste-3.5.0-3.el9s.noarch 24/158 DEBUG util.py:445: Installing : python3-msgpack-1.0.2-2.el9s.x86_64 25/158 DEBUG util.py:445: Installing : python3-jeepney-0.7.1-1.el9s.noarch 26/158 DEBUG util.py:445: Installing : python3-fasteners-0.14.1-24.el9s.noarch 27/158 DEBUG util.py:445: Installing : python3-extras-1.0.0-15.el9s.noarch 28/158 DEBUG util.py:445: Installing : python3-fixtures-3.0.0-22.el9s.noarch 29/158 DEBUG util.py:445: Installing : python3-testtools-2.5.0-2.el9s.noarch 30/158 DEBUG util.py:445: Installing : python3-subunit-1.4.0-6.el9s.noarch 31/158 DEBUG util.py:445: Installing : python3-bcrypt-3.1.7-7.el9s.x86_64 32/158 DEBUG util.py:445: Installing : python3-netifaces-0.10.6-15.el9.x86_64 33/158 DEBUG util.py:445: Installing : python3-attrs-20.3.0-7.el9.noarch 34/158 DEBUG util.py:445: Installing : python3-oslotest-4.5.0-0.20211117192626.d4b1896. 35/158 DEBUG util.py:445: Installing : python3-testscenarios-0.5.0-21.el9s.noarch 36/158 DEBUG util.py:445: Installing : python3-secretstorage-3.3.1-1.el9s.noarch 37/158 DEBUG util.py:445: Installing : python3-keyring-21.8.0-2.el9s.noarch 38/158 DEBUG util.py:445: Installing : python3-paste-deploy-2.1.1-2.el9s.noarch 39/158 DEBUG util.py:445: Installing : python3-kombu-1:5.1.0-3.el9s.noarch 40/158 DEBUG util.py:445: Installing : python3-etcd3gw-1.0.0-2.el9s.noarch 41/158 DEBUG util.py:445: Installing : python3-sushy-3.12.6-0.20230120101535.e71373c.el 42/158 DEBUG util.py:445: Installing : python3-pyghmi-1.5.34-2.el9.noarch 43/158 DEBUG util.py:445: Installing : python3-prometheus_client-0.9.0-2.el9s.noarch 44/158 DEBUG util.py:445: Installing : qpid-proton-c-0.35.0-2.el9s.x86_64 45/158 DEBUG util.py:445: Installing : python3-qpid-proton-0.35.0-2.el9s.x86_64 46/158 DEBUG util.py:445: Installing : python3-pyngus-2.3.0-8.el9s.noarch 47/158 DEBUG util.py:445: Installing : python3-yappi-1.3.1-2.el9s.x86_64 48/158 DEBUG util.py:445: Installing : python3-waitress-1.4.4-3.el9s.noarch 49/158 DEBUG util.py:445: Installing : python3-testresources-2.0.1-2.el9s.noarch 50/158 DEBUG util.py:445: Installing : python3-statsd-3.2.1-20.el9s.noarch 51/158 DEBUG util.py:445: Installing : python3-sqlparse-0.4.1-1.el9s.noarch 52/158 DEBUG util.py:445: Installing : python3-migrate-0.13.0-5.el9s.noarch 53/158 DEBUG util.py:445: Installing : python3-soupsieve-2.2.1-2.el9s.noarch 54/158 DEBUG util.py:445: Installing : python3-beautifulsoup4-4.9.3-2.el9s.noarch 55/158 DEBUG util.py:445: Installing : python3-lxml-4.6.5-3.el9.x86_64 56/158 DEBUG util.py:445: Installing : python3-webtest-2.0.35-6.el9s.noarch 57/158 DEBUG util.py:445: Installing : python3-smi-0.3.4-10.el9s.noarch 58/158 DEBUG util.py:445: Installing : python3-rfc3986-1.4.0-5.el9s.noarch 59/158 DEBUG util.py:445: Installing : python3-retrying-1.3.3-2.el9s.noarch 60/158 DEBUG util.py:445: Installing : python3-repoze-lru-0.7-10.el9s.noarch 61/158 DEBUG util.py:445: Installing : python3-routes-2.5.1-1.el9s.noarch 62/158 DEBUG util.py:445: Installing : python3-redis-3.5.3-2.el9s.noarch 63/158 DEBUG util.py:445: Installing : python3-pyperclip-1.8.0-3.el9s.noarch 64/158 DEBUG util.py:445: Installing : python3-munch-2.5.0-4.el9s.noarch 65/158 DEBUG util.py:445: Installing : python3-memcached-1.59-3.el9s.noarch 66/158 DEBUG util.py:445: Installing : python3-logutils-0.3.5-15.el9s.noarch 67/158 DEBUG util.py:445: Installing : python3-kazoo-2.8.0-2.el9s.noarch 68/158 DEBUG util.py:445: Installing : python3-zake-0.2.2-22.el9s.noarch 69/158 DEBUG util.py:445: Installing : python3-jmespath-0.10.0-1.el9s.noarch 70/158 DEBUG util.py:445: Installing : python3-ifaddr-0.1.7-3.el9s.noarch 71/158 DEBUG util.py:445: Installing : python3-zeroconf-0.29.0-1.el9s.noarch 72/158 DEBUG util.py:445: Installing : python3-future-0.18.2-9.el9s.noarch 73/158 DEBUG util.py:445: Installing : python3-defusedxml-0.7.1-1.el9s.noarch 74/158 DEBUG util.py:445: Installing : python3-colorama-0.4.4-2.el9s.noarch 75/158 DEBUG util.py:445: Installing : python3-cachetools-4.2.2-1.el9s.noarch 76/158 DEBUG util.py:445: Installing : python3-autopage-0.4.0-1.el9s.noarch 77/158 DEBUG util.py:445: Installing : libsodium-1.0.18-7.el9s.x86_64 78/158 DEBUG util.py:445: Installing : python3-pynacl-1.4.0-2.el9s.x86_64 79/158 DEBUG util.py:445: Installing : zlib-devel-1.2.11-41.el9.x86_64 80/158 DEBUG util.py:445: Installing : xz-devel-5.2.5-8.el9.x86_64 81/158 DEBUG util.py:445: Installing : python3-wcwidth-0.2.5-8.el9.noarch 82/158 DEBUG util.py:445: Installing : python3-cmd2-2.1.2-1.el9s.noarch 83/158 DEBUG util.py:445: Installing : python3-pyrsistent-0.17.3-8.el9.x86_64 84/158 DEBUG util.py:445: Installing : python3-jsonschema-3.2.0-13.el9.noarch 85/158 DEBUG util.py:445: Installing : python3-pyasn1-0.4.8-6.el9.noarch 86/158 DEBUG util.py:445: Installing : python3-pysnmp-4.4.12-6.el9s.noarch 87/158 DEBUG util.py:445: Installing : python3-psutil-5.8.0-12.el9.x86_64 88/158 DEBUG util.py:445: Installing : python3-jsonpointer-2.0-4.el9.noarch 89/158 DEBUG util.py:445: Installing : python3-jsonpatch-1.21-16.el9.noarch 90/158 DEBUG util.py:445: Installing : python3-warlock-1.3.3-5.el9s.noarch 91/158 DEBUG util.py:445: Installing : python3-appdirs-1.4.4-4.el9.noarch 92/158 DEBUG util.py:445: Installing : python3-PyMySQL-0.10.1-6.el9.noarch 93/158 DEBUG util.py:445: Installing : libpq-13.11-1.el9.x86_64 94/158 DEBUG util.py:445: Installing : python3-psycopg2-2.8.6-6.el9.x86_64 95/158 DEBUG util.py:445: Installing : libgpg-error-devel-1.42-5.el9.x86_64 96/158 DEBUG util.py:445: Installing : gmp-c++-1:6.2.0-13.el9.x86_64 97/158 DEBUG util.py:445: Installing : cmake-filesystem-3.26.5-2.el9.x86_64 98/158 DEBUG util.py:445: Installing : libxml2-devel-2.9.13-6.el9.x86_64 99/158 DEBUG util.py:445: Installing : python3-inotify-0.9.6-25.el9.noarch 100/158 DEBUG util.py:445: Installing : libyaml-0.2.5-7.el9.x86_64 101/158 DEBUG util.py:445: Installing : python3-pyyaml-5.4.1-6.el9.x86_64 102/158 DEBUG util.py:445: Installing : python3-cliff-3.9.0-0.20211117182955.734bc0c.el9 103/158 DEBUG util.py:445: Installing : python3-requestsexceptions-1.4.0-0.2022022207531 104/158 DEBUG util.py:445: Installing : python3-openstacksdk-0.59.0-0.20211117194915.d0d 105/158 DEBUG util.py:445: Installing : python3-os-client-config-2.1.0-0.20220223091828. 106/158 DEBUG util.py:445: Installing : python-pycadf-common-3.1.1-0.20211117213327.4179 107/158 DEBUG util.py:445: Installing : python-oslo-versionedobjects-lang-2.5.0-0.202111 108/158 DEBUG util.py:445: Installing : python-oslo-utils-lang-4.10.2-0.20220513072911.9 109/158 DEBUG util.py:445: Installing : python-oslo-policy-lang-3.8.3-0.20211117210910.f 110/158 DEBUG util.py:445: Installing : python-oslo-middleware-lang-4.4.0-0.202111172115 111/158 DEBUG util.py:445: Installing : python-oslo-log-lang-4.6.0-0.20211117204802.41c8 112/158 DEBUG util.py:445: Installing : python-oslo-i18n-lang-5.1.0-0.20211117181855.b03 113/158 DEBUG util.py:445: Installing : python3-oslo-i18n-5.1.0-0.20211117181855.b031d17 114/158 DEBUG util.py:445: Installing : python3-oslo-utils-4.10.2-0.20220513072911.90a50 115/158 DEBUG util.py:445: Installing : python3-oslo-config-2:8.7.1-0.20211122091811.1a7 116/158 DEBUG util.py:445: Installing : python3-oslo-serialization-4.2.0-0.2021111720093 117/158 DEBUG util.py:445: Installing : python3-oslo-log-4.6.0-0.20211117204802.41c8807. 118/158 DEBUG util.py:445: Installing : python3-keystoneclient-1:4.3.0-0.20220713075914. 119/158 DEBUG util.py:445: Installing : python3-oslo-metrics-0.3.1-0.20220214085829.b904 120/158 DEBUG util.py:445: Installing : python3-oslo-policy-3.8.3-0.20211117210910.ff2a3 121/158 DEBUG util.py:445: Installing : python3-pycadf-3.1.1-0.20211117213327.4179996.el 122/158 DEBUG util.py:445: Installing : python3-oslo-middleware-4.4.0-0.20211117211553.d 123/158 DEBUG util.py:445: Installing : python3-osc-lib-2.4.2-0.20211117200543.415a6c7.e 124/158 DEBUG util.py:445: Installing : python-oslo-db-lang-11.0.0-0.20211117214750.7566 125/158 DEBUG util.py:445: Installing : python3-oslo-db-11.0.0-0.20211117214750.75661fb. 126/158 DEBUG util.py:445: Installing : python-oslo-concurrency-lang-4.4.1-0.20211117205 127/158 DEBUG util.py:445: Installing : python3-oslo-concurrency-4.4.1-0.20211117205442. 128/158 DEBUG util.py:445: Installing : python3-oslo-service-2.6.2-0.20220513142338.03d4 129/158 DEBUG util.py:445: Installing : python3-oslo-messaging-12.9.4-0.20220627084903.4 130/158 DEBUG util.py:445: Installing : python-oslo-cache-lang-2.8.2-0.20220318083438.55 131/158 DEBUG util.py:445: Installing : python3-oslo-cache-2.8.2-0.20220318083438.55cb19 132/158 DEBUG util.py:445: Installing : python3-keystonemiddleware-9.3.0-0.2021111721392 133/158 DEBUG util.py:445: Installing : python3-oslo-versionedobjects-2.5.0-0.2021111722 134/158 DEBUG util.py:445: Installing : python3-osprofiler-3.4.2-0.20211117224047.e475de 135/158 DEBUG util.py:445: Installing : python3-ironic-lib-5.0.1-0.20211125144845.b19124 136/158 DEBUG util.py:445: Installing : python3-proliantutils-2.9.4-0.20211118003601.5bc 137/158 DEBUG util.py:445: Installing : python3-oslo-db-tests-11.0.0-0.20211117214750.75 138/158 DEBUG util.py:445: Installing : python3-neutronclient-7.6.0-0.20211117215407.983 139/158 DEBUG util.py:445: Installing : python3-oslo-upgradecheck-1.4.0-0.20211117215732 140/158 DEBUG util.py:445: Installing : python3-swiftclient-3.12.0-0.20211117201905.38c4 141/158 DEBUG util.py:445: Installing : python3-scciclient-0.11.4-0.20220729095352.7c223 142/158 DEBUG util.py:445: Installing : python3-oslo-reports-2.3.0-0.20211117214408.f279 143/158 DEBUG util.py:445: Installing : python3-tooz-2.9.0-0.20211117211911.174065f.el9. 144/158 DEBUG util.py:445: Installing : python3-cinderclient-8.1.0-0.20211117215955.fab6 145/158 DEBUG util.py:445: Installing : python3-glanceclient-1:3.5.0-0.20211117195751.74 146/158 DEBUG util.py:445: Installing : python3-stestr-2.6.0-8.el9s.noarch 147/158 DEBUG util.py:445: Installing : libxslt-devel-1.1.34-9.el9.x86_64 148/158 DEBUG util.py:445: Installing : gmp-devel-1:6.2.0-13.el9.x86_64 149/158 DEBUG util.py:445: Installing : python3-pecan-1.4.0-2.el9s.noarch 150/158 DEBUG util.py:445: Installing : python3-dracclient-7.0.1-0.20220113135335.382ba1 151/158 DEBUG util.py:445: Installing : python3-automaton-2.4.0-0.20211117224632.0461d8e 152/158 DEBUG util.py:445: Installing : python3-mock-3.0.5-14.el9s.noarch 153/158 DEBUG util.py:445: Installing : python3-ddt-1.4.2-3.el9s.noarch 154/158 DEBUG util.py:445: Installing : python3-pycdlib-1.11.0-5.el9.noarch 155/158 DEBUG util.py:445: Installing : openssl-devel-1:3.2.1-1.el9.x86_64 156/158 DEBUG util.py:445: Installing : python3-oslo-rootwrap-6.3.1-0.20220228092836.1b1 157/158 DEBUG util.py:445: Installing : python3-os-traits-2.6.0-0.20211118001148.c323982 158/158 DEBUG util.py:445: Running scriptlet: python3-os-traits-2.6.0-0.20211118001148.c323982 158/158 DEBUG util.py:445: Verifying : python3-dracclient-7.0.1-0.20220113135335.382ba1 1/158 DEBUG util.py:445: Verifying : python3-ironic-lib-5.0.1-0.20211125144845.b19124 2/158 DEBUG util.py:445: Verifying : python3-proliantutils-2.9.4-0.20211118003601.5bc 3/158 DEBUG util.py:445: Verifying : python3-scciclient-0.11.4-0.20220729095352.7c223 4/158 DEBUG util.py:445: Verifying : python3-sushy-3.12.6-0.20230120101535.e71373c.el 5/158 DEBUG util.py:445: Verifying : python3-cinderclient-8.1.0-0.20211117215955.fab6 6/158 DEBUG util.py:445: Verifying : python3-glanceclient-1:3.5.0-0.20211117195751.74 7/158 DEBUG util.py:445: Verifying : python3-keystoneclient-1:4.3.0-0.20220713075914. 8/158 DEBUG util.py:445: Verifying : python3-neutronclient-7.6.0-0.20211117215407.983 9/158 DEBUG util.py:445: Verifying : python3-openstacksdk-0.59.0-0.20211117194915.d0d 10/158 DEBUG util.py:445: Verifying : python3-os-service-types-1.7.0-0.20220222075507. 11/158 DEBUG util.py:445: Verifying : python3-osc-lib-2.4.2-0.20211117200543.415a6c7.e 12/158 DEBUG util.py:445: Verifying : python3-oslotest-4.5.0-0.20211117192626.d4b1896. 13/158 DEBUG util.py:445: Verifying : python3-stevedore-3.4.2-0.20221021074429.1c12706 14/158 DEBUG util.py:445: Verifying : python3-swiftclient-3.12.0-0.20211117201905.38c4 15/158 DEBUG util.py:445: Verifying : python-oslo-cache-lang-2.8.2-0.20220318083438.55 16/158 DEBUG util.py:445: Verifying : python-oslo-concurrency-lang-4.4.1-0.20211117205 17/158 DEBUG util.py:445: Verifying : python-oslo-db-lang-11.0.0-0.20211117214750.7566 18/158 DEBUG util.py:445: Verifying : python-oslo-i18n-lang-5.1.0-0.20211117181855.b03 19/158 DEBUG util.py:445: Verifying : python-oslo-log-lang-4.6.0-0.20211117204802.41c8 20/158 DEBUG util.py:445: Verifying : python-oslo-middleware-lang-4.4.0-0.202111172115 21/158 DEBUG util.py:445: Verifying : python-oslo-policy-lang-3.8.3-0.20211117210910.f 22/158 DEBUG util.py:445: Verifying : python-oslo-utils-lang-4.10.2-0.20220513072911.9 23/158 DEBUG util.py:445: Verifying : python-oslo-versionedobjects-lang-2.5.0-0.202111 24/158 DEBUG util.py:445: Verifying : python-pycadf-common-3.1.1-0.20211117213327.4179 25/158 DEBUG util.py:445: Verifying : python3-automaton-2.4.0-0.20211117224632.0461d8e 26/158 DEBUG util.py:445: Verifying : python3-cliff-3.9.0-0.20211117182955.734bc0c.el9 27/158 DEBUG util.py:445: Verifying : python3-debtcollector-2.3.0-0.20211117180744.0bf 28/158 DEBUG util.py:445: Verifying : python3-futurist-2.4.0-0.20211117191509.d70c7e5. 29/158 DEBUG util.py:445: Verifying : python3-os-traits-2.6.0-0.20211118001148.c323982 30/158 DEBUG util.py:445: Verifying : python3-oslo-cache-2.8.2-0.20220318083438.55cb19 31/158 DEBUG util.py:445: Verifying : python3-oslo-concurrency-4.4.1-0.20211117205442. 32/158 DEBUG util.py:445: Verifying : python3-oslo-config-2:8.7.1-0.20211122091811.1a7 33/158 DEBUG util.py:445: Verifying : python3-oslo-context-3.3.2-0.20211117204246.7187 34/158 DEBUG util.py:445: Verifying : python3-oslo-db-11.0.0-0.20211117214750.75661fb. 35/158 DEBUG util.py:445: Verifying : python3-oslo-db-tests-11.0.0-0.20211117214750.75 36/158 DEBUG util.py:445: Verifying : python3-oslo-i18n-5.1.0-0.20211117181855.b031d17 37/158 DEBUG util.py:445: Verifying : python3-oslo-log-4.6.0-0.20211117204802.41c8807. 38/158 DEBUG util.py:445: Verifying : python3-oslo-messaging-12.9.4-0.20220627084903.4 39/158 DEBUG util.py:445: Verifying : python3-oslo-metrics-0.3.1-0.20220214085829.b904 40/158 DEBUG util.py:445: Verifying : python3-oslo-middleware-4.4.0-0.20211117211553.d 41/158 DEBUG util.py:445: Verifying : python3-oslo-policy-3.8.3-0.20211117210910.ff2a3 42/158 DEBUG util.py:445: Verifying : python3-oslo-reports-2.3.0-0.20211117214408.f279 43/158 DEBUG util.py:445: Verifying : python3-oslo-rootwrap-6.3.1-0.20220228092836.1b1 44/158 DEBUG util.py:445: Verifying : python3-oslo-serialization-4.2.0-0.2021111720093 45/158 DEBUG util.py:445: Verifying : python3-oslo-service-2.6.2-0.20220513142338.03d4 46/158 DEBUG util.py:445: Verifying : python3-oslo-upgradecheck-1.4.0-0.20211117215732 47/158 DEBUG util.py:445: Verifying : python3-oslo-utils-4.10.2-0.20220513072911.90a50 48/158 DEBUG util.py:445: Verifying : python3-oslo-versionedobjects-2.5.0-0.2021111722 49/158 DEBUG util.py:445: Verifying : python3-osprofiler-3.4.2-0.20211117224047.e475de 50/158 DEBUG util.py:445: Verifying : python3-pycadf-3.1.1-0.20211117213327.4179996.el 51/158 DEBUG util.py:445: Verifying : python3-requestsexceptions-1.4.0-0.2022022207531 52/158 DEBUG util.py:445: Verifying : python3-tooz-2.9.0-0.20211117211911.174065f.el9. 53/158 DEBUG util.py:445: Verifying : python3-keystoneauth1-4.4.0-0.20240201063748.112 54/158 DEBUG util.py:445: Verifying : python3-keystonemiddleware-9.3.0-0.2021111721392 55/158 DEBUG util.py:445: Verifying : python3-os-client-config-2.1.0-0.20220223091828. 56/158 DEBUG util.py:445: Verifying : libyaml-0.2.5-7.el9.x86_64 57/158 DEBUG util.py:445: Verifying : python3-dateutil-1:2.8.1-7.el9.noarch 58/158 DEBUG util.py:445: Verifying : python3-decorator-4.4.2-6.el9.noarch 59/158 DEBUG util.py:445: Verifying : python3-inotify-0.9.6-25.el9.noarch 60/158 DEBUG util.py:445: Verifying : python3-pyyaml-5.4.1-6.el9.x86_64 61/158 DEBUG util.py:445: Verifying : cmake-filesystem-3.26.5-2.el9.x86_64 62/158 DEBUG util.py:445: Verifying : gmp-c++-1:6.2.0-13.el9.x86_64 63/158 DEBUG util.py:445: Verifying : gmp-devel-1:6.2.0-13.el9.x86_64 64/158 DEBUG util.py:445: Verifying : libgpg-error-devel-1.42-5.el9.x86_64 65/158 DEBUG util.py:445: Verifying : libpq-13.11-1.el9.x86_64 66/158 DEBUG util.py:445: Verifying : libxml2-devel-2.9.13-6.el9.x86_64 67/158 DEBUG util.py:445: Verifying : libxslt-devel-1.1.34-9.el9.x86_64 68/158 DEBUG util.py:445: Verifying : openssl-devel-1:3.2.1-1.el9.x86_64 69/158 DEBUG util.py:445: Verifying : python3-PyMySQL-0.10.1-6.el9.noarch 70/158 DEBUG util.py:445: Verifying : python3-alembic-1.7.5-3.el9.noarch 71/158 DEBUG util.py:445: Verifying : python3-appdirs-1.4.4-4.el9.noarch 72/158 DEBUG util.py:445: Verifying : python3-attrs-20.3.0-7.el9.noarch 73/158 DEBUG util.py:445: Verifying : python3-jsonpatch-1.21-16.el9.noarch 74/158 DEBUG util.py:445: Verifying : python3-jsonpointer-2.0-4.el9.noarch 75/158 DEBUG util.py:445: Verifying : python3-jsonschema-3.2.0-13.el9.noarch 76/158 DEBUG util.py:445: Verifying : python3-lxml-4.6.5-3.el9.x86_64 77/158 DEBUG util.py:445: Verifying : python3-mako-1.1.4-6.el9.noarch 78/158 DEBUG util.py:445: Verifying : python3-netaddr-0.8.0-5.el9.noarch 79/158 DEBUG util.py:445: Verifying : python3-netifaces-0.10.6-15.el9.x86_64 80/158 DEBUG util.py:445: Verifying : python3-prettytable-0.7.2-27.el9.noarch 81/158 DEBUG util.py:445: Verifying : python3-psutil-5.8.0-12.el9.x86_64 82/158 DEBUG util.py:445: Verifying : python3-psycopg2-2.8.6-6.el9.x86_64 83/158 DEBUG util.py:445: Verifying : python3-pyasn1-0.4.8-6.el9.noarch 84/158 DEBUG util.py:445: Verifying : python3-pycdlib-1.11.0-5.el9.noarch 85/158 DEBUG util.py:445: Verifying : python3-pyghmi-1.5.34-2.el9.noarch 86/158 DEBUG util.py:445: Verifying : python3-pyrsistent-0.17.3-8.el9.x86_64 87/158 DEBUG util.py:445: Verifying : python3-wcwidth-0.2.5-8.el9.noarch 88/158 DEBUG util.py:445: Verifying : xz-devel-5.2.5-8.el9.x86_64 89/158 DEBUG util.py:445: Verifying : zlib-devel-1.2.11-41.el9.x86_64 90/158 DEBUG util.py:445: Verifying : libsodium-1.0.18-7.el9s.x86_64 91/158 DEBUG util.py:445: Verifying : python3-amqp-5.0.6-1.el9s.noarch 92/158 DEBUG util.py:445: Verifying : python3-autopage-0.4.0-1.el9s.noarch 93/158 DEBUG util.py:445: Verifying : python3-bcrypt-3.1.7-7.el9s.x86_64 94/158 DEBUG util.py:445: Verifying : python3-beautifulsoup4-4.9.3-2.el9s.noarch 95/158 DEBUG util.py:445: Verifying : python3-cachetools-4.2.2-1.el9s.noarch 96/158 DEBUG util.py:445: Verifying : python3-cmd2-2.1.2-1.el9s.noarch 97/158 DEBUG util.py:445: Verifying : python3-colorama-0.4.4-2.el9s.noarch 98/158 DEBUG util.py:445: Verifying : python3-ddt-1.4.2-3.el9s.noarch 99/158 DEBUG util.py:445: Verifying : python3-defusedxml-0.7.1-1.el9s.noarch 100/158 DEBUG util.py:445: Verifying : python3-dogpile-cache-1.1.5-1.el9s.noarch 101/158 DEBUG util.py:445: Verifying : python3-etcd3gw-1.0.0-2.el9s.noarch 102/158 DEBUG util.py:445: Verifying : python3-extras-1.0.0-15.el9s.noarch 103/158 DEBUG util.py:445: Verifying : python3-fasteners-0.14.1-24.el9s.noarch 104/158 DEBUG util.py:445: Verifying : python3-fixtures-3.0.0-22.el9s.noarch 105/158 DEBUG util.py:445: Verifying : python3-future-0.18.2-9.el9s.noarch 106/158 DEBUG util.py:445: Verifying : python3-ifaddr-0.1.7-3.el9s.noarch 107/158 DEBUG util.py:445: Verifying : python3-iso8601-0.1.13-4.el9s.noarch 108/158 DEBUG util.py:445: Verifying : python3-jeepney-0.7.1-1.el9s.noarch 109/158 DEBUG util.py:445: Verifying : python3-jmespath-0.10.0-1.el9s.noarch 110/158 DEBUG util.py:445: Verifying : python3-kazoo-2.8.0-2.el9s.noarch 111/158 DEBUG util.py:445: Verifying : python3-keyring-21.8.0-2.el9s.noarch 112/158 DEBUG util.py:445: Verifying : python3-kombu-1:5.1.0-3.el9s.noarch 113/158 DEBUG util.py:445: Verifying : python3-logutils-0.3.5-15.el9s.noarch 114/158 DEBUG util.py:445: Verifying : python3-memcached-1.59-3.el9s.noarch 115/158 DEBUG util.py:445: Verifying : python3-migrate-0.13.0-5.el9s.noarch 116/158 DEBUG util.py:445: Verifying : python3-mock-3.0.5-14.el9s.noarch 117/158 DEBUG util.py:445: Verifying : python3-msgpack-1.0.2-2.el9s.x86_64 118/158 DEBUG util.py:445: Verifying : python3-munch-2.5.0-4.el9s.noarch 119/158 DEBUG util.py:445: Verifying : python3-paste-3.5.0-3.el9s.noarch 120/158 DEBUG util.py:445: Verifying : python3-paste-deploy-2.1.1-2.el9s.noarch 121/158 DEBUG util.py:445: Verifying : python3-pecan-1.4.0-2.el9s.noarch 122/158 DEBUG util.py:445: Verifying : python3-prometheus_client-0.9.0-2.el9s.noarch 123/158 DEBUG util.py:445: Verifying : python3-pyOpenSSL-20.0.1-2.el9s.noarch 124/158 DEBUG util.py:445: Verifying : python3-pynacl-1.4.0-2.el9s.x86_64 125/158 DEBUG util.py:445: Verifying : python3-pyngus-2.3.0-8.el9s.noarch 126/158 DEBUG util.py:445: Verifying : python3-pyperclip-1.8.0-3.el9s.noarch 127/158 DEBUG util.py:445: Verifying : python3-pysnmp-4.4.12-6.el9s.noarch 128/158 DEBUG util.py:445: Verifying : python3-qpid-proton-0.35.0-2.el9s.x86_64 129/158 DEBUG util.py:445: Verifying : python3-redis-3.5.3-2.el9s.noarch 130/158 DEBUG util.py:445: Verifying : python3-repoze-lru-0.7-10.el9s.noarch 131/158 DEBUG util.py:445: Verifying : python3-retrying-1.3.3-2.el9s.noarch 132/158 DEBUG util.py:445: Verifying : python3-rfc3986-1.4.0-5.el9s.noarch 133/158 DEBUG util.py:445: Verifying : python3-routes-2.5.1-1.el9s.noarch 134/158 DEBUG util.py:445: Verifying : python3-secretstorage-3.3.1-1.el9s.noarch 135/158 DEBUG util.py:445: Verifying : python3-simplejson-3.17.5-1.el9s.x86_64 136/158 DEBUG util.py:445: Verifying : python3-smi-0.3.4-10.el9s.noarch 137/158 DEBUG util.py:445: Verifying : python3-soupsieve-2.2.1-2.el9s.noarch 138/158 DEBUG util.py:445: Verifying : python3-sqlparse-0.4.1-1.el9s.noarch 139/158 DEBUG util.py:445: Verifying : python3-statsd-3.2.1-20.el9s.noarch 140/158 DEBUG util.py:445: Verifying : python3-stestr-2.6.0-8.el9s.noarch 141/158 DEBUG util.py:445: Verifying : python3-subunit-1.4.0-6.el9s.noarch 142/158 DEBUG util.py:445: Verifying : python3-tempita-0.5.2-2.el9s.noarch 143/158 DEBUG util.py:445: Verifying : python3-tenacity-6.3.1-1.el9s.noarch 144/158 DEBUG util.py:445: Verifying : python3-testresources-2.0.1-2.el9s.noarch 145/158 DEBUG util.py:445: Verifying : python3-testscenarios-0.5.0-21.el9s.noarch 146/158 DEBUG util.py:445: Verifying : python3-testtools-2.5.0-2.el9s.noarch 147/158 DEBUG util.py:445: Verifying : python3-vine-5.0.0-3.el9s.noarch 148/158 DEBUG util.py:445: Verifying : python3-voluptuous-0.12.1-2.el9s.noarch 149/158 DEBUG util.py:445: Verifying : python3-waitress-1.4.4-3.el9s.noarch 150/158 DEBUG util.py:445: Verifying : python3-warlock-1.3.3-5.el9s.noarch 151/158 DEBUG util.py:445: Verifying : python3-webob-1.8.7-1.el9s.noarch 152/158 DEBUG util.py:445: Verifying : python3-webtest-2.0.35-6.el9s.noarch 153/158 DEBUG util.py:445: Verifying : python3-wrapt-1.12.1-4.el9s.x86_64 154/158 DEBUG util.py:445: Verifying : python3-yappi-1.3.1-2.el9s.x86_64 155/158 DEBUG util.py:445: Verifying : python3-zake-0.2.2-22.el9s.noarch 156/158 DEBUG util.py:445: Verifying : python3-zeroconf-0.29.0-1.el9s.noarch 157/158 DEBUG util.py:445: Verifying : qpid-proton-c-0.35.0-2.el9s.x86_64 158/158 DEBUG util.py:445: Installed: DEBUG util.py:445: cmake-filesystem-3.26.5-2.el9.x86_64 DEBUG util.py:445: gmp-c++-1:6.2.0-13.el9.x86_64 DEBUG util.py:445: gmp-devel-1:6.2.0-13.el9.x86_64 DEBUG util.py:445: libgpg-error-devel-1.42-5.el9.x86_64 DEBUG util.py:445: libpq-13.11-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-6.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: openssl-devel-1:3.2.1-1.el9.x86_64 DEBUG util.py:445: python-oslo-cache-lang-2.8.2-0.20220318083438.55cb199.el9.noarch DEBUG util.py:445: python-oslo-concurrency-lang-4.4.1-0.20211117205442.8e08400.el9.noarch DEBUG util.py:445: python-oslo-db-lang-11.0.0-0.20211117214750.75661fb.el9.noarch DEBUG util.py:445: python-oslo-i18n-lang-5.1.0-0.20211117181855.b031d17.el9.noarch DEBUG util.py:445: python-oslo-log-lang-4.6.0-0.20211117204802.41c8807.el9.noarch DEBUG util.py:445: python-oslo-middleware-lang-4.4.0-0.20211117211553.da7987c.el9.noarch DEBUG util.py:445: python-oslo-policy-lang-3.8.3-0.20211117210910.ff2a39f.el9.noarch DEBUG util.py:445: python-oslo-utils-lang-4.10.2-0.20220513072911.90a5046.el9.noarch DEBUG util.py:445: python-oslo-versionedobjects-lang-2.5.0-0.20211117221900.a85275f.el9.noarch DEBUG util.py:445: python-pycadf-common-3.1.1-0.20211117213327.4179996.el9.noarch DEBUG util.py:445: python3-PyMySQL-0.10.1-6.el9.noarch DEBUG util.py:445: python3-alembic-1.7.5-3.el9.noarch DEBUG util.py:445: python3-amqp-5.0.6-1.el9s.noarch DEBUG util.py:445: python3-appdirs-1.4.4-4.el9.noarch DEBUG util.py:445: python3-attrs-20.3.0-7.el9.noarch DEBUG util.py:445: python3-automaton-2.4.0-0.20211117224632.0461d8e.el9.noarch DEBUG util.py:445: python3-autopage-0.4.0-1.el9s.noarch DEBUG util.py:445: python3-bcrypt-3.1.7-7.el9s.x86_64 DEBUG util.py:445: python3-beautifulsoup4-4.9.3-2.el9s.noarch DEBUG util.py:445: python3-cachetools-4.2.2-1.el9s.noarch DEBUG util.py:445: python3-cinderclient-8.1.0-0.20211117215955.fab6ddf.el9.noarch DEBUG util.py:445: python3-cliff-3.9.0-0.20211117182955.734bc0c.el9.noarch DEBUG util.py:445: python3-cmd2-2.1.2-1.el9s.noarch DEBUG util.py:445: python3-colorama-0.4.4-2.el9s.noarch DEBUG util.py:445: python3-dateutil-1:2.8.1-7.el9.noarch DEBUG util.py:445: python3-ddt-1.4.2-3.el9s.noarch DEBUG util.py:445: python3-debtcollector-2.3.0-0.20211117180744.0bf5bf5.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-dogpile-cache-1.1.5-1.el9s.noarch DEBUG util.py:445: python3-dracclient-7.0.1-0.20220113135335.382ba1c.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.14.1-24.el9s.noarch DEBUG util.py:445: python3-fixtures-3.0.0-22.el9s.noarch DEBUG util.py:445: python3-future-0.18.2-9.el9s.noarch DEBUG util.py:445: python3-futurist-2.4.0-0.20211117191509.d70c7e5.el9.noarch DEBUG util.py:445: python3-glanceclient-1:3.5.0-0.20211117195751.74a55bd.el9.noarch DEBUG util.py:445: python3-ifaddr-0.1.7-3.el9s.noarch DEBUG util.py:445: python3-inotify-0.9.6-25.el9.noarch DEBUG util.py:445: python3-ironic-lib-5.0.1-0.20211125144845.b19124e.el9.noarch DEBUG util.py:445: python3-iso8601-0.1.13-4.el9s.noarch DEBUG util.py:445: python3-jeepney-0.7.1-1.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-4.4.0-0.20240201063748.112bcae.el9.noarch DEBUG util.py:445: python3-keystoneclient-1:4.3.0-0.20220713075914.d5cb761.el9.noarch DEBUG util.py:445: python3-keystonemiddleware-9.3.0-0.20211117213925.90df936.el9.noarch DEBUG util.py:445: python3-kombu-1:5.1.0-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-3.0.5-14.el9s.noarch DEBUG util.py:445: python3-msgpack-1.0.2-2.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-7.6.0-0.20211117215407.983f0ab.el9.noarch DEBUG util.py:445: python3-openstacksdk-0.59.0-0.20211117194915.d0d4d8b.el9.noarch DEBUG util.py:445: python3-os-client-config-2.1.0-0.20220223091828.bc96c23.el9.noarch DEBUG util.py:445: python3-os-service-types-1.7.0-0.20220222075507.0b2f473.el9.noarch DEBUG util.py:445: python3-os-traits-2.6.0-0.20211118001148.c323982.el9.noarch DEBUG util.py:445: python3-osc-lib-2.4.2-0.20211117200543.415a6c7.el9.noarch DEBUG util.py:445: python3-oslo-cache-2.8.2-0.20220318083438.55cb199.el9.noarch DEBUG util.py:445: python3-oslo-concurrency-4.4.1-0.20211117205442.8e08400.el9.noarch DEBUG util.py:445: python3-oslo-config-2:8.7.1-0.20211122091811.1a7bd66.el9.noarch DEBUG util.py:445: python3-oslo-context-3.3.2-0.20211117204246.7187c67.el9.noarch DEBUG util.py:445: python3-oslo-db-11.0.0-0.20211117214750.75661fb.el9.noarch DEBUG util.py:445: python3-oslo-db-tests-11.0.0-0.20211117214750.75661fb.el9.noarch DEBUG util.py:445: python3-oslo-i18n-5.1.0-0.20211117181855.b031d17.el9.noarch DEBUG util.py:445: python3-oslo-log-4.6.0-0.20211117204802.41c8807.el9.noarch DEBUG util.py:445: python3-oslo-messaging-12.9.4-0.20220627084903.49ec24c.el9.noarch DEBUG util.py:445: python3-oslo-metrics-0.3.1-0.20220214085829.b904335.el9.noarch DEBUG util.py:445: python3-oslo-middleware-4.4.0-0.20211117211553.da7987c.el9.noarch DEBUG util.py:445: python3-oslo-policy-3.8.3-0.20211117210910.ff2a39f.el9.noarch DEBUG util.py:445: python3-oslo-reports-2.3.0-0.20211117214408.f2799dc.el9.noarch DEBUG util.py:445: python3-oslo-rootwrap-6.3.1-0.20220228092836.1b1b960.el9.noarch DEBUG util.py:445: python3-oslo-serialization-4.2.0-0.20211117200938.2b94a4f.el9.noarch DEBUG util.py:445: python3-oslo-service-2.6.2-0.20220513142338.03d4fdd.el9.noarch DEBUG util.py:445: python3-oslo-upgradecheck-1.4.0-0.20211117215732.3ca8698.el9.noarch DEBUG util.py:445: python3-oslo-utils-4.10.2-0.20220513072911.90a5046.el9.noarch DEBUG util.py:445: python3-oslo-versionedobjects-2.5.0-0.20211117221900.a85275f.el9.noarch DEBUG util.py:445: python3-oslotest-4.5.0-0.20211117192626.d4b1896.el9.noarch DEBUG util.py:445: python3-osprofiler-3.4.2-0.20211117224047.e475de6.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.0-2.el9s.noarch DEBUG util.py:445: python3-prettytable-0.7.2-27.el9.noarch DEBUG util.py:445: python3-proliantutils-2.9.4-0.20211118003601.5bc7569.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.20211117213327.4179996.el9.noarch DEBUG util.py:445: python3-pycdlib-1.11.0-5.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-3.5.3-2.el9s.noarch DEBUG util.py:445: python3-repoze-lru-0.7-10.el9s.noarch DEBUG util.py:445: python3-requestsexceptions-1.4.0-0.20220222075317.d7ac0ff.el9.noarch DEBUG util.py:445: python3-retrying-1.3.3-2.el9s.noarch DEBUG util.py:445: python3-rfc3986-1.4.0-5.el9s.noarch DEBUG util.py:445: python3-routes-2.5.1-1.el9s.noarch DEBUG util.py:445: python3-scciclient-0.11.4-0.20220729095352.7c22357.el9.noarch DEBUG util.py:445: python3-secretstorage-3.3.1-1.el9s.noarch DEBUG util.py:445: python3-simplejson-3.17.5-1.el9s.x86_64 DEBUG util.py:445: python3-smi-0.3.4-10.el9s.noarch DEBUG util.py:445: python3-soupsieve-2.2.1-2.el9s.noarch DEBUG util.py:445: python3-sqlparse-0.4.1-1.el9s.noarch DEBUG util.py:445: python3-statsd-3.2.1-20.el9s.noarch DEBUG util.py:445: python3-stestr-2.6.0-8.el9s.noarch DEBUG util.py:445: python3-stevedore-3.4.2-0.20221021074429.1c12706.el9.noarch DEBUG util.py:445: python3-subunit-1.4.0-6.el9s.noarch DEBUG util.py:445: python3-sushy-3.12.6-0.20230120101535.e71373c.el9.noarch DEBUG util.py:445: python3-swiftclient-3.12.0-0.20211117201905.38c435f.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-2.9.0-0.20211117211911.174065f.el9.noarch DEBUG util.py:445: python3-vine-5.0.0-3.el9s.noarch DEBUG util.py:445: python3-voluptuous-0.12.1-2.el9s.noarch DEBUG util.py:445: python3-waitress-1.4.4-3.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-2.0.35-6.el9s.noarch DEBUG util.py:445: python3-wrapt-1.12.1-4.el9s.x86_64 DEBUG util.py:445: python3-yappi-1.3.1-2.el9s.x86_64 DEBUG util.py:445: python3-zake-0.2.2-22.el9s.noarch DEBUG util.py:445: python3-zeroconf-0.29.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-41.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-xena-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.4.1-3.el9.x86_64 1702998833 198756 07dba52fb3e3fe222cd417a46886ca90 installed DEBUG util.py:445: fonts-filesystem-1:2.0.5-7.el9.1.noarch 1631794425 0 1f223cb786e15b443f5ae9792adc3d8b 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-20231215-1.el9.noarch 1704277946 3690799 91f7c3f1fe57ebc292ff823f22e9528b 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.9-1.el9.noarch 1681714691 492 8ec89c93045f3fb6df7200c1acc02777 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-9.el9.noarch 1697017163 1335069 31c830bee110572eec6f3e1f2cabce15 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: 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: ncurses-base-6.2-10.20210508.el9.noarch 1692626709 307293 ef98b393ba4b55cb87e80f4c95e8ac73 installed DEBUG util.py:445: kbd-misc-2.4.0-9.el9.noarch 1687358685 2573480 61618bed610b5b2247849dab28fc1932 installed DEBUG util.py:445: kbd-legacy-2.4.0-9.el9.noarch 1687358685 557448 e67bee51a4646d63923a63eacee92699 installed DEBUG util.py:445: coreutils-common-8.32-35.el9.x86_64 1706533662 10880514 936269022a2221bdc5d3478419733917 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-10.20210508.el9.x86_64 1692626693 994375 e4c34faf5c547c4edf566fe4517c5e12 installed DEBUG util.py:445: zlib-1.2.11-41.el9.x86_64 1698657353 203041 786016493b8145ee743212c37a255951 installed DEBUG util.py:445: libstdc++-11.4.1-3.el9.x86_64 1702998833 2537734 e65b43a58e8a6c39b8a4bbc1463ff5db installed DEBUG util.py:445: xz-libs-5.2.5-8.el9.x86_64 1654006189 181557 65b27c8fdb646cb879de885e8d8f9d1e 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: libzstd-1.5.1-2.el9.x86_64 1644329495 902051 2e88ccf26d9595c4334ff2db855c8a46 installed DEBUG util.py:445: libpng-2:1.6.37-12.el9.x86_64 1628552275 232119 3bbeb3eba89728caac0a661ff6640bc6 installed DEBUG util.py:445: libjpeg-turbo-2.0.90-7.el9.x86_64 1705311609 647849 eb9c83b25a447c5902664052f79a5bae installed DEBUG util.py:445: libcap-2.48-9.el9.x86_64 1689167967 177447 5a226acbb6342918efccf73a4fced219 installed DEBUG util.py:445: libffi-3.4.2-8.el9.x86_64 1681740417 65761 4bb756aae8cbb82168f5d2245c5a969b installed DEBUG util.py:445: sqlite-libs-3.34.1-7.el9.x86_64 1704382370 1310936 26da3e9a9c03773b4b29c0d8e3514e80 installed DEBUG util.py:445: elfutils-libelf-0.190-2.el9.x86_64 1702309026 1026790 f576c34f83f00b1595a71a5be87cf49a installed DEBUG util.py:445: gmp-1:6.2.0-13.el9.x86_64 1691058138 816844 44dbc752662788b6d7d5115cb6d0dc92 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: mpfr-4.1.0-7.el9.x86_64 1628557531 802539 88da3a99a529f63efff8ada0eb13b87f installed DEBUG util.py:445: readline-8.1-4.el9.x86_64 1628568923 492844 04ea87f7f650b71b09c3c80fbbc1263d 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: libgcrypt-1.10.0-10.el9.x86_64 1679647173 1382042 f52cea6f19f1763da2e5ebd1dc6cfdce installed DEBUG util.py:445: libwayland-client-1.21.0-1.el9.x86_64 1667401001 71360 366182addb754f3e390ead562fd358f1 installed DEBUG util.py:445: libicu-67.1-9.el9.x86_64 1629785371 34109009 759ba2412d5676d3412b8b16734abb2f 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-4.el9.x86_64 1696594612 40554 c708b2c282e929084ec0f0efc372898b installed DEBUG util.py:445: libgomp-11.4.1-3.el9.x86_64 1702998833 421733 153c9434c669e3bb4b599f90d5e4b7c4 installed DEBUG util.py:445: lz4-libs-1.9.3-5.el9.x86_64 1628555809 145483 7d3dca7640cf3d38ba0f9f9615d050cd installed DEBUG util.py:445: popt-1.18-8.el9.x86_64 1628566366 130360 f6d016fe6a99581d6c0ec0e43955c05b installed DEBUG util.py:445: alsa-lib-1.2.10-2.el9.x86_64 1701768215 1504096 27e948326662400eeaf469c994d629f8 installed DEBUG util.py:445: libwebp-1.2.0-8.el9.x86_64 1695044490 787616 58fba1cdbfed92c5e6e661598dd0a449 installed DEBUG util.py:445: libassuan-2.5.5-3.el9.x86_64 1628549434 171165 2ea61cf9eb18aefe03c18facfa6e5980 installed DEBUG util.py:445: libbrotli-1.0.9-6.el9.x86_64 1628537853 784562 0064f1719ea79d95cba2d52b8f1a4427 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.1.2-2.el9.x86_64 1699438289 314049 cceb817f0ac424a5632c878640bb84da installed DEBUG util.py:445: libcom_err-1.46.5-5.el9.x86_64 1702474007 68513 17a459515df628464af3b1faf0d027d0 installed DEBUG util.py:445: libseccomp-2.5.2-2.el9.x86_64 1636474241 175293 020a54cdbf220f3d6b9889593d0cbb88 installed DEBUG util.py:445: libtasn1-4.16.0-8.el9.x86_64 1669910927 183348 7d0ecade4d7aa7f44c7402613f807c65 installed DEBUG util.py:445: p11-kit-0.25.3-2.el9.x86_64 1700747780 2530636 4de78e2c1337968deea3ac8b20cdd0fe installed DEBUG util.py:445: libtdb-1.4.9-1.el9.x86_64 1701676697 103284 befaea022706bfdbd1dcc32f8e89af5e 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-4.el9.x86_64 1681732544 287331 d580b400a364fe10ae66719a1533cfff 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: libX11-xcb-1.7.0-9.el9.x86_64 1697017154 15084 723acc4878d7591bf6c9e03e02f7c9fd installed DEBUG util.py:445: libstemmer-0-18.585svn.el9.x86_64 1628553005 352513 93e9ba1d2f28344ab4c7e3de4a0d0578 installed DEBUG util.py:445: openjpeg2-2.4.0-7.el9.x86_64 1657789945 386300 e8b954e12211663055f28b5000b5bc46 installed DEBUG util.py:445: opus-1.3.1-10.el9.x86_64 1628561143 363598 40da76c2d6ce4525c03c2037784abb72 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: 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: dwz-0.14-3.el9.x86_64 1628540256 281758 f72e5de5cbebad4a19641f7e9c312c6d 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: 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: hicolor-icon-theme-0.17-13.el9.noarch 1653477225 73932 acdfc37badce9a922e7cd15ecb790c30 installed DEBUG util.py:445: libedit-3.1-38.20210216cvs.el9.x86_64 1689761962 251847 13d64bf1aeccaccc6db6bef9ea473a2c installed DEBUG util.py:445: alternatives-1.24-1.el9.x86_64 1684846512 63270 140537c16ebc89b1e793908507e6a403 installed DEBUG util.py:445: p11-kit-trust-0.25.3-2.el9.x86_64 1700747780 478148 12cf33e13ccbf626f96780a7ff3b3069 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: libsepol-3.6-1.el9.x86_64 1702494173 829251 96b534d0fc8659503584d2fc5db96d0a installed DEBUG util.py:445: libselinux-3.6-1.el9.x86_64 1702538075 176853 642ddc0bcd98f945ffd8cb75990754da installed DEBUG util.py:445: sed-4.8-9.el9.x86_64 1628569875 813599 8f2001ef117e096e5b2cb761dbe56226 installed DEBUG util.py:445: findutils-1:4.8.0-6.el9.x86_64 1692266474 1756606 6be06272ccd7dbf2ec946eb1631405f6 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: grep-3.6-5.el9.x86_64 1628545386 857840 b1783007ca41c6a5e2a2a6b09c72ee49 installed DEBUG util.py:445: coreutils-8.32-35.el9.x86_64 1706533662 5987522 b4c88abbc79f10b3b0bb8646faa842a7 installed DEBUG util.py:445: ca-certificates-2023.2.60_v7.0.306-90.1.el9.noarch 1693329430 2354652 b265b748b158e370e85dd89c134d7a17 installed DEBUG util.py:445: dbus-libs-1:1.12.20-8.el9.x86_64 1686561892 372990 52ea9b6b6c067fc779ab24fb611ac26c installed DEBUG util.py:445: libarchive-3.5.3-4.el9.x86_64 1670334275 906150 d8567679cfb8225dc2e349cb0ced7f90 installed DEBUG util.py:445: libusbx-1.0.26-1.el9.x86_64 1650890875 169790 e42efbfacf911799e5c8d24d5565a35d 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: kmod-libs-28-9.el9.x86_64 1684510061 133910 9c951491f060ed16da334face3dd1d78 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-20.el9.x86_64 1699463845 177886 382611887feb114c90633ac8a89869a0 installed DEBUG util.py:445: xz-5.2.5-8.el9.x86_64 1654006189 685923 7a3a1c534311e848d76428a6daddd7c0 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-12.el9.x86_64 1704893530 586505 61d15e6ed523ee442d90bd95d3cc8dbf 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-9.el9.x86_64 1697017154 1354996 4a328f6b54f8624c3720c6267310a2b4 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: libXi-1.7.10-8.el9.x86_64 1628554634 74757 bd2b6b3e709f17777a5d0e2097366c43 installed DEBUG util.py:445: libXfixes-5.0.3-16.el9.x86_64 1628554623 35681 06ff23960463555e5f8af61d13f71a2f 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-10.el9.x86_64 1697029641 128632 143c8682ce0cbfb70df0ed5d852c4516 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: libxshmfence-1.3-10.el9.x86_64 1628554718 15936 1541f0109361779510ce1a64b464d733 installed DEBUG util.py:445: pixman-0.40.0-6.el9.x86_64 1696425141 710279 aede16298bd4d68bf8b81b92b7f4ff9f 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: p11-kit-server-0.25.3-2.el9.x86_64 1700747780 1399233 5e4aec16d32a12b08c9f030a7e92dd43 installed DEBUG util.py:445: python-unversioned-command-3.9.18-3.el9.noarch 1706293333 23 216095784e93eadad1cc58c9f962f1d4 installed DEBUG util.py:445: python3-3.9.18-3.el9.x86_64 1706293315 33013 81ffbca94c33765fcbb593523087df93 installed DEBUG util.py:445: python3-libs-3.9.18-3.el9.x86_64 1706293315 32513867 6751f72b7674cc0f0c97161543c14f1a installed DEBUG util.py:445: python3-setuptools-57.4.0-1.el9s.noarch 1633534144 4796650 cba8c282a0121989182f2bd1f63f4099 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-4.el9.x86_64 1683653368 384127 e9d9810d6b57e6d908578481887640c0 installed DEBUG util.py:445: python3-chardet-4.0.0-5.el9.noarch 1645457887 1480116 7bf874734ba3c74bafc1b7d88a30d5bc 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-4.el9.x86_64 1685444444 4755971 febff0894578a962f1dc309d74a66503 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-5.el9.noarch 1702410340 747219 3b470953dab06b9eaa31f5190bb4a14f installed DEBUG util.py:445: python3-requests-2.25.1-8.el9.noarch 1706184229 401874 619a33d042e9ad9f16cb7860ea353bb3 installed DEBUG util.py:445: python3-pytz-2021.1-5.el9.noarch 1689250584 180371 e6b4e1f7bee95c39ce357b2feffca88a 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-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: sound-theme-freedesktop-0.8-17.el9.noarch 1628570710 471450 e6f7781c74c99fcbcf41d1a012108db5 installed DEBUG util.py:445: kmod-28-9.el9.x86_64 1684510061 253941 b2bd3700512355de33e0ffd676872a98 installed DEBUG util.py:445: libsemanage-3.6-1.el9.x86_64 1702541748 307190 7507e4d298049a44dcbe82a65b0fe96d installed DEBUG util.py:445: shadow-utils-2:4.9-8.el9.x86_64 1689166575 3812549 f802a2af10c39c5b00c0b775298414d9 installed DEBUG util.py:445: libutempter-1.2.1-6.el9.x86_64 1628554085 59409 ce999580e2b5f894fc54fe1b4bd09850 installed DEBUG util.py:445: tar-2:1.34-6.el9.x86_64 1676281551 3155323 ee74705ec23ecf11c541e27087fe9605 installed DEBUG util.py:445: llvm-libs-17.0.6-5.el9.x86_64 1707139118 107287440 def9c2a72c7f5afa3411ae03b3080a13 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.4.1-3.el9.x86_64 1702998833 30353165 3db2c5a9b77cb2b77c9274266c87d7d1 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-4.el9.x86_64 1696594612 212167 ea68b93d2c6237673747706514381ad4 installed DEBUG util.py:445: flac-libs-1.3.3-12.el9.x86_64 1695638696 561684 40e4f24683955d41c3d3da68c2452c34 installed DEBUG util.py:445: libtheora-1:1.1.1-31.el9.x86_64 1628553380 474222 b8127b03ee1f999ef62271ee2b4be850 installed DEBUG util.py:445: libksba-1.5.1-6.el9.x86_64 1675793165 394494 5065a1b60987a5ea1b35f943fde57a74 installed DEBUG util.py:445: jasper-libs-2.0.28-3.el9.x86_64 1628547517 333940 a8cabff1260ab3da238161ae0bdbe1e1 installed DEBUG util.py:445: LibRaw-0.21.1-1.el9.x86_64 1696285065 2493670 a82620ac65090460e8c9bd5a0c6b413e 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: groff-base-1.22.4-10.el9.x86_64 1633944960 4040774 6f382ca641a7b920bd2f194a36b9a1ef 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: libfontenc-1.1.3-17.el9.x86_64 1628550261 64225 931267996fd577695291cbc512f16582 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-10.20210508.el9.x86_64 1692626693 624684 3e1d871c5e43b7efd27d114ba95af330 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-481.el9.x86_64 1701177561 504555 97d255f5630b145e073fcda0f6cd3673 installed DEBUG util.py:445: perl-FileHandle-0:2.03-481.el9.noarch 1701177577 10529 cd446c4929e49051eacb7c809f916aa1 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-AutoLoader-0:5.74-481.el9.noarch 1701177577 22037 6b156f8bbe757a9a98edcbe7434ffd32 installed DEBUG util.py:445: perl-base-0:2.27-481.el9.noarch 1701177577 13819 7af91f5d6f97d736f20bd2b89937b3c6 installed DEBUG util.py:445: perl-URI-5.09-3.el9.noarch 1628565665 216915 b03fb11680933808dbfa5ed1bc6be6cf installed DEBUG util.py:445: perl-if-0:0.60.800-481.el9.noarch 1701177577 6874 c7499524c56ca9285541fdbb3ace9d60 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-Net-SSLeay-1.92-2.el9.x86_64 1658929034 1398888 54f510931f506aefde25a6dbd2022632 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-481.el9.noarch 1701177577 26954 01273c932f833550aa1a9b2a32961acf installed DEBUG util.py:445: perl-POSIX-0:1.94-481.el9.x86_64 1701177561 240147 bac99ffdb50863a993a8e4d89960f3d2 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-481.el9.noarch 1701177577 25044 233f261fe09ffc951336d8e038874e15 installed DEBUG util.py:445: perl-subs-0:1.03-481.el9.noarch 1701177577 3060 3f8e2d78aeeebc857fb48d88f5331af4 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-462.el9.noarch 1705477316 150675 3c54aff636d01b3b76e48030d477d990 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-481.el9.noarch 1701177577 3170 988959df5a2887cfa7c2708eedbc18ac installed DEBUG util.py:445: perl-Symbol-0:1.08-481.el9.noarch 1701177577 7846 a911f0b217f7e27bb96e91f024a4a7c6 installed DEBUG util.py:445: perl-File-stat-0:1.09-481.el9.noarch 1701177577 13948 0022795a994ca9437a525e241e2032fe 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-481.el9.x86_64 1701177561 30235 daf4de7b8a3496d89780f5f6b1764ff3 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-481.el9.x86_64 1701177561 43587 c8e536919ee9acdb88b0ed487f13c291 installed DEBUG util.py:445: perl-IO-0:1.43-481.el9.x86_64 1701177561 163239 f091c4e270102a4fc611fb2b88069f7d installed DEBUG util.py:445: perl-overloading-0:0.02-481.el9.noarch 1701177577 5893 9c337d0eec9980ab0736c2e9a5e295fe 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-481.el9.x86_64 1701177561 9533 0d42d993af70cee6142c2dc407dd4962 installed DEBUG util.py:445: perl-File-Basename-0:2.85-481.el9.noarch 1701177577 15339 a0985a1a87665bf8f6d71f78aaf6ef4f installed DEBUG util.py:445: perl-Getopt-Std-0:1.12-481.el9.noarch 1701177577 12107 768fa74b8510a3a08bb95805114a222d installed DEBUG util.py:445: perl-MIME-Base64-3.16-4.el9.x86_64 1628564750 48145 1190c3bd08b43b3064f439bca71ca347 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-481.el9.noarch 1701177577 72821 225f3e52850e2049d4513cf1f47a6631 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-481.el9.noarch 1701177577 4926 24298c2d943794c3ee342af784462bad 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-481.el9.x86_64 1701177561 30080 930a693ffe65c3f35b32ac6d42e42f25 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-481.el9.x86_64 1701177561 8958842 845752f1a2bae7269ddb30aa1aa7cb89 installed DEBUG util.py:445: perl-interpreter-4:5.32.1-481.el9.x86_64 1701177561 120268 9dbf64cde223abe3a939798189b24beb installed DEBUG util.py:445: kernel-srpm-macros-1.0-13.el9.noarch 1686576375 16918 0162dee60ae979d7e2da3d6ebbc2c48c 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: diffutils-3.7-12.el9.x86_64 1628539960 1467825 507f1a0f06465e7a20379fffcb5a941e installed DEBUG util.py:445: keyutils-libs-1.6.3-1.el9.x86_64 1666019242 55267 3c9b8438c14c5b6dd89db849f2233459 installed DEBUG util.py:445: libatomic-11.4.1-3.el9.x86_64 1702998833 29234 d25165dd40da2034f5f68cb6929650e9 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: libpwquality-1.4.4-8.el9.x86_64 1628552427 416376 0b62322fb735de082781bbefe37e1e6e installed DEBUG util.py:445: dbus-1:1.12.20-8.el9.x86_64 1686561892 0 e3a0cea0ef5d61d5d05c31ccab5a91f1 installed DEBUG util.py:445: dbus-common-1:1.12.20-8.el9.noarch 1686561915 11394 cb70323eee868f9715c3a3aad81e1149 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.197-2.el9.x86_64 1706918710 429233 3d881556333837427ac30457808b729e installed DEBUG util.py:445: device-mapper-9:1.02.197-2.el9.x86_64 1706918710 362374 3e487593aced61831d9e96337f9eff9e installed DEBUG util.py:445: cryptsetup-libs-2.6.0-3.el9.x86_64 1688329670 2055308 fa38e8baf68288b02a24fcf4ceb39dba installed DEBUG util.py:445: elfutils-default-yama-scope-0.190-2.el9.noarch 1702309018 1810 eb1fb982da6dd1fae7703ff5c27dbd65 installed DEBUG util.py:445: elfutils-libs-0.190-2.el9.x86_64 1702309026 706077 223da58dfd22705fc60dd21ff650679a installed DEBUG util.py:445: openssh-8.7p1-38.el9.x86_64 1704463080 1992092 829883d2ff3331d94381ac91e0142a95 installed DEBUG util.py:445: kbd-2.4.0-9.el9.x86_64 1687358667 1565276 d91294e97d79a42db361b9b70bbea878 installed DEBUG util.py:445: libnghttp2-1.43.0-5.el9.1.x86_64 1697446023 169892 a2a39eb393b03b7eaef26fba7e1e067a installed DEBUG util.py:445: libdrm-2.4.117-1.el9.x86_64 1699264869 410099 591cbe6f2e07dfffd459eb69070725ef installed DEBUG util.py:445: libglvnd-egl-1:1.3.4-1.el9.x86_64 1637623169 70708 f36fd901951072d8b6dc7b9b7b680993 installed DEBUG util.py:445: libglvnd-glx-1:1.3.4-1.el9.x86_64 1637623169 694030 df6b17eab5aca2f17d3ec25cf90c1bd4 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: cyrus-sasl-lib-2.1.27-21.el9.x86_64 1663006598 2380384 30b42ad4b265d75bc95db77acd35598e installed DEBUG util.py:445: elfutils-debuginfod-client-0.190-2.el9.x86_64 1702309026 61715 7f97796057315c7dbcb03364e3440b6b installed DEBUG util.py:445: elfutils-0.190-2.el9.x86_64 1702309026 2935276 cc1ad86048c9c45ae676023831030dc1 installed DEBUG util.py:445: gdb-minimal-10.2-13.el9.x86_64 1702612049 11543366 f34939896bd89b72a17c027dd44f7754 installed DEBUG util.py:445: debugedit-5.0-5.el9.x86_64 1701732946 194098 0eeb99b85a124c6ff2fe748a53efd60d installed DEBUG util.py:445: rpm-4.16.1.3-29.el9.x86_64 1702467563 2750680 2fb7a25f82ba118b0b567bd1ff1b7f65 installed DEBUG util.py:445: rpm-libs-4.16.1.3-29.el9.x86_64 1702467563 769228 797f2fb1b771fb257dd8c0a070fdf29c installed DEBUG util.py:445: rpm-build-libs-4.16.1.3-29.el9.x86_64 1702467563 198550 26445c730bb2a0061c3cc20b6156a3d4 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.2.2-2.el9.x86_64 1688388037 2225208 013fe7003fe4d6849ba2b54e28f2001d installed DEBUG util.py:445: libfido2-1.13.0-2.el9.x86_64 1699456888 246862 89903d7667844d756da1228185335b93 installed DEBUG util.py:445: openssh-clients-8.7p1-38.el9.x86_64 1704463080 2146845 75fcf554b402401da9cd36e8aa356aa1 installed DEBUG util.py:445: git-core-2.43.0-1.el9.x86_64 1701876957 21410471 671ca660378de6505a7f72f453e79776 installed DEBUG util.py:445: make-1:4.3-8.el9.x86_64 1706904750 1719894 63525a4cfacb7b409195d59d53450e4e installed DEBUG util.py:445: nettle-3.9.1-1.el9.x86_64 1700480888 1157687 18849d91f8a9435a7ffcc3b7fdb17dbb 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-10.el9.x86_64 1695037531 1705461 c1679c0fe827db886e817382b72eb6af 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.22.1-2.el9.x86_64 1681313793 5017255 3cdad1676383e94bbb4756214faee818 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: libgudev-237-1.el9.x86_64 1629362707 89888 3ae2ff97534847502dc9dc6e54769e32 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-19.el9.x86_64 1697123393 3760801 b608f4e27ae090f69571908ba344f30a installed DEBUG util.py:445: poppler-glib-21.01.0-19.el9.x86_64 1697123393 488500 af6dc67aa56e002bd4e9d0dfdfd5260b 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: gobject-introspection-1.68.0-11.el9.x86_64 1667572879 936649 f0cce33f7885a16bb7162d447c255809 installed DEBUG util.py:445: upower-0.99.11-11.el9.x86_64 1628573812 571536 4bc50b2c77c740c5ac72f1ba14729ebf installed DEBUG util.py:445: libgusb-0.3.8-2.el9.x86_64 1692013174 129332 41172fd21ee5baa9c8b84c2fe236bf14 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-20.el9.x86_64 1699463845 19834 46c53d69db7ce8c6a762fb2113a35225 installed DEBUG util.py:445: flatpak-session-helper-1.12.8-1.el9.x86_64 1689072281 215013 89517f4fe8dbe78c5c1faeb5c7aa5aa2 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: 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: 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-4.el9.x86_64 1682510074 9227533 d384c35c7b3bb26db6c8e299893befc2 installed DEBUG util.py:445: gpgme-1.15.1-6.el9.x86_64 1645124220 576065 ecb8fc57f018677395265e37b7603b3c 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: 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.4.1-3.el9.x86_64 1702998833 89267122 75d35c59a3982fb4246954de60b8c927 installed DEBUG util.py:445: annobin-12.31-2.el9.x86_64 1705502007 1165852 7aa186992ab313186e72deee44435347 installed DEBUG util.py:445: gcc-plugin-annobin-11.4.1-3.el9.x86_64 1702998833 57754 a65c229de3f02ee0319455d8c1007313 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.2.0-3.el9.noarch 1695397520 61202 5b2ce2ec17d4a0bfbcbc618b36b1d01d installed DEBUG util.py:445: python-srpm-macros-3.9-53.el9.noarch 1701436979 37100 890e0dd460cfae0425c24ffec741ff28 installed DEBUG util.py:445: redhat-rpm-config-207-1.el9.noarch 1705935950 191423 979466c91476430433d45e44a7a5fe42 installed DEBUG util.py:445: rpm-build-4.16.1.3-29.el9.x86_64 1702467563 150039 9b8e9728b1e950973c8f2114b7201b68 installed DEBUG util.py:445: pyproject-srpm-macros-1.12.0-1.el9.noarch 1707213272 1514 4ff806ce808b29ef626889ac259e8225 installed DEBUG util.py:445: python-rpm-macros-3.9-53.el9.noarch 1701436979 20079 860a7a43dbbef1fc749fa0aad7177509 installed DEBUG util.py:445: python3-rpm-macros-3.9-53.el9.noarch 1701436979 6227 2e7694dd7192f731dfa7a9a2110715cb installed DEBUG util.py:445: python3-rpm-generators-12-9.el9.noarch 1700828243 78358 e739a85b6967ac4d65e1a73a793b08b6 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-8.el9.x86_64 1699448921 534008 675b5ac019cf90f96d0268f25461fee5 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-27.el9.x86_64 1689255812 288247 43220d729b38ccdfe962c310d04c4fdf 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-3.el9.x86_64 1696574847 10687283 42b7361c125bbec228b57b0543c24f68 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-14.el9.x86_64 1698931945 19642257 4b29f90585b7a0cd29ae1d4765a3b572 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: pipewire-libs-1.0.1-1.el9.x86_64 1705673142 8006429 7e939a0baf3b081f9ffb358be2557abc installed DEBUG util.py:445: pipewire-1.0.1-1.el9.x86_64 1705673142 359327 607aadb93c4ed206c4d13fd17b5ca09e installed DEBUG util.py:445: wireplumber-libs-0.4.14-1.el9.x86_64 1682343168 1220418 593e6aaf8906d28345fe25ec64f9b9a1 installed DEBUG util.py:445: wireplumber-0.4.14-1.el9.x86_64 1682343168 308626 e9315bacca4d3ae75d806b77e7582527 installed DEBUG util.py:445: flatpak-1.12.8-1.el9.x86_64 1689072281 8053367 541498f2744494c5b02c8e32fb3dd876 installed DEBUG util.py:445: xdg-desktop-portal-1.12.6-1.el9.x86_64 1699963919 1883764 bbf816d41fbabbd44a4eea51ad404ae7 installed DEBUG util.py:445: pipewire-jack-audio-connection-kit-libs-1.0.1-1.el9.x86_64 1705673142 560698 692072d1a58d30d570477641978fd74c 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.22.1-2.el9.x86_64 1705507579 7616992 2ee966ef0933b9b5e0069a408f2fa912 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-4.el9.x86_64 1701359312 4190339 60edfa1ab3772326332ee70f85ce3e53 installed DEBUG util.py:445: libcanberra-gtk3-0.30-27.el9.x86_64 1689255812 75947 86b031874e946aa4b4829a212b67c518 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-27.el9.x86_64 1689255812 55309 0bfcab1394282c6333cfbe9a94c99451 installed DEBUG util.py:445: graphviz-2.44.0-26.el9.x86_64 1701791988 12241992 ac92ed85ce249cf6357d446654150ea2 installed DEBUG util.py:445: ImageMagick-libs-0:6.9.12.98-1.el9s.x86_64 1696919402 8620244 987de17b924501a81809548e2dc7da63 installed DEBUG util.py:445: ImageMagick-0:6.9.12.98-1.el9s.x86_64 1696919402 243376 2b7502e96f91b06fae805336acda9e6d installed DEBUG util.py:445: python3-sphinx-1:3.4.3-8.el9.noarch 1701344504 10064068 7b60f0027d72365144fc141f3aca9bf4 installed DEBUG util.py:445: pipewire-jack-audio-connection-kit-1.0.1-1.el9.x86_64 1705673142 30 bcaced6ec1cd7b1965950220c813922d installed DEBUG util.py:445: pipewire-alsa-1.0.1-1.el9.x86_64 1705673142 177582 8ff6a7c1db400b4dd72a866b719676ae installed DEBUG util.py:445: pipewire-pulseaudio-1.0.1-1.el9.x86_64 1705673142 437665 23808d3f3b9e7c13defb7f4d9baf2dd6 installed DEBUG util.py:445: python3-devel-3.9.18-3.el9.x86_64 1706293315 782057 9b7b3ab0706c80b89311c1781371db7a installed DEBUG util.py:445: python3-pbr-5.6.0-1.el9s.noarch 1631107602 246074 13ac7177f9a3cdab08566e57515804fe 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.31.1-1.el9s.noarch 1631103050 2580967 0100b1a284ad30b7adecd6c08334502e 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.20230216203407.ce6a105.el9.noarch 1676580135 45488 1c6dcba0c6c17f0683ab1edcc583eb62 installed DEBUG util.py:445: libuuid-2.37.4-18.el9.x86_64 1707414747 38109 4e0e3ddd0dc64a478fbb117ca1c5f219 installed DEBUG util.py:445: libblkid-2.37.4-18.el9.x86_64 1707414747 229849 8cfda00d8e84a88a7cf64f8ce44abf58 installed DEBUG util.py:445: libmount-2.37.4-18.el9.x86_64 1707414747 318453 c78d79e5b2dfd293c72d6e368191756c installed DEBUG util.py:445: libfdisk-2.37.4-18.el9.x86_64 1707414747 367883 f8855f86f8abbefa01fd057dcfbd3cc7 installed DEBUG util.py:445: mesa-libglapi-23.3.3-1.el9.x86_64 1705497224 221880 bae0acd738d028da90fd16f9676b1539 installed DEBUG util.py:445: libsmartcols-2.37.4-18.el9.x86_64 1707414747 134899 f6f6e7e8a5109cbcc6baf90066f7dce0 installed DEBUG util.py:445: util-linux-core-2.37.4-18.el9.x86_64 1707414747 1268263 04e54edba5e55f2bede77cc866efbbbb installed DEBUG util.py:445: glib2-2.68.4-14.el9.x86_64 1708527819 13441007 d00b34d69cbd89e37e704fce0fba1917 installed DEBUG util.py:445: pam-1.5.1-19.el9.x86_64 1707742619 1901178 e1bfb967aa055917fa2eabc2742af631 installed DEBUG util.py:445: util-linux-2.37.4-18.el9.x86_64 1707414747 11161169 9757decc361c218bf9c01748352d2891 installed DEBUG util.py:445: binutils-gold-2.35.2-43.el9.x86_64 1706184940 2128699 dc72e73af276e85066648d6ca42970cf installed DEBUG util.py:445: binutils-2.35.2-43.el9.x86_64 1706184940 25207237 d289621ca1fc6ef5e63fa2733a57b56b installed DEBUG util.py:445: mesa-libgbm-23.3.3-1.el9.x86_64 1705497224 70700 28f78ed1f593134abd6442e9401fbf31 installed DEBUG util.py:445: pcre2-syntax-10.40-5.el9.noarch 1708199492 234324 08e9141ac69b635d14e665de7ff2f843 installed DEBUG util.py:445: pcre2-10.40-5.el9.x86_64 1708199482 652298 9f3a26797e21bd1d7b9f9a7b7abee780 installed DEBUG util.py:445: libssh-config-0.10.4-13.el9.noarch 1708363378 277 5605f4240d6ed111340ef0be4b55fd71 installed DEBUG util.py:445: libssh-0.10.4-13.el9.x86_64 1708363436 535899 b02ff39361e3fb9a444260b10e181891 installed DEBUG util.py:445: mesa-libEGL-23.3.3-1.el9.x86_64 1705497224 310775 57c9a2e4cd495b9664701060f13e089c installed DEBUG util.py:445: mesa-libGL-23.3.3-1.el9.x86_64 1705497224 480857 10b4003d3ca5f52ffcb56b63165f3363 installed DEBUG util.py:445: setup-2.13.7-10.el9.noarch 1707295246 725932 fd3173da9bafb6e1d6afffea47d55a3f installed DEBUG util.py:445: hwdata-0.348-9.13.el9.noarch 1708340382 9498621 121e6516ade3724afaa5435928537a52 installed DEBUG util.py:445: fuse-common-3.10.2-8.el9.x86_64 1707334230 38 ed77f0865bed45d4096f0902a9bf53b3 installed DEBUG util.py:445: file-libs-5.39-16.el9.x86_64 1701276394 8086748 8aa56edc919434f49112430700256021 installed DEBUG util.py:445: file-5.39-16.el9.x86_64 1701276394 102728 0e2e1cff99a9714823cb5f40f07bf4f3 installed DEBUG util.py:445: cups-libs-1:2.3.3op2-24.el9.x86_64 1708959289 682393 96d54a60dcea05644bcb7a0297b554fd installed DEBUG util.py:445: libcurl-7.76.1-29.el9.x86_64 1709765563 667638 e3016019f9c5035e9e5dacd99eade32e installed DEBUG util.py:445: curl-7.76.1-29.el9.x86_64 1709765563 684689 847007a0a0708c9bffdd41aeccfa4d69 installed DEBUG util.py:445: tzdata-2024a-2.el9.noarch 1710443975 1707934 4a1f0fec3a9b8b628c6ea050b3be5e92 installed DEBUG util.py:445: less-590-3.el9.x86_64 1709642757 365240 0f838671fdd1e45839447d979b934b9c installed DEBUG util.py:445: openldap-2.6.6-3.el9.x86_64 1707509085 1084524 fff9411b1ffff274e6a7852f0a1f0c99 installed DEBUG util.py:445: ostree-libs-2024.5-2.el9.x86_64 1710528046 1230846 2548d6f5c2476b06f8fb61f849685476 installed DEBUG util.py:445: expat-2.5.0-2.el9.x86_64 1710941638 309434 84658e2e8e78b1348f7fabf2b484b0d4 installed DEBUG util.py:445: libpciaccess-0.16-7.el9.x86_64 1710934775 49451 245fe7637ad4840fefd299881500def1 installed DEBUG util.py:445: perl-Scalar-List-Utils-4:1.56-462.el9.x86_64 1711036238 143128 d1a7c9b708d7a64e63cd365c3603e604 installed DEBUG util.py:445: crypto-policies-20240304-1.gitb1c706d.el9.noarch 1709752404 86196 edfdbd24c89002ca4238aa027177c1b0 installed DEBUG util.py:445: bash-5.1.8-9.el9.x86_64 1708011409 7738778 681f5fc99cb4c0027cc7dd860547dd4c installed DEBUG util.py:445: crypto-policies-scripts-20240304-1.gitb1c706d.el9.noarch 1709752404 240714 32d7b969f8a454059117c4bd65197732 installed DEBUG util.py:445: python3-pip-21.3.1-1.el9.noarch 1711479877 9189701 cb84f7a3b54d721b47851813ae14248e installed DEBUG util.py:445: python3-pip-wheel-21.3.1-1.el9.noarch 1711479877 1232785 de13bdae4eecc1bcef2b53e631acb1c4 installed DEBUG util.py:445: bubblewrap-0.4.1-7.el9.x86_64 1711139195 103849 dd963eaa9cf8c1a36e28803ce1caef01 installed DEBUG util.py:445: glibc-common-2.34-105.el9.x86_64 1712597945 1083801 1ae0d53c72443ef778ba39eddce2a31a installed DEBUG util.py:445: glibc-gconv-extra-2.34-105.el9.x86_64 1712597945 8157140 2ca986fe76bca0376a251b31a5489d2c installed DEBUG util.py:445: glibc-minimal-langpack-2.34-105.el9.x86_64 1712597945 0 b615ff956e98a45a49aa74693498630a installed DEBUG util.py:445: glibc-2.34-105.el9.x86_64 1712597945 6456811 6d64d0cae6aed3ca23939ed920df93ab installed DEBUG util.py:445: glibc-headers-2.34-105.el9.x86_64 1712597945 2169109 b6cabdf91f3383cc493a3bbc7b02ecd3 installed DEBUG util.py:445: glibc-devel-2.34-105.el9.x86_64 1712597945 38176 356111e2e29eeef0dd8e1c723b792dc3 installed DEBUG util.py:445: nspr-4.35.0-7.el9.x86_64 1712781960 321304 673348b7b287f87b321ef354ce377e28 installed DEBUG util.py:445: nss-util-3.90.0-7.el9.x86_64 1712781960 229848 47a11575846fe13eef9bfb7c32f24dad installed DEBUG util.py:445: openssl-libs-1:3.2.1-1.el9.x86_64 1713193766 8779002 836cfba8fbebc1b90f78c77aee64de7a installed DEBUG util.py:445: nss-softokn-freebl-3.90.0-7.el9.x86_64 1712781960 827590 3c2ea1cac9f13a47cdfb8b32b44486c4 installed DEBUG util.py:445: nss-softokn-3.90.0-7.el9.x86_64 1712781960 1294667 2cdee51527f87e90f219f15bb8c2e6c7 installed DEBUG util.py:445: nss-3.90.0-7.el9.x86_64 1712781960 1931691 27083ac6a6f537678c9d15560870cf7f installed DEBUG util.py:445: nss-sysinit-3.90.0-7.el9.x86_64 1712781960 18287 285042bbc8c49eee2fda83b00aa711bc installed DEBUG util.py:445: krb5-libs-1.21.1-2.el9.x86_64 1712136684 2499983 84ff6113ad160266b6642512b15e7ada installed DEBUG util.py:445: openssl-1:3.2.1-1.el9.x86_64 1713193766 2083830 c5f1674556fc7d78a910067ad178545f installed DEBUG util.py:445: libeconf-0.4.1-4.el9.x86_64 1713168417 45811 9cb3d29c1594cf384a53e582916bac7e installed DEBUG util.py:445: pcre-8.44-4.el9.x86_64 1713357639 537728 b1ea83d87fcb8d3d5586d59af686cd44 installed DEBUG util.py:445: gdbm-libs-1:1.23-1.el9.x86_64 1712672345 128586 b9b3a18b49984ae02961c57d5847b88c installed DEBUG util.py:445: systemd-libs-252-33.el9.x86_64 1714142563 1802792 4e89377ea5ac74537f6af993c6f1b3f8 installed DEBUG util.py:445: python3-libselinux-3.6-1.el9.x86_64 1702538075 623063 a3e1711022925a05ded1fdd426891375 installed DEBUG util.py:445: libselinux-utils-3.6-1.el9.x86_64 1702538075 422915 a5069a4557f8d1a5369ab26001695202 installed DEBUG util.py:445: policycoreutils-3.6-2.1.el9.x86_64 1708381839 724447 352e396fea06c001e3df931cc0e8fa12 installed DEBUG util.py:445: python3-libsemanage-3.6-1.el9.x86_64 1702541748 424939 6ec58b2cd0aada6de4193a49041a4aa5 installed DEBUG util.py:445: systemd-rpm-macros-252-33.el9.noarch 1714142555 9516 dca72cb7fe59bf0bbe904c69eb461d13 installed DEBUG util.py:445: gnutls-3.8.3-4.el9.x86_64 1712301323 3448627 8ed3914ae65a510a4ebd2f22210c40ba installed DEBUG util.py:445: centos-gpg-keys-9.0-26.el9.noarch 1710957528 6047 c1a88474b7d1c126c8d0e341f1c3984c installed DEBUG util.py:445: centos-stream-repos-9.0-26.el9.noarch 1710957528 6854 46af9dec99c17573b2ee5faf8f0f1448 installed DEBUG util.py:445: python3-setools-4.4.4-1.el9.x86_64 1702390666 2400630 4cb6088e9b2c1184c1a5893fc5826649 installed DEBUG util.py:445: python3-distro-1.5.0-7.el9.noarch 1628567138 156738 71d33969fdea8f33f532ad7d89f2363e installed DEBUG util.py:445: python3-audit-3.1.2-2.el9.x86_64 1699438289 348238 76614d53e27ba530e8400b5aaba4a7e6 installed DEBUG util.py:445: checkpolicy-3.6-1.el9.x86_64 1702544975 1548206 f2635b0cb6b7d94c460cdbccc6304245 installed DEBUG util.py:445: python3-policycoreutils-3.6-2.1.el9.noarch 1708381855 5611343 482e2124061bea1e1e0ea697f3dcb1f0 installed DEBUG util.py:445: policycoreutils-python-utils-3.6-2.1.el9.noarch 1708381855 120038 6f8bb68c83bc7f6aeb269807385eaeb9 installed DEBUG util.py:445: systemd-pam-252-33.el9.x86_64 1714142563 518435 66e187107fbd13f0833dc83e3d7bd7ce installed DEBUG util.py:445: systemd-252-33.el9.x86_64 1714142563 12810054 2fa5232fd025e1ff6c1211a82c36129e installed DEBUG util.py:445: systemd-udev-252-33.el9.x86_64 1714142563 10500661 ba3546a56680e9b1f1b225c59a957496 installed DEBUG util.py:445: centos-stream-release-9.0-26.el9.noarch 1710957528 30255 a98a9c5da68e0be2e29c63bdcbbba158 installed DEBUG util.py:445: libappstream-glib-0.7.18-5.el9.x86_64 1714124815 1420392 5dcb4ad7d78ca66828abccfde8b32a88 installed DEBUG util.py:445: python3-idna-2.10-7.el9.1.noarch 1714045925 525633 302392bf155d99a5c6e49572bf1aede8 installed DEBUG util.py:445: libxml2-2.9.13-6.el9.x86_64 1714382398 1955820 3de283ea1951ca5218a9d4b1318abb47 installed DEBUG util.py:445: webkit2gtk3-jsc-2.44.1-1.el9.x86_64 1712936506 14958424 7fffca385ab0c31cec562e98ed397387 installed DEBUG util.py:445: kernel-headers-5.14.0-446.el9.x86_64 1714751077 6174760 c813df4bd0d2ea232921afbb15085f5a installed DEBUG util.py:445: NetworkManager-libnm-1:1.47.90-1.el9.x86_64 1714993318 9845781 837cde6f6ebe97d101aaeb33f950ff61 installed DEBUG util.py:445: python3-stevedore-3.4.2-0.20221021074429.1c12706.el9.noarch 1666338585 260152 5dc1ff867511db8a99d1f806621e97a7 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-0.1.13-4.el9s.noarch 1631578321 49277 9344f36b02defacbeed580874e53c2cb 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-simplejson-3.17.5-1.el9s.x86_64 1633952871 1044046 e442f3abf1c30c7a412fb557ffff17c2 installed DEBUG util.py:445: python3-pyOpenSSL-20.0.1-2.el9s.noarch 1630998538 392321 aac3981c7120cbee8ccd6ef6afc87943 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-7.el9.noarch 1691366393 737286 ce4e3e436deb6c1198d3ebffc1c79ffe installed DEBUG util.py:445: python3-futurist-2.4.0-0.20211117191509.d70c7e5.el9.noarch 1637176594 218917 b722581ab0a81fc041c0d1b0dce30be0 installed DEBUG util.py:445: python3-os-service-types-1.7.0-0.20220222075507.0b2f473.el9.noarch 1645516630 105585 16ac3ef8e5b0f551bad90dbecdbc2e9f installed DEBUG util.py:445: python3-keystoneauth1-4.4.0-0.20240201063748.112bcae.el9.noarch 1706769567 2036352 13449ab717b495aeda8f9d41368e5a9d installed DEBUG util.py:445: python3-alembic-1.7.5-3.el9.noarch 1655505320 5891248 99275c7ac2b5097e6e77c8548a70459a installed DEBUG util.py:445: python3-dogpile-cache-1.1.5-1.el9s.noarch 1646143086 425658 234efc7f9a027568941e24d51c75b0f0 installed DEBUG util.py:445: python3-wrapt-1.12.1-4.el9s.x86_64 1630940024 170501 26f7e60d8fd5ecd8ffbb22f3eb96b808 installed DEBUG util.py:445: python3-debtcollector-2.3.0-0.20211117180744.0bf5bf5.el9.noarch 1637172648 78334 d8ab1a3e9e52c28b8b869b885683bdbf installed DEBUG util.py:445: python3-oslo-context-3.3.2-0.20211117204246.7187c67.el9.noarch 1637181989 52716 6bc749490e8efdf7826ad6d7fc1f0fff installed DEBUG util.py:445: python3-voluptuous-0.12.1-2.el9s.noarch 1630939299 292182 22ea6c04e8657cc4c36fe38685ccfcb4 installed DEBUG util.py:445: python3-vine-5.0.0-3.el9s.noarch 1631094537 48273 b2fbeaa2f25d54cd1c7d7ed7a4e1fc23 installed DEBUG util.py:445: python3-amqp-5.0.6-1.el9s.noarch 1631095857 385529 00dece18f7ef1978760fccddb5b948a8 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-paste-3.5.0-3.el9s.noarch 1631150163 2676072 ef69984ed7c0697d5676d6c3c3360b4f installed DEBUG util.py:445: python3-msgpack-1.0.2-2.el9s.x86_64 1630942402 276536 d5fd34adbd5a90c6a9146cde555136c6 installed DEBUG util.py:445: python3-jeepney-0.7.1-1.el9s.noarch 1633970657 1832099 e881d7dca1a702872ee5a8202aa6ebd3 installed DEBUG util.py:445: python3-fasteners-0.14.1-24.el9s.noarch 1631005982 114364 9e55613cb8cd2680a2a7b278a04136bf 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-22.el9s.noarch 1631002165 337378 c571796ff7ad170c12337e1028869897 installed DEBUG util.py:445: python3-testtools-2.5.0-2.el9s.noarch 1634037703 1546855 fefaff5877f0961ba0841a02a6769287 installed DEBUG util.py:445: python3-subunit-1.4.0-6.el9s.noarch 1631297515 330523 fd85a795691063c7decfb0a6360815ea installed DEBUG util.py:445: python3-bcrypt-3.1.7-7.el9s.x86_64 1630937123 86467 740c73d22a45432d0645bbd4b7337e98 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-oslotest-4.5.0-0.20211117192626.d4b1896.el9.noarch 1637177309 123232 5f087309667e0ecb2d435b37506c78c8 installed DEBUG util.py:445: python3-testscenarios-0.5.0-21.el9s.noarch 1631031198 105944 caea093dfebb12f3f758c14c092fd384 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-paste-deploy-2.1.1-2.el9s.noarch 1630941117 107242 8d7df0b1275668ac41219a3fd403791c installed DEBUG util.py:445: python3-kombu-1:5.1.0-3.el9s.noarch 1634100459 1369357 efc7cd0e43ba097e3496ff417c852d91 installed DEBUG util.py:445: python3-etcd3gw-1.0.0-2.el9s.noarch 1634037146 113216 aff7ed70d94b2b63929ca9155cc3e206 installed DEBUG util.py:445: python3-sushy-3.12.6-0.20230120101535.e71373c.el9.noarch 1674209861 870636 1b32b833b12aa91e5d00cb21d4132f9e installed DEBUG util.py:445: python3-pyghmi-1.5.34-2.el9.noarch 1645645879 1618534 76a72facb66987f157fbae619bc7aeaf 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-yappi-1.3.1-2.el9s.x86_64 1631141009 157112 aeb2425306b6649e4d737d636cbed558 installed DEBUG util.py:445: python3-waitress-1.4.4-3.el9s.noarch 1631149843 290802 3c18948d44bab910aafd5515b92a0336 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.1-1.el9s.noarch 1630939779 269813 249d9a314e4e99ec01e8582eb165e623 installed DEBUG util.py:445: python3-migrate-0.13.0-5.el9s.noarch 1631152149 764282 63dfb5d34e9879e24171fffca18acddd installed DEBUG util.py:445: python3-soupsieve-2.2.1-2.el9s.noarch 1633954954 218662 7c73afcd7a649f6795c56b6e837637d6 installed DEBUG util.py:445: python3-beautifulsoup4-4.9.3-2.el9s.noarch 1631303627 1024346 ec5fe10c9a2b0208085caa26e945768a installed DEBUG util.py:445: python3-lxml-4.6.5-3.el9.x86_64 1659472653 4351883 71896f55627f364b81b4f83b160676d3 installed DEBUG util.py:445: python3-webtest-2.0.35-6.el9s.noarch 1631149505 298060 c7f73c8776f793363eee3b15a2681840 installed DEBUG util.py:445: python3-smi-0.3.4-10.el9s.noarch 1631009404 532194 6199580c942a48d74da21a7894c09ddd installed DEBUG util.py:445: python3-rfc3986-1.4.0-5.el9s.noarch 1630943875 178813 be67b939022f450e3b7bd3f997d36e31 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-redis-3.5.3-2.el9s.noarch 1630950927 582106 e6f3ef927a919c47fe9db93d59f2608e 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.29.0-1.el9s.noarch 1631032601 533886 e028c13276ad4d1c5370b983e8ea448e 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-colorama-0.4.4-2.el9s.noarch 1630936017 82369 b8dd803639043b90c99f03ee7d646a6a installed DEBUG util.py:445: python3-cachetools-4.2.2-1.el9s.noarch 1630940136 80196 9031890ede26dac2a4017fbf7fb0dac7 installed DEBUG util.py:445: python3-autopage-0.4.0-1.el9s.noarch 1631771080 119842 fe8f7da077423dd9549ebb1bc19f0c26 installed DEBUG util.py:445: libsodium-1.0.18-7.el9s.x86_64 1631099292 363811 c5e5aece8e9b7d89bb43b3c6e4c2b06b installed DEBUG util.py:445: python3-pynacl-1.4.0-2.el9s.x86_64 1631298521 545661 c077291383a216a938fd4734aaf98426 installed DEBUG util.py:445: zlib-devel-1.2.11-41.el9.x86_64 1698657353 141092 80c434fd1f867ad0fe46055ad348e052 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.1.2-1.el9s.noarch 1634201913 1294649 54f6c89077fe4d293a85349ab80b1d1d 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: python3-PyMySQL-0.10.1-6.el9.noarch 1645461972 340048 13d68a8a9e993a7bc42d3a2afa52aa2e installed DEBUG util.py:445: libpq-13.11-1.el9.x86_64 1685448420 739553 68d08209bc9cc5ae3d7ad0ceeeae5730 installed DEBUG util.py:445: python3-psycopg2-2.8.6-6.el9.x86_64 1645006630 619683 d704674bede229ec8ba26fa6ded86db8 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-13.el9.x86_64 1691058138 32064 b29109c0c2a0dfec3d3718ad68bb6c7f installed DEBUG util.py:445: cmake-filesystem-3.26.5-2.el9.x86_64 1699019480 0 e67939fc081ade3f27991067fad5660d installed DEBUG util.py:445: libxml2-devel-2.9.13-6.el9.x86_64 1714382398 9264370 8b6fd1f784c6672b098d0f494051b997 installed DEBUG util.py:445: python3-inotify-0.9.6-25.el9.noarch 1628567226 249451 615b4784a08036c22c78686014bc79fe 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-3.9.0-0.20211117182955.734bc0c.el9.noarch 1637173900 279048 9d3b433e254d8ba222b558eaee45d030 installed DEBUG util.py:445: python3-requestsexceptions-1.4.0-0.20220222075317.d7ac0ff.el9.noarch 1645516487 16693 1595eb76138e85deae1dd7d391c1dbdc installed DEBUG util.py:445: python3-openstacksdk-0.59.0-0.20211117194915.d0d4d8b.el9.noarch 1637178718 4356481 a0d99fd8aa723ac70fe1161f2356d4c6 installed DEBUG util.py:445: python3-os-client-config-2.1.0-0.20220223091828.bc96c23.el9.noarch 1645608013 200469 6845000c00e2276e62606f0523aa1369 installed DEBUG util.py:445: python-pycadf-common-3.1.1-0.20211117213327.4179996.el9.noarch 1637184895 17480 e401e73175020c8aa88675078f610481 installed DEBUG util.py:445: python-oslo-versionedobjects-lang-2.5.0-0.20211117221900.a85275f.el9.noarch 1637187631 14691 beda4f34421cef8f19b37916d6110af9 installed DEBUG util.py:445: python-oslo-utils-lang-4.10.2-0.20220513072911.90a5046.el9.noarch 1652427132 15675 9aac19323c0eaa64d1b94dba1d7f20f7 installed DEBUG util.py:445: python-oslo-policy-lang-3.8.3-0.20211117210910.ff2a39f.el9.noarch 1637183438 14081 837c51dd263c83a777add968c22e56eb installed DEBUG util.py:445: python-oslo-middleware-lang-4.4.0-0.20211117211553.da7987c.el9.noarch 1637183917 11821 3344f22e170fd2746e7222f9f018994d installed DEBUG util.py:445: python-oslo-log-lang-4.6.0-0.20211117204802.41c8807.el9.noarch 1637182300 17101 4ea6ebc9c4b344857b662a41dbd6f66c installed DEBUG util.py:445: python-oslo-i18n-lang-5.1.0-0.20211117181855.b031d17.el9.noarch 1637173269 16174 59ed41247aeb7bff9db81267886c3853 installed DEBUG util.py:445: python3-oslo-i18n-5.1.0-0.20211117181855.b031d17.el9.noarch 1637173269 179177 a4d058d9364794f74a02fe5593a2936b installed DEBUG util.py:445: python3-oslo-utils-4.10.2-0.20220513072911.90a5046.el9.noarch 1652427132 266064 c2b5c2122d1b6897dfbd037febca0c0b installed DEBUG util.py:445: python3-oslo-config-2:8.7.1-0.20211122091811.1a7bd66.el9.noarch 1637572771 1153009 6acca3be774ff7640036b081a1cf5def installed DEBUG util.py:445: python3-oslo-serialization-4.2.0-0.20211117200938.2b94a4f.el9.noarch 1637179993 75678 7f147b116bc42eed49bda15f0c5d1b09 installed DEBUG util.py:445: python3-oslo-log-4.6.0-0.20211117204802.41c8807.el9.noarch 1637182300 166796 acfef26f145561572ad2c07ddaffe76a installed DEBUG util.py:445: python3-keystoneclient-1:4.3.0-0.20220713075914.d5cb761.el9.noarch 1657699390 1184074 d814127eaa4e7a7ffc7a68d669ef18d4 installed DEBUG util.py:445: python3-oslo-metrics-0.3.1-0.20220214085829.b904335.el9.noarch 1644829244 35206 c25d6feefffad3c12444231e8cb4bc3a installed DEBUG util.py:445: python3-oslo-policy-3.8.3-0.20211117210910.ff2a39f.el9.noarch 1637183438 255300 944427d1f7aced399bad25610874b31d installed DEBUG util.py:445: python3-pycadf-3.1.1-0.20211117213327.4179996.el9.noarch 1637184895 152208 befd634c8a3888e727c7135f06f664d9 installed DEBUG util.py:445: python3-oslo-middleware-4.4.0-0.20211117211553.da7987c.el9.noarch 1637183917 172509 932b4582831e26f0066b8c32e8167bfa installed DEBUG util.py:445: python3-osc-lib-2.4.2-0.20211117200543.415a6c7.el9.noarch 1637179738 242396 42e4c249c28ba5fa9c274d61d6322685 installed DEBUG util.py:445: python-oslo-db-lang-11.0.0-0.20211117214750.75661fb.el9.noarch 1637185786 17156 97d3d87699c4068793ac7b89e9eb5c9a installed DEBUG util.py:445: python3-oslo-db-11.0.0-0.20211117214750.75661fb.el9.noarch 1637185786 583387 4fac690de338564c211bf1982958bef8 installed DEBUG util.py:445: python-oslo-concurrency-lang-4.4.1-0.20211117205442.8e08400.el9.noarch 1637182699 18833 acf6d62f2df69509562f7b3120e24745 installed DEBUG util.py:445: python3-oslo-concurrency-4.4.1-0.20211117205442.8e08400.el9.noarch 1637182699 108362 7b1aa0eb1245b65a6ff9ca6207381f83 installed DEBUG util.py:445: python3-oslo-service-2.6.2-0.20220513142338.03d4fdd.el9.noarch 1652451972 226879 bcdf925c248ffde9f6159cc3ecb792d1 installed DEBUG util.py:445: python3-oslo-messaging-12.9.4-0.20220627084903.49ec24c.el9.noarch 1656319926 976059 6443a23bffb80081b83e542be855c6ca installed DEBUG util.py:445: python-oslo-cache-lang-2.8.2-0.20220318083438.55cb199.el9.noarch 1647592583 28465 e132abed00296b3f1d47b83756e3194e installed DEBUG util.py:445: python3-oslo-cache-2.8.2-0.20220318083438.55cb199.el9.noarch 1647592583 163563 1711080bd15aaea0fc850d2e4a04510e installed DEBUG util.py:445: python3-keystonemiddleware-9.3.0-0.20211117213925.90df936.el9.noarch 1637185362 290239 4aca3462386752054a7ec8a1c8b3078d installed DEBUG util.py:445: python3-oslo-versionedobjects-2.5.0-0.20211117221900.a85275f.el9.noarch 1637187631 273187 3ff499628802b0b675b9f070ec3851c3 installed DEBUG util.py:445: python3-osprofiler-3.4.2-0.20211117224047.e475de6.el9.noarch 1637189002 473162 e62aa30203b1417002a37c57eda8487f installed DEBUG util.py:445: python3-ironic-lib-5.0.1-0.20211125144845.b19124e.el9.noarch 1637851864 606084 909aacf3e145594caea508916fac5280 installed DEBUG util.py:445: python3-proliantutils-2.9.4-0.20211118003601.5bc7569.el9.noarch 1637195915 1411802 67534379a2b6bc1a9eb864ec58ba17f6 installed DEBUG util.py:445: python3-oslo-db-tests-11.0.0-0.20211117214750.75661fb.el9.noarch 1637185786 764350 ac9e69571952776d79cda13dc602f65e installed DEBUG util.py:445: python3-neutronclient-7.6.0-0.20211117215407.983f0ab.el9.noarch 1637186160 1468900 1182c91b3f6e06d298852a862520c058 installed DEBUG util.py:445: python3-oslo-upgradecheck-1.4.0-0.20211117215732.3ca8698.el9.noarch 1637186369 48814 0738813215664e8adbcbeb801d4770a1 installed DEBUG util.py:445: python3-swiftclient-3.12.0-0.20211117201905.38c435f.el9.noarch 1637180501 618843 848e7cee08d4d3901087608996226941 installed DEBUG util.py:445: python3-scciclient-0.11.4-0.20220729095352.7c22357.el9.noarch 1659088899 748309 fa49bd39f8c0ab084882cd7d88f6d3a1 installed DEBUG util.py:445: python3-oslo-reports-2.3.0-0.20211117214408.f2799dc.el9.noarch 1637185602 160286 607d9fd3289f867b5736324dfa60685f installed DEBUG util.py:445: python3-tooz-2.9.0-0.20211117211911.174065f.el9.noarch 1637184093 436919 c20eaa904771fbb2d24ef99202fcc1c8 installed DEBUG util.py:445: python3-cinderclient-8.1.0-0.20211117215955.fab6ddf.el9.noarch 1637186584 971633 003f0562a1c2503049952af9a13d0124 installed DEBUG util.py:445: python3-glanceclient-1:3.5.0-0.20211117195751.74a55bd.el9.noarch 1637179184 554848 54f040baf1cd8cf1cf6028fa49c63a7d installed DEBUG util.py:445: python3-stestr-2.6.0-8.el9s.noarch 1631545693 656237 9c85cbc27508946a68f2ed7779706597 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-13.el9.x86_64 1691058138 358975 3b6b58396ecc62bf6497d4772e6add20 installed DEBUG util.py:445: python3-pecan-1.4.0-2.el9s.noarch 1630938405 1381848 b0b7136de57b9db88b7ab1bee7af3067 installed DEBUG util.py:445: python3-dracclient-7.0.1-0.20220113135335.382ba1c.el9.noarch 1642082197 2085590 6d5bbc089bafeca7b9e4f273b43a7f80 installed DEBUG util.py:445: python3-automaton-2.4.0-0.20211117224632.0461d8e.el9.noarch 1637189375 119370 c075299db5e8b2d355220d005a655b0f installed DEBUG util.py:445: python3-mock-3.0.5-14.el9s.noarch 1630943436 159389 fea30d20b81f250b3b874beb6013feb1 installed DEBUG util.py:445: python3-ddt-1.4.2-3.el9s.noarch 1630925540 25055 e68ea6053ded581094d090b59e42614c 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.2.1-1.el9.x86_64 1713193766 5171604 4a161fb2fdab2ab1f04dab50a5e29310 installed DEBUG util.py:445: python3-oslo-rootwrap-6.3.1-0.20220228092836.1b1b960.el9.noarch 1646040645 106817 a1c08ecaaae8570af44c788826ea4884 installed DEBUG util.py:445: python3-os-traits-2.6.0-0.20211118001148.c323982.el9.noarch 1637194441 77186 736fe5df58056c196441f83a347b3cba 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-xena-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=1027gid=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.3rI8pJ 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-18.3.1.dev11 DEBUG util.py:445: + /usr/bin/gzip -dc /builddir/build/SOURCES/ironic-18.3.1.dev11-0.20240514115031.96d2c3c.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-18.3.1.dev11 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.g2hPny DEBUG util.py:445: + umask 022 DEBUG util.py:445: + cd /builddir/build/BUILD DEBUG util.py:445: + cd ironic-18.3.1.dev11 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/tests DEBUG util.py:445: creating build/lib/ironic/tests/unit 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/__init__.py -> build/lib/ironic/tests/unit/dhcp 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/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: 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: 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/tests/unit/drivers DEBUG util.py:445: creating build/lib/ironic/tests/unit/drivers/modules DEBUG util.py:445: creating build/lib/ironic/tests/unit/drivers/modules/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: 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/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/db 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: creating build/lib/ironic/api 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/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/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/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: 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/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/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/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/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_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: 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/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: 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: 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/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/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/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/tests/unit/api DEBUG util.py:445: creating build/lib/ironic/tests/unit/api/controllers DEBUG util.py:445: creating build/lib/ironic/tests/unit/api/controllers/v1 DEBUG util.py:445: copying ironic/tests/unit/api/controllers/v1/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/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/common 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/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: 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: 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/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: 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: 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/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/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/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/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/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/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/packaging_version.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/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/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: 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/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/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: 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: 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: 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/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/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/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/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/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/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/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/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: 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/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/drivers/modules/agent_config.template -> build/lib/ironic/drivers/modules DEBUG util.py:445: copying ironic/drivers/modules/boot.ipxe -> build/lib/ironic/drivers/modules DEBUG util.py:445: copying ironic/drivers/modules/ipxe_config.template -> build/lib/ironic/drivers/modules DEBUG util.py:445: copying ironic/drivers/modules/ks.cfg.template -> build/lib/ironic/drivers/modules DEBUG util.py:445: copying ironic/drivers/modules/master_grub_cfg.txt -> build/lib/ironic/drivers/modules DEBUG util.py:445: copying ironic/drivers/modules/pxe_config.template -> build/lib/ironic/drivers/modules DEBUG util.py:445: copying ironic/drivers/modules/pxe_grub_config.template -> build/lib/ironic/drivers/modules DEBUG util.py:445: 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/drivers/modules/irmc/fake_sensors_data_ng.xml -> build/lib/ironic/tests/unit/drivers/modules/irmc DEBUG util.py:445: copying ironic/tests/unit/drivers/modules/irmc/fake_sensors_data_ok.xml -> build/lib/ironic/tests/unit/drivers/modules/irmc DEBUG util.py:445: copying ironic/ironic.sqlite-shm -> build/lib/ironic DEBUG util.py:445: copying ironic/ironic.sqlite-wal -> build/lib/ironic DEBUG util.py:445: creating build/lib/ironic/tests/unit/common/json_samples DEBUG util.py:445: copying ironic/tests/unit/common/json_samples/neutron_network_show.json -> build/lib/ironic/tests/unit/common/json_samples DEBUG util.py:445: copying ironic/tests/unit/common/json_samples/neutron_network_show_ipv6.json -> build/lib/ironic/tests/unit/common/json_samples DEBUG util.py:445: copying ironic/tests/unit/common/json_samples/neutron_port_show.json -> build/lib/ironic/tests/unit/common/json_samples DEBUG util.py:445: copying ironic/tests/unit/common/json_samples/neutron_port_show_ipv6.json -> build/lib/ironic/tests/unit/common/json_samples DEBUG util.py:445: copying ironic/tests/unit/common/json_samples/neutron_subnet_show.json -> build/lib/ironic/tests/unit/common/json_samples DEBUG util.py:445: copying ironic/tests/unit/common/json_samples/neutron_subnet_show_ipv6.json -> build/lib/ironic/tests/unit/common/json_samples DEBUG util.py:445: creating build/lib/ironic/tests/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: copying ironic/tests/unit/drivers/boot.ipxe -> build/lib/ironic/tests/unit/drivers DEBUG util.py:445: copying ironic/tests/unit/drivers/ipxe_config.template -> build/lib/ironic/tests/unit/drivers DEBUG util.py:445: copying ironic/tests/unit/drivers/ipxe_config_boot_from_iso.template -> build/lib/ironic/tests/unit/drivers DEBUG util.py:445: copying ironic/tests/unit/drivers/ipxe_config_boot_from_ramdisk.template -> build/lib/ironic/tests/unit/drivers DEBUG util.py:445: copying ironic/tests/unit/drivers/ipxe_config_boot_from_volume_extra_volume.template -> build/lib/ironic/tests/unit/drivers DEBUG util.py:445: copying ironic/tests/unit/drivers/ipxe_config_boot_from_volume_multipath.template -> build/lib/ironic/tests/unit/drivers DEBUG util.py:445: copying ironic/tests/unit/drivers/ipxe_config_boot_from_volume_no_extra_volumes.template -> build/lib/ironic/tests/unit/drivers DEBUG util.py:445: copying ironic/tests/unit/drivers/ipxe_config_timeout.template -> build/lib/ironic/tests/unit/drivers DEBUG util.py:445: copying ironic/tests/unit/drivers/ks_extra_vars.tmpl -> build/lib/ironic/tests/unit/drivers DEBUG util.py:445: copying ironic/tests/unit/drivers/ks_missing_var.tmpl -> build/lib/ironic/tests/unit/drivers DEBUG util.py:445: copying ironic/tests/unit/drivers/pxe_config.template -> build/lib/ironic/tests/unit/drivers DEBUG util.py:445: copying ironic/tests/unit/drivers/pxe_grub_config.template -> build/lib/ironic/tests/unit/drivers DEBUG util.py:445: 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/common/grub_conf.template -> build/lib/ironic/common DEBUG util.py:445: copying ironic/common/isolinux_config.template -> build/lib/ironic/common DEBUG util.py:445: copying ironic/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: + 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.W5pnil DEBUG util.py:445: + umask 022 DEBUG util.py:445: + cd /builddir/build/BUILD DEBUG util.py:445: + '[' /builddir/build/BUILDROOT/openstack-ironic-18.3.1-0.20240514115031.96d2c3c.el9.x86_64 '!=' / ']' DEBUG util.py:445: + rm -rf /builddir/build/BUILDROOT/openstack-ironic-18.3.1-0.20240514115031.96d2c3c.el9.x86_64 DEBUG util.py:443: ++ dirname /builddir/build/BUILDROOT/openstack-ironic-18.3.1-0.20240514115031.96d2c3c.el9.x86_64 DEBUG util.py:445: + mkdir -p /builddir/build/BUILDROOT DEBUG util.py:445: + mkdir /builddir/build/BUILDROOT/openstack-ironic-18.3.1-0.20240514115031.96d2c3c.el9.x86_64 DEBUG util.py:445: + cd ironic-18.3.1.dev11 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-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.el9.x86_64/usr DEBUG util.py:445: creating /builddir/build/BUILDROOT/openstack-ironic-18.3.1-0.20240514115031.96d2c3c.el9.x86_64/usr/lib DEBUG util.py:445: creating /builddir/build/BUILDROOT/openstack-ironic-18.3.1-0.20240514115031.96d2c3c.el9.x86_64/usr/lib/python3.9 DEBUG util.py:445: creating /builddir/build/BUILDROOT/openstack-ironic-18.3.1-0.20240514115031.96d2c3c.el9.x86_64/usr/lib/python3.9/site-packages DEBUG util.py:445: creating /builddir/build/BUILDROOT/openstack-ironic-18.3.1-0.20240514115031.96d2c3c.el9.x86_64/usr/lib/python3.9/site-packages/ironic DEBUG util.py:445: copying build/lib/ironic/ironic.sqlite-wal -> /builddir/build/BUILDROOT/openstack-ironic-18.3.1-0.20240514115031.96d2c3c.el9.x86_64/usr/lib/python3.9/site-packages/ironic DEBUG util.py:445: copying build/lib/ironic/ironic.sqlite-shm -> /builddir/build/BUILDROOT/openstack-ironic-18.3.1-0.20240514115031.96d2c3c.el9.x86_64/usr/lib/python3.9/site-packages/ironic DEBUG util.py:445: creating /builddir/build/BUILDROOT/openstack-ironic-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.el9.x86_64/usr/lib/python3.9/site-packages/ironic/conf DEBUG util.py:445: creating /builddir/build/BUILDROOT/openstack-ironic-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.el9.x86_64/usr/lib/python3.9/site-packages/ironic/cmd DEBUG util.py:445: creating /builddir/build/BUILDROOT/openstack-ironic-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.el9.x86_64/usr/lib/python3.9/site-packages/ironic/hacking DEBUG util.py:445: creating /builddir/build/BUILDROOT/openstack-ironic-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.el9.x86_64/usr/lib/python3.9/site-packages/ironic/dhcp DEBUG util.py:445: creating /builddir/build/BUILDROOT/openstack-ironic-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.el9.x86_64/usr/lib/python3.9/site-packages/ironic/common DEBUG util.py:445: copying build/lib/ironic/common/__init__.py -> /builddir/build/BUILDROOT/openstack-ironic-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.el9.x86_64/usr/lib/python3.9/site-packages/ironic/common DEBUG util.py:445: creating /builddir/build/BUILDROOT/openstack-ironic-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.el9.x86_64/usr/lib/python3.9/site-packages/ironic/common/glance_service DEBUG util.py:445: creating /builddir/build/BUILDROOT/openstack-ironic-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.el9.x86_64/usr/lib/python3.9/site-packages/ironic/objects DEBUG util.py:445: copying build/lib/ironic/__init__.py -> /builddir/build/BUILDROOT/openstack-ironic-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.el9.x86_64/usr/lib/python3.9/site-packages/ironic DEBUG util.py:445: creating /builddir/build/BUILDROOT/openstack-ironic-18.3.1-0.20240514115031.96d2c3c.el9.x86_64/usr/lib/python3.9/site-packages/ironic/api DEBUG util.py:445: creating /builddir/build/BUILDROOT/openstack-ironic-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.el9.x86_64/usr/lib/python3.9/site-packages/ironic/api/middleware DEBUG util.py:445: creating /builddir/build/BUILDROOT/openstack-ironic-18.3.1-0.20240514115031.96d2c3c.el9.x86_64/usr/lib/python3.9/site-packages/ironic/api/controllers DEBUG util.py:445: creating /builddir/build/BUILDROOT/openstack-ironic-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.el9.x86_64/usr/lib/python3.9/site-packages/ironic/api/controllers DEBUG util.py:445: copying build/lib/ironic/api/__init__.py -> /builddir/build/BUILDROOT/openstack-ironic-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.el9.x86_64/usr/lib/python3.9/site-packages/ironic/api DEBUG util.py:445: creating /builddir/build/BUILDROOT/openstack-ironic-18.3.1-0.20240514115031.96d2c3c.el9.x86_64/usr/lib/python3.9/site-packages/ironic/db DEBUG util.py:445: copying build/lib/ironic/db/__init__.py -> /builddir/build/BUILDROOT/openstack-ironic-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.el9.x86_64/usr/lib/python3.9/site-packages/ironic/db DEBUG util.py:445: creating /builddir/build/BUILDROOT/openstack-ironic-18.3.1-0.20240514115031.96d2c3c.el9.x86_64/usr/lib/python3.9/site-packages/ironic/db/sqlalchemy DEBUG util.py:445: creating /builddir/build/BUILDROOT/openstack-ironic-18.3.1-0.20240514115031.96d2c3c.el9.x86_64/usr/lib/python3.9/site-packages/ironic/db/sqlalchemy/alembic DEBUG util.py:445: creating /builddir/build/BUILDROOT/openstack-ironic-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.el9.x86_64/usr/lib/python3.9/site-packages/ironic/db/sqlalchemy DEBUG util.py:445: creating /builddir/build/BUILDROOT/openstack-ironic-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.el9.x86_64/usr/lib/python3.9/site-packages/ironic/conductor DEBUG util.py:445: creating /builddir/build/BUILDROOT/openstack-ironic-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.el9.x86_64/usr/lib/python3.9/site-packages/ironic/drivers DEBUG util.py:445: creating /builddir/build/BUILDROOT/openstack-ironic-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.el9.x86_64/usr/lib/python3.9/site-packages/ironic/drivers/modules DEBUG util.py:445: copying build/lib/ironic/drivers/modules/master_grub_cfg.txt -> /builddir/build/BUILDROOT/openstack-ironic-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.el9.x86_64/usr/lib/python3.9/site-packages/ironic/drivers/modules DEBUG util.py:445: copying build/lib/ironic/drivers/modules/agent_config.template -> /builddir/build/BUILDROOT/openstack-ironic-18.3.1-0.20240514115031.96d2c3c.el9.x86_64/usr/lib/python3.9/site-packages/ironic/drivers/modules DEBUG util.py:445: creating /builddir/build/BUILDROOT/openstack-ironic-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.el9.x86_64/usr/lib/python3.9/site-packages/ironic/drivers/modules/drac DEBUG util.py:445: creating /builddir/build/BUILDROOT/openstack-ironic-18.3.1-0.20240514115031.96d2c3c.el9.x86_64/usr/lib/python3.9/site-packages/ironic/drivers/modules/ansible DEBUG util.py:445: creating /builddir/build/BUILDROOT/openstack-ironic-18.3.1-0.20240514115031.96d2c3c.el9.x86_64/usr/lib/python3.9/site-packages/ironic/drivers/modules/ansible/playbooks DEBUG util.py:445: creating /builddir/build/BUILDROOT/openstack-ironic-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.el9.x86_64/usr/lib/python3.9/site-packages/ironic/drivers/modules/ansible DEBUG util.py:445: creating /builddir/build/BUILDROOT/openstack-ironic-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.el9.x86_64/usr/lib/python3.9/site-packages/ironic/drivers/modules/irmc DEBUG util.py:445: copying build/lib/ironic/drivers/modules/irmc/packaging_version.py -> /builddir/build/BUILDROOT/openstack-ironic-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.el9.x86_64/usr/lib/python3.9/site-packages/ironic/drivers/modules/irmc DEBUG util.py:445: creating /builddir/build/BUILDROOT/openstack-ironic-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.el9.x86_64/usr/lib/python3.9/site-packages/ironic/drivers/modules/redfish DEBUG util.py:445: creating /builddir/build/BUILDROOT/openstack-ironic-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.el9.x86_64/usr/lib/python3.9/site-packages/ironic/drivers/modules/storage DEBUG util.py:445: creating /builddir/build/BUILDROOT/openstack-ironic-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.el9.x86_64/usr/lib/python3.9/site-packages/ironic/drivers/modules/ilo DEBUG util.py:445: creating /builddir/build/BUILDROOT/openstack-ironic-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.el9.x86_64/usr/lib/python3.9/site-packages/ironic/drivers/modules/intel_ipmi DEBUG util.py:445: creating /builddir/build/BUILDROOT/openstack-ironic-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.el9.x86_64/usr/lib/python3.9/site-packages/ironic/drivers/modules/xclarity DEBUG util.py:445: creating /builddir/build/BUILDROOT/openstack-ironic-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.el9.x86_64/usr/lib/python3.9/site-packages/ironic/drivers/modules/network DEBUG util.py:445: copying build/lib/ironic/drivers/modules/__init__.py -> /builddir/build/BUILDROOT/openstack-ironic-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.el9.x86_64/usr/lib/python3.9/site-packages/ironic/drivers/modules DEBUG util.py:445: creating /builddir/build/BUILDROOT/openstack-ironic-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.el9.x86_64/usr/lib/python3.9/site-packages/ironic/drivers/modules/ibmc DEBUG util.py:445: creating /builddir/build/BUILDROOT/openstack-ironic-18.3.1-0.20240514115031.96d2c3c.el9.x86_64/usr/lib/python3.9/site-packages/ironic/tests DEBUG util.py:445: creating /builddir/build/BUILDROOT/openstack-ironic-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.el9.x86_64/usr/lib/python3.9/site-packages/ironic/tests/json_samples DEBUG util.py:445: creating /builddir/build/BUILDROOT/openstack-ironic-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.el9.x86_64/usr/lib/python3.9/site-packages/ironic/tests/functional DEBUG util.py:445: copying build/lib/ironic/tests/__init__.py -> /builddir/build/BUILDROOT/openstack-ironic-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.el9.x86_64/usr/lib/python3.9/site-packages/ironic/tests DEBUG util.py:445: creating /builddir/build/BUILDROOT/openstack-ironic-18.3.1-0.20240514115031.96d2c3c.el9.x86_64/usr/lib/python3.9/site-packages/ironic/tests/unit DEBUG util.py:445: creating /builddir/build/BUILDROOT/openstack-ironic-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.el9.x86_64/usr/lib/python3.9/site-packages/ironic/tests/unit/conf DEBUG util.py:445: copying build/lib/ironic/tests/unit/__init__.py -> /builddir/build/BUILDROOT/openstack-ironic-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.el9.x86_64/usr/lib/python3.9/site-packages/ironic/tests/unit DEBUG util.py:445: creating /builddir/build/BUILDROOT/openstack-ironic-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.el9.x86_64/usr/lib/python3.9/site-packages/ironic/tests/unit/api DEBUG util.py:445: creating /builddir/build/BUILDROOT/openstack-ironic-18.3.1-0.20240514115031.96d2c3c.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/__init__.py -> /builddir/build/BUILDROOT/openstack-ironic-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.el9.x86_64/usr/lib/python3.9/site-packages/ironic/tests/unit/api/controllers DEBUG util.py:445: creating /builddir/build/BUILDROOT/openstack-ironic-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.el9.x86_64/usr/lib/python3.9/site-packages/ironic/tests/unit/api/controllers/v1 DEBUG util.py:445: creating /builddir/build/BUILDROOT/openstack-ironic-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.el9.x86_64/usr/lib/python3.9/site-packages/ironic/tests/unit/cmd DEBUG util.py:445: creating /builddir/build/BUILDROOT/openstack-ironic-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.el9.x86_64/usr/lib/python3.9/site-packages/ironic/tests/unit/objects DEBUG util.py:445: creating /builddir/build/BUILDROOT/openstack-ironic-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.el9.x86_64/usr/lib/python3.9/site-packages/ironic/tests/unit/conductor DEBUG util.py:445: creating /builddir/build/BUILDROOT/openstack-ironic-18.3.1-0.20240514115031.96d2c3c.el9.x86_64/usr/lib/python3.9/site-packages/ironic/tests/unit/common DEBUG util.py:445: creating /builddir/build/BUILDROOT/openstack-ironic-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.el9.x86_64/usr/lib/python3.9/site-packages/ironic/tests/unit/common DEBUG util.py:445: creating /builddir/build/BUILDROOT/openstack-ironic-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.el9.x86_64/usr/lib/python3.9/site-packages/ironic/tests/unit/db DEBUG util.py:445: creating /builddir/build/BUILDROOT/openstack-ironic-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.el9.x86_64/usr/lib/python3.9/site-packages/ironic/tests/unit/db/sqlalchemy DEBUG util.py:445: creating /builddir/build/BUILDROOT/openstack-ironic-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.el9.x86_64/usr/lib/python3.9/site-packages/ironic/tests/unit/drivers DEBUG util.py:445: copying build/lib/ironic/tests/unit/drivers/__init__.py -> /builddir/build/BUILDROOT/openstack-ironic-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.el9.x86_64/usr/lib/python3.9/site-packages/ironic/tests/unit/drivers DEBUG util.py:445: creating /builddir/build/BUILDROOT/openstack-ironic-18.3.1-0.20240514115031.96d2c3c.el9.x86_64/usr/lib/python3.9/site-packages/ironic/tests/unit/drivers/modules DEBUG util.py:445: creating /builddir/build/BUILDROOT/openstack-ironic-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.el9.x86_64/usr/lib/python3.9/site-packages/ironic/tests/unit/drivers/modules/ibmc DEBUG util.py:445: creating /builddir/build/BUILDROOT/openstack-ironic-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.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/__init__.py -> /builddir/build/BUILDROOT/openstack-ironic-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.el9.x86_64/usr/lib/python3.9/site-packages/ironic/tests/unit/drivers/modules DEBUG util.py:445: creating /builddir/build/BUILDROOT/openstack-ironic-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.el9.x86_64/usr/lib/python3.9/site-packages/ironic/tests/unit/dhcp DEBUG util.py:445: byte-compiling /builddir/build/BUILDROOT/openstack-ironic-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.el9.x86_64/usr/lib/python3.9/site-packages/ironic/drivers/modules/irmc/packaging_version.py to packaging_version.cpython-39.pyc DEBUG util.py:445: byte-compiling /builddir/build/BUILDROOT/openstack-ironic-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.el9.x86_64/usr/lib/python3.9/site-packages/ironic/drivers/modules/ilo/vendor.py to vendor.cpython-39.pyc DEBUG util.py:445: byte-compiling /builddir/build/BUILDROOT/openstack-ironic-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.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: writing byte-compilation script '/tmp/tmpe96xoh3i.py' DEBUG util.py:445: /usr/bin/python3 /tmp/tmpe96xoh3i.py DEBUG util.py:445: removing /tmp/tmpe96xoh3i.py DEBUG util.py:445: running install_data DEBUG util.py:445: creating /builddir/build/BUILDROOT/openstack-ironic-18.3.1-0.20240514115031.96d2c3c.el9.x86_64/usr/etc DEBUG util.py:445: creating /builddir/build/BUILDROOT/openstack-ironic-18.3.1-0.20240514115031.96d2c3c.el9.x86_64/usr/etc/ironic DEBUG util.py:445: copying etc/ironic/rootwrap.conf -> /builddir/build/BUILDROOT/openstack-ironic-18.3.1-0.20240514115031.96d2c3c.el9.x86_64/usr/etc/ironic DEBUG util.py:445: creating /builddir/build/BUILDROOT/openstack-ironic-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.el9.x86_64/usr/lib/python3.9/site-packages/ironic-18.3.1.dev11-py3.9.egg-info DEBUG util.py:445: running install_scripts DEBUG util.py:445: Installing ironic-api script to /builddir/build/BUILDROOT/openstack-ironic-18.3.1-0.20240514115031.96d2c3c.el9.x86_64/usr/bin DEBUG util.py:445: Installing ironic-conductor script to /builddir/build/BUILDROOT/openstack-ironic-18.3.1-0.20240514115031.96d2c3c.el9.x86_64/usr/bin DEBUG util.py:445: Installing ironic-dbsync script to /builddir/build/BUILDROOT/openstack-ironic-18.3.1-0.20240514115031.96d2c3c.el9.x86_64/usr/bin DEBUG util.py:445: Installing ironic-rootwrap script to /builddir/build/BUILDROOT/openstack-ironic-18.3.1-0.20240514115031.96d2c3c.el9.x86_64/usr/bin DEBUG util.py:445: Installing ironic-status script to /builddir/build/BUILDROOT/openstack-ironic-18.3.1-0.20240514115031.96d2c3c.el9.x86_64/usr/bin DEBUG util.py:445: Installing ironic-api-wsgi script to /builddir/build/BUILDROOT/openstack-ironic-18.3.1-0.20240514115031.96d2c3c.el9.x86_64/usr/bin DEBUG util.py:445: + rm -rfv /builddir/build/BUILDROOT/openstack-ironic-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.el9.x86_64/etc/logrotate.d/openstack-ironic DEBUG util.py:445: + mkdir -p /builddir/build/BUILDROOT/openstack-ironic-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.el9.x86_64/usr/lib/systemd/system DEBUG util.py:445: + mkdir -p /builddir/build/BUILDROOT/openstack-ironic-18.3.1-0.20240514115031.96d2c3c.el9.x86_64/etc/sudoers.d DEBUG util.py:445: + install -p -D -m 440 /builddir/build/SOURCES/ironic-rootwrap-sudoers /builddir/build/BUILDROOT/openstack-ironic-18.3.1-0.20240514115031.96d2c3c.el9.x86_64/etc/sudoers.d/ironic DEBUG util.py:445: + mkdir -p /builddir/build/BUILDROOT/openstack-ironic-18.3.1-0.20240514115031.96d2c3c.el9.x86_64/var/lib/ironic/ DEBUG util.py:445: + mkdir -p /builddir/build/BUILDROOT/openstack-ironic-18.3.1-0.20240514115031.96d2c3c.el9.x86_64/var/log/ironic/ DEBUG util.py:445: + mkdir -p /builddir/build/BUILDROOT/openstack-ironic-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.el9.x86_64/usr/etc/ironic/rootwrap.conf /builddir/build/BUILDROOT/openstack-ironic-18.3.1-0.20240514115031.96d2c3c.el9.x86_64//etc/ironic/rootwrap.conf DEBUG util.py:445: + mv /builddir/build/BUILDROOT/openstack-ironic-18.3.1-0.20240514115031.96d2c3c.el9.x86_64/usr/etc/ironic/rootwrap.d/ironic-utils.filters /builddir/build/BUILDROOT/openstack-ironic-18.3.1-0.20240514115031.96d2c3c.el9.x86_64//etc/ironic/rootwrap.d/ DEBUG util.py:445: + rmdir /builddir/build/BUILDROOT/openstack-ironic-18.3.1-0.20240514115031.96d2c3c.el9.x86_64/usr/etc/ironic/rootwrap.d DEBUG util.py:445: + rmdir /builddir/build/BUILDROOT/openstack-ironic-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.el9.x86_64//etc/ironic/dnsmasq-tftp-server.conf DEBUG util.py:445: + /usr/bin/find-debuginfo -j4 --strict-build-id -m -i --build-id-seed 18.3.1-0.20240514115031.96d2c3c.el9 --unique-debug-suffix -18.3.1-0.20240514115031.96d2c3c.el9.x86_64 --unique-debug-src-base openstack-ironic-18.3.1-0.20240514115031.96d2c3c.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-18.3.1.dev11 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-18.3.1-0.20240514115031.96d2c3c.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.SpGjOG DEBUG util.py:445: + umask 022 DEBUG util.py:445: + cd /builddir/build/BUILD DEBUG util.py:445: + cd ironic-18.3.1.dev11 DEBUG util.py:445: + PYTHON=/usr/bin/python3 DEBUG util.py:445: + stestr run DEBUG util.py:445: 2024-05-14 11:53:58.403 1236413 INFO alembic.runtime.migration [req-f83d6297-2f8b-4b0d-95b3-d6261a13e0bf - - - - -] Context impl SQLiteImpl. DEBUG util.py:445: 2024-05-14 11:53:58.404 1236413 INFO alembic.runtime.migration [req-f83d6297-2f8b-4b0d-95b3-d6261a13e0bf - - - - -] Will assume non-transactional DDL. DEBUG util.py:443: INFO [alembic.runtime.migration] Context impl SQLiteImpl. DEBUG util.py:443: INFO [alembic.runtime.migration] Will assume non-transactional DDL. DEBUG util.py:443: INFO [alembic.runtime.migration] Running stamp_revision -> 9ef41f07cb58 DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.test_base.TestVersion.test_equals [0.533915s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.test_base.TestVersion.test_parse_headers_latest [0.028251s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.test_base.TestVersion.test_repr_with_strings [0.059973s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_allocation.TestDelete.test_delete_allocation_by_node [0.113405s] ... ok DEBUG util.py:445: 2024-05-14 11:53:58.744 1236407 INFO alembic.runtime.migration [req-db9f0abf-d9f2-4ce5-89fc-a85fe7cdbbef - - - - -] Context impl SQLiteImpl. DEBUG util.py:445: 2024-05-14 11:53:58.745 1236407 INFO alembic.runtime.migration [req-db9f0abf-d9f2-4ce5-89fc-a85fe7cdbbef - - - - -] 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: {1} ironic.tests.unit.api.controllers.test_base.TestBase.test_bad_uri [0.534186s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_allocation.TestDelete.test_delete_allocation_invalid_api_version [0.093871s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.test_base.TestVersion.test_greaterthan [0.029397s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_allocation.TestListAllocations.test_allocation_get_all_forbidden [0.028728s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.test_base.TestVersion.test_lessthan [0.020768s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_allocation.TestListAllocations.test_allocation_get_all_forbidden_no_project [0.026875s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.test_base.TestVersion.test_parse_headers_bad_length [0.025445s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.test_base.TestVersion.test_parse_headers_ok [0.044363s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_allocation.TestDelete.test_delete_allocation_by_name [0.060537s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_allocation.TestDelete.test_delete_allocation_invalid_api_version_without_check [0.028328s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_allocation.TestListAllocations.test_allocation_owner_null_field [0.148508s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_allocation.TestDelete.test_delete_allocation_invalid_node [0.035865s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_allocation.TestListAllocations.test_allocation_owner_present [0.029902s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_allocation.TestListAllocations.test_by_node_invalid_node [0.020377s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_allocation.TestListAllocations.test_collection_links [0.089456s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_allocation.TestListAllocations.test_empty [0.030082s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_allocation.TestListAllocations.test_get_all_by_node_name [0.041129s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_allocation.TestListAllocations.test_get_all_by_node_uuid [0.078624s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_allocation.TestListAllocations.test_get_one_with_json [0.026129s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_allocation.TestListAllocations.test_get_owner_field [0.026949s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_allocation.TestListAllocations.test_links [0.034536s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_allocation.TestListAllocations.test_get_all_by_owner_not_allowed [0.076700s] ... ok DEBUG util.py:445: 2024-05-14 11:53:59.289 1236402 INFO alembic.runtime.migration [req-eba66ecc-1b78-4c0d-a6b6-ecc56c49d43c - - - - -] Context impl SQLiteImpl. DEBUG util.py:445: 2024-05-14 11:53:59.290 1236402 INFO alembic.runtime.migration [req-eba66ecc-1b78-4c0d-a6b6-ecc56c49d43c - - - - -] 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: GET: /v1/bad/path {} DEBUG util.py:445: GOT:Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: {"error_message": "{\"code\": 404, \"title\": \"Not Found\", \"description\": \"\"}"} DEBUG util.py:445: DELETE: /v1/allocations/alloc1 DEBUG util.py:445: GOT:Response: 204 No Content DEBUG util.py:445: Openstack-Request-Id: req-9e9c894f-0c2f-470d-b9eb-fef8d08871b6 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: DELETE: /v1/allocations/ba!na!na1 DEBUG util.py:445: GOT:Response: 405 Method Not Allowed DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: {"error_message": "{\"code\": 405, \"title\": \"Method Not Allowed\", \"description\": \"The API version does not allow allocations\"}"} DEBUG util.py:445: DELETE: /v1/nodes/a2a0d317-af6e-4269-9cdc-e31843bb0d4f/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-ea281f23-0cab-47ef-8b91-c0b7dcd049b2 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node a2a0d317-af6e-4269-9cdc-e31843bb0d4f could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: GET: /v1/allocations/355d823d-ecf8-46b5-beb0-0ae5f19a3024 {} DEBUG util.py:445: GOT:{'uuid': '355d823d-ecf8-46b5-beb0-0ae5f19a3024', 'created_at': '2024-05-14T11:53:59.074484+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/355d823d-ecf8-46b5-beb0-0ae5f19a3024', 'rel': 'self'}, {'href': 'http://localhost/allocations/355d823d-ecf8-46b5-beb0-0ae5f19a3024', 'rel': 'bookmark'}], 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123'} DEBUG util.py:445: GET: /v1/node/58ba8106-bef7-49b2-821c-b506dc5ba526/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 {} DEBUG util.py:445: GOT:{'allocations': []} DEBUG util.py:445: GET: /v1/allocations?node=node-1 {} DEBUG util.py:445: GOT:{'allocations': [{'uuid': '14f2bf9c-c989-44a3-a261-c4dc24c3461f', 'created_at': '2024-05-14T11:53:59.154770+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/14f2bf9c-c989-44a3-a261-c4dc24c3461f', 'rel': 'self'}, {'href': 'http://localhost/allocations/14f2bf9c-c989-44a3-a261-c4dc24c3461f', 'rel': 'bookmark'}], 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123'}, {'uuid': '23078563-0c3f-4195-87eb-b2016e6a838f', 'created_at': '2024-05-14T11:53:59.155833+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/23078563-0c3f-4195-87eb-b2016e6a838f', 'rel': 'self'}, {'href': 'http://localhost/allocations/23078563-0c3f-4195-87eb-b2016e6a838f', 'rel': 'bookmark'}], 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123'}, {'uuid': '5b11abf6-cf33-4ecb-a539-dab592acf91f', 'created_at': '2024-05-14T11:53:59.156790+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/5b11abf6-cf33-4ecb-a539-dab592acf91f', 'rel': 'self'}, {'href': 'http://localhost/allocations/5b11abf6-cf33-4ecb-a539-dab592acf91f', 'rel': 'bookmark'}], 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123'}]} DEBUG util.py:445: GET: /v1/allocations/2fb61781-7c73-4e62-a764-76f9aabd8d74.json {} DEBUG util.py:445: GOT:{'uuid': '2fb61781-7c73-4e62-a764-76f9aabd8d74', 'created_at': '2024-05-14T11:53:59.193432+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/2fb61781-7c73-4e62-a764-76f9aabd8d74', 'rel': 'self'}, {'href': 'http://localhost/allocations/2fb61781-7c73-4e62-a764-76f9aabd8d74', 'rel': 'bookmark'}], 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123'} DEBUG util.py:445: GET: /v1/allocations/b852d8c2-c2da-451d-9ba7-77cf2e40ab39?fields=owner {} DEBUG util.py:445: GOT:{'owner': '12345', 'links': [{'href': 'http://localhost/v1/allocations/b852d8c2-c2da-451d-9ba7-77cf2e40ab39', 'rel': 'self'}, {'href': 'http://localhost/allocations/b852d8c2-c2da-451d-9ba7-77cf2e40ab39', 'rel': 'bookmark'}]} DEBUG util.py:445: GET: /v1/allocations/96938a7d-d2c9-43ed-8fe7-10746d4c17b9 {} DEBUG util.py:445: GOT:{'uuid': '96938a7d-d2c9-43ed-8fe7-10746d4c17b9', 'created_at': '2024-05-14T11:53:59.246217+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/96938a7d-d2c9-43ed-8fe7-10746d4c17b9', 'rel': 'self'}, {'href': 'http://localhost/allocations/96938a7d-d2c9-43ed-8fe7-10746d4c17b9', 'rel': 'bookmark'}], 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123'} DEBUG util.py:445: GET: /v1/allocations/96938a7d-d2c9-43ed-8fe7-10746d4c17b9 {} DEBUG util.py:445: GOT:{'uuid': '96938a7d-d2c9-43ed-8fe7-10746d4c17b9', 'created_at': '2024-05-14T11:53:59.246217+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/96938a7d-d2c9-43ed-8fe7-10746d4c17b9', 'rel': 'self'}, {'href': 'http://localhost/allocations/96938a7d-d2c9-43ed-8fe7-10746d4c17b9', 'rel': 'bookmark'}], 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123'} DEBUG util.py:445: GET: /allocations/96938a7d-d2c9-43ed-8fe7-10746d4c17b9 {} DEBUG util.py:445: GOT:{'uuid': '96938a7d-d2c9-43ed-8fe7-10746d4c17b9', 'created_at': '2024-05-14T11:53:59.246217+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/96938a7d-d2c9-43ed-8fe7-10746d4c17b9', 'rel': 'self'}, {'href': 'http://localhost/allocations/96938a7d-d2c9-43ed-8fe7-10746d4c17b9', 'rel': 'bookmark'}], 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123'} DEBUG util.py:445: GET: /v1/allocations {} DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_allocation.TestListAllocations.test_many [0.034982s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_allocation.TestListAllocations.test_sort_key [0.031754s] ... ok 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_by_node_resource [0.081571s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_allocation.TestListAllocations.test_sort_key_allowed [0.032475s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_allocation.TestDelete.test_delete_allocation_by_name_with_json [0.376406s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_allocation.TestPatch.test_update_error [0.035495s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_allocation.TestListAllocations.test_get_collection_custom_fields [0.077874s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_allocation.TestPost.test_backfill_copy_instance_uuid [0.035356s] ... ok DEBUG util.py:445: GOT:{'allocations': [{'uuid': 'd1464883-78e0-483e-86e4-03b70afed1d9', 'created_at': '2024-05-14T11:53:59.280553+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/d1464883-78e0-483e-86e4-03b70afed1d9', 'rel': 'self'}, {'href': 'http://localhost/allocations/d1464883-78e0-483e-86e4-03b70afed1d9', 'rel': 'bookmark'}], 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123'}, {'uuid': '4234c207-8119-4270-8a0f-4a20943877de', 'created_at': '2024-05-14T11:53:59.281489+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/4234c207-8119-4270-8a0f-4a20943877de', 'rel': 'self'}, {'href': 'http://localhost/allocations/4234c207-8119-4270-8a0f-4a20943877de', 'rel': 'bookmark'}], 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123'}, {'uuid': '324b7b9a-9d0d-467e-b934-7367826b4e59', 'created_at': '2024-05-14T11:53:59.282761+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/324b7b9a-9d0d-467e-b934-7367826b4e59', 'rel': 'self'}, {'href': 'http://localhost/allocations/324b7b9a-9d0d-467e-b934-7367826b4e59', 'rel': 'bookmark'}], 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123'}, {'uuid': 'dbc8490f-ec28-4b44-a78d-ec071d1ec7c8', 'created_at': '2024-05-14T11:53:59.283740+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/dbc8490f-ec28-4b44-a78d-ec071d1ec7c8', 'rel': 'self'}, {'href': 'http://localhost/allocations/dbc8490f-ec28-4b44-a78d-ec071d1ec7c8', 'rel': 'bookmark'}], 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123'}, {'uuid': '7bd8634a-5de7-4891-8eff-9d108aebde0c', 'created_at': '2024-05-14T11:53:59.284679+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/7bd8634a-5de7-4891-8eff-9d108aebde0c', 'rel': 'self'}, {'href': 'http://localhost/allocations/7bd8634a-5de7-4891-8eff-9d108aebde0c', 'rel': 'bookmark'}], 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123'}]} DEBUG util.py:445: GET: /v1/allocations?sort_key=uuid {} DEBUG util.py:445: GOT:{'allocations': [{'uuid': '1052bb50-375d-4821-93dc-a6d6630d94f3', 'created_at': '2024-05-14T11:53:59.318242+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/1052bb50-375d-4821-93dc-a6d6630d94f3', 'rel': 'self'}, {'href': 'http://localhost/allocations/1052bb50-375d-4821-93dc-a6d6630d94f3', 'rel': 'bookmark'}], 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123'}, {'uuid': 'd60819e1-4d3a-4bd0-b2ea-fdac77a499c6', 'created_at': '2024-05-14T11:53:59.317330+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/d60819e1-4d3a-4bd0-b2ea-fdac77a499c6', 'rel': 'self'}, {'href': 'http://localhost/allocations/d60819e1-4d3a-4bd0-b2ea-fdac77a499c6', 'rel': 'bookmark'}], 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123'}, {'uuid': 'f875fbdf-6d80-40ab-86b4-11bf81597a54', 'created_at': '2024-05-14T11:53:59.316356+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/f875fbdf-6d80-40ab-86b4-11bf81597a54', 'rel': 'self'}, {'href': 'http://localhost/allocations/f875fbdf-6d80-40ab-86b4-11bf81597a54', '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': '2729a492-4ce2-4dea-b0d9-7648b6756a82', 'created_at': '2024-05-14T11:53:59.351800+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/2729a492-4ce2-4dea-b0d9-7648b6756a82', 'rel': 'self'}, {'href': 'http://localhost/allocations/2729a492-4ce2-4dea-b0d9-7648b6756a82', 'rel': 'bookmark'}], 'node_uuid': None}, {'uuid': 'f7393dbe-a6da-488e-93ba-ad509b3f6356', 'created_at': '2024-05-14T11:53:59.350742+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/f7393dbe-a6da-488e-93ba-ad509b3f6356', 'rel': 'self'}, {'href': 'http://localhost/allocations/f7393dbe-a6da-488e-93ba-ad509b3f6356', 'rel': 'bookmark'}], 'node_uuid': None}, {'uuid': '6c13d7d2-f463-40f8-8e13-6271fe872d60', 'created_at': '2024-05-14T11:53:59.348035+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/6c13d7d2-f463-40f8-8e13-6271fe872d60', 'rel': 'self'}, {'href': 'http://localhost/allocations/6c13d7d2-f463-40f8-8e13-6271fe872d60', 'rel': 'bookmark'}], 'node_uuid': None}]} DEBUG util.py:445: PATCH: /v1/allocations/62e061d0-2057-4855-910f-39e16a9ec8d2 [{'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-d56c84e4-8408-4058-8c3d-64339a8ea3e2 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"\", \"debuginfo\": null}"} DEBUG util.py:445: POST: /v1/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/58e6727e-d0de-46bd-83cd-96fb38c8c9d0 DEBUG util.py:445: Openstack-Request-Id: req-ef7f1be9-3ba8-4d35-8d5d-c4e53a2b6e4e DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"uuid": "58e6727e-d0de-46bd-83cd-96fb38c8c9d0", "created_at": "2024-05-14T11:53:59.424343+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/58e6727e-d0de-46bd-83cd-96fb38c8c9d0", "rel": "self"}, {"href": "http://localhost/allocations/58e6727e-d0de-46bd-83cd-96fb38c8c9d0", "rel": "bookmark"}], "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123"} DEBUG util.py:445: GET: /v1/allocations/58e6727e-d0de-46bd-83cd-96fb38c8c9d0 {} DEBUG util.py:445: GOT:{'uuid': '58e6727e-d0de-46bd-83cd-96fb38c8c9d0', 'created_at': '2024-05-14T11:53:59.424343+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/58e6727e-d0de-46bd-83cd-96fb38c8c9d0', 'rel': 'self'}, {'href': 'http://localhost/allocations/58e6727e-d0de-46bd-83cd-96fb38c8c9d0', 'rel': 'bookmark'}], 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123'} DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_allocation.TestPost.test_backfill_node_not_found [0.025489s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_allocation.TestDelete.test_delete_allocation_by_node_not_existed [0.090394s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_allocation.TestListAllocations.test_get_one_custom_fields [0.066048s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_allocation.TestPost.test_create_allocation_invalid_candidate_node_format [0.042871s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_allocation.TestListAllocations.test_allocation_get_all_forbid_owner_proj_mismatch [0.043935s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_allocation.TestPost.test_create_allocation_name_ok [0.027648s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_allocation.TestListAllocations.test_allocation_owner_hidden_in_lower_version [0.034386s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_allocation.TestPost.test_create_allocation_owner [0.037123s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_allocation.TestListAllocations.test_by_node_resource_not_existed [0.024703s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_allocation.TestPost.test_create_allocation_resource_class_too_long [0.026360s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_allocation.TestListAllocations.test_get_one_invalid_api_version [0.100546s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_allocation.TestListAllocations.test_collection_links_default_limit [0.032978s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_allocation.TestPatch.test_add_non_existent [0.031406s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_allocation.TestListAllocations.test_get_all_by_non_existing_node [0.029347s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_allocation.TestPost.test_create_node_uuid_not_allowed [0.063171s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_allocation.TestListAllocations.test_get_all_by_state [0.044419s] ... 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-a4b8876a-2d59-46cc-aa5c-4d2f5eca7e36 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: DELETE: /v1/allocations/7abe20a8-2651-428b-b873-d925b2359508 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-e93009c4-9c94-4529-8356-3524e703ca7a DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.60 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: fake\", \"debuginfo\": null}"} DEBUG util.py:445: GET: /v1/allocations {} DEBUG util.py:445: GOT:Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-51565cd0-d637-498d-83e7-f742ceb8d728 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.59 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: fake\", \"debuginfo\": null}"} DEBUG util.py:445: GET: /v1/allocations/4ec917e3-300d-461c-a71c-963032802bb4 {} DEBUG util.py:445: GOT:{'uuid': '4ec917e3-300d-461c-a71c-963032802bb4', 'created_at': '2024-05-14T11:53:58.938707+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/4ec917e3-300d-461c-a71c-963032802bb4', 'rel': 'self'}, {'href': 'http://localhost/allocations/4ec917e3-300d-461c-a71c-963032802bb4', 'rel': 'bookmark'}], 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123'} DEBUG util.py:445: GET: /v1/allocations/?limit=3 {} DEBUG util.py:445: GOT:{'allocations': [{'uuid': '68f5b2cf-da03-4de0-a5b1-96e81102b07e', 'created_at': '2024-05-14T11:53:59.054592+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/68f5b2cf-da03-4de0-a5b1-96e81102b07e', 'rel': 'self'}, {'href': 'http://localhost/allocations/68f5b2cf-da03-4de0-a5b1-96e81102b07e', 'rel': 'bookmark'}], 'node_uuid': None}, {'uuid': '8ba310eb-2add-4cd8-bc38-e09a661e08bd', 'created_at': '2024-05-14T11:53:59.055682+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/8ba310eb-2add-4cd8-bc38-e09a661e08bd', 'rel': 'self'}, {'href': 'http://localhost/allocations/8ba310eb-2add-4cd8-bc38-e09a661e08bd', 'rel': 'bookmark'}], 'node_uuid': None}, {'uuid': '29b04e98-b9f9-460f-aeb0-396d7e707e28', 'created_at': '2024-05-14T11:53:59.056643+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/29b04e98-b9f9-460f-aeb0-396d7e707e28', 'rel': 'self'}, {'href': 'http://localhost/allocations/29b04e98-b9f9-460f-aeb0-396d7e707e28', 'rel': 'bookmark'}], 'node_uuid': None}], 'next': 'http://localhost/v1/allocations?sort_key=id&sort_dir=asc&limit=3&marker=29b04e98-b9f9-460f-aeb0-396d7e707e28'} DEBUG util.py:445: GET: /v1/allocations?node=1be26c0b-03f2-4d2e-ae87-c02d7f33c123 {} DEBUG util.py:445: GOT:{'allocations': [{'uuid': '7a1d2e1b-1625-4927-9bc9-23613cb0fc58', 'created_at': '2024-05-14T11:53:59.167309+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/7a1d2e1b-1625-4927-9bc9-23613cb0fc58', 'rel': 'self'}, {'href': 'http://localhost/allocations/7a1d2e1b-1625-4927-9bc9-23613cb0fc58', '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-74f4a7fc-562a-41d1-ad05-76796ebc43f2 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.59 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Request not acceptable.\", \"debuginfo\": null}"} DEBUG util.py:445: GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/allocation {} DEBUG util.py:445: GOT:{'uuid': 'f57c8feb-a506-426a-827d-d159e8ab8823', 'created_at': '2024-05-14T11:53:59.341896+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/f57c8feb-a506-426a-827d-d159e8ab8823', 'rel': 'self'}, {'href': 'http://localhost/allocations/f57c8feb-a506-426a-827d-d159e8ab8823', 'rel': 'bookmark'}], 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123'} DEBUG util.py:445: GET: /v1/allocations?fields=uuid,extra {} DEBUG util.py:445: GOT:{'allocations': [{'uuid': 'e9dcb078-90e7-4144-a397-d821c79d2eb9', 'extra': {}, 'links': [{'href': 'http://localhost/v1/allocations/e9dcb078-90e7-4144-a397-d821c79d2eb9', 'rel': 'self'}, {'href': 'http://localhost/allocations/e9dcb078-90e7-4144-a397-d821c79d2eb9', 'rel': 'bookmark'}]}, {'uuid': '1fe3c275-8064-4bac-a5af-f0dbcbc27f13', 'extra': {}, 'links': [{'href': 'http://localhost/v1/allocations/1fe3c275-8064-4bac-a5af-f0dbcbc27f13', 'rel': 'self'}, {'href': 'http://localhost/allocations/1fe3c275-8064-4bac-a5af-f0dbcbc27f13', 'rel': 'bookmark'}]}, {'uuid': '59bd8935-f3dc-4b7d-b16f-543270ebd5d9', 'extra': {}, 'links': [{'href': 'http://localhost/v1/allocations/59bd8935-f3dc-4b7d-b16f-543270ebd5d9', 'rel': 'self'}, {'href': 'http://localhost/allocations/59bd8935-f3dc-4b7d-b16f-543270ebd5d9', 'rel': 'bookmark'}]}]} DEBUG util.py:445: GET: /v1/allocations/cb79d520-a9fb-4dcc-a022-ca4bd898af66?fields=resource_class,extra {} DEBUG util.py:445: GOT:{'extra': {}, 'resource_class': 'baremetal', 'links': [{'href': 'http://localhost/v1/allocations/cb79d520-a9fb-4dcc-a022-ca4bd898af66', 'rel': 'self'}, {'href': 'http://localhost/allocations/cb79d520-a9fb-4dcc-a022-ca4bd898af66', 'rel': 'bookmark'}]} DEBUG util.py:445: GET: /v1/allocations/079f1639-fb6c-41c3-8e8a-2e68d309a1c2 {} 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: PATCH: /v1/allocations/18ac61f5-cdff-4319-a973-f0c6287c0931 [{'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-7d5e6ac2-16c6-4d78-b762-57848de59f5c DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Cannot patch /foo. Only the following can be updated: name, extra\", \"debuginfo\": null}"} DEBUG util.py:445: PATCH: /v1/allocations/5356f616-60cc-4ade-a0fb-7bec40a19bce [{'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-4a522d33-16cf-4b73-ab6d-c863ecc0ebd6 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"uuid": "5356f616-60cc-4ade-a0fb-7bec40a19bce", "created_at": "2024-05-14T11:53:59.645111+00:00", "updated_at": "2024-05-14T11:53:59.656497+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/5356f616-60cc-4ade-a0fb-7bec40a19bce", "rel": "self"}, {"href": "http://localhost/allocations/5356f616-60cc-4ade-a0fb-7bec40a19bce", "rel": "bookmark"}], "node_uuid": null} DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_allocation.TestPatch.test_remove_multi [0.044013s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_allocation.TestPost.test_create_restricted_allocation_normal [0.067452s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_allocation.TestPatch.test_replace_singular [0.057065s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_allocation.TestListAllocations.test_get_collection_pagination_no_uuid [0.044126s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_allocation.TestListAllocations.test_get_one_invalid_api_version_without_check [0.025111s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_allocation.TestPost.test_backfill [0.035883s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_allocation.TestListAllocations.test_get_one_with_json_in_name [0.025716s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_allocation.TestPost.test_backfill_not_allowed [0.026887s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_allocation.TestPost.test_create_restricted_allocation_with_mismatch_owner [0.067281s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_allocation.TestPost.test_create_allocation_error [0.040068s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_allocation.TestPost.test_create_allocation_no_mandatory_field_resource_class [0.021431s] ... 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-fd49532d-72cb-4c18-bbb9-754d6ffdd366 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: DELETE: /v1/nodes/3480c20b-cd68-40cc-ab9f-14b315e0c890/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-d052c273-3d7d-4234-89f4-efbb108810c0 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Allocation for node 3480c20b-cd68-40cc-ab9f-14b315e0c890 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-4fac0f9b-189e-4126-9226-580d061510c6 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.60 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: fake\", \"debuginfo\": null}"} DEBUG util.py:445: GET: /v1/allocations/050470d0-232f-4ff9-a5aa-74e8d5f42b0f {} DEBUG util.py:445: GOT:{'uuid': '050470d0-232f-4ff9-a5aa-74e8d5f42b0f', 'created_at': '2024-05-14T11:53:59.547773+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/050470d0-232f-4ff9-a5aa-74e8d5f42b0f', 'rel': 'self'}, {'href': 'http://localhost/allocations/050470d0-232f-4ff9-a5aa-74e8d5f42b0f', 'rel': 'bookmark'}], 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123'} DEBUG util.py:445: GET: /v1/allocations/050470d0-232f-4ff9-a5aa-74e8d5f42b0f {} DEBUG util.py:445: GOT:{'uuid': '050470d0-232f-4ff9-a5aa-74e8d5f42b0f', 'created_at': '2024-05-14T11:53:59.547773+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/050470d0-232f-4ff9-a5aa-74e8d5f42b0f', 'rel': 'self'}, {'href': 'http://localhost/allocations/050470d0-232f-4ff9-a5aa-74e8d5f42b0f', 'rel': 'bookmark'}], 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123'} DEBUG util.py:445: GET: /v1/node/e10c7a11-a30a-44ed-b992-0d5440f32b8a/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 {} DEBUG util.py:445: GOT:{'allocations': [{'uuid': 'b24c84f3-829d-4316-9987-58c178d73a22', 'created_at': '2024-05-14T11:53:59.605730+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/b24c84f3-829d-4316-9987-58c178d73a22', 'rel': 'self'}, {'href': 'http://localhost/allocations/b24c84f3-829d-4316-9987-58c178d73a22', 'rel': 'bookmark'}], 'node_uuid': None}, {'uuid': '92acc727-c84c-4d56-a882-a8fe95698f43', 'created_at': '2024-05-14T11:53:59.606675+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/92acc727-c84c-4d56-a882-a8fe95698f43', 'rel': 'self'}, {'href': 'http://localhost/allocations/92acc727-c84c-4d56-a882-a8fe95698f43', 'rel': 'bookmark'}], 'node_uuid': None}, {'uuid': '585944b3-2e46-497f-b95d-57180b730229', 'created_at': '2024-05-14T11:53:59.607590+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/585944b3-2e46-497f-b95d-57180b730229', 'rel': 'self'}, {'href': 'http://localhost/allocations/585944b3-2e46-497f-b95d-57180b730229', 'rel': 'bookmark'}], 'node_uuid': None}], 'next': 'http://localhost/v1/allocations?sort_key=id&sort_dir=asc&limit=3&marker=585944b3-2e46-497f-b95d-57180b730229'} 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-3cb1ccd3-3c6d-4224-8bd3-e49057b8b318 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node banana could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: GET: /v1/allocations?state=allocating {} DEBUG util.py:445: GOT:{'allocations': [{'uuid': '0f70fc65-80ff-4397-a58a-b933b8dc02a3', 'created_at': '2024-05-14T11:53:59.676642+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/0f70fc65-80ff-4397-a58a-b933b8dc02a3', 'rel': 'self'}, {'href': 'http://localhost/allocations/0f70fc65-80ff-4397-a58a-b933b8dc02a3', 'rel': 'bookmark'}], 'node_uuid': None}, {'uuid': '716c9dda-965d-4d8f-9fa8-1c70744e09c0', 'created_at': '2024-05-14T11:53:59.677606+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/716c9dda-965d-4d8f-9fa8-1c70744e09c0', 'rel': 'self'}, {'href': 'http://localhost/allocations/716c9dda-965d-4d8f-9fa8-1c70744e09c0', 'rel': 'bookmark'}], 'node_uuid': None}, {'uuid': '5d4fb2fd-bebe-4d8c-8662-e431b8fc3a86', 'created_at': '2024-05-14T11:53:59.678650+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/5d4fb2fd-bebe-4d8c-8662-e431b8fc3a86', 'rel': 'self'}, {'href': 'http://localhost/allocations/5d4fb2fd-bebe-4d8c-8662-e431b8fc3a86', 'rel': 'bookmark'}], 'node_uuid': None}]} DEBUG util.py:445: GET: /v1/allocations?fields=node_uuid&limit=2 {} DEBUG util.py:445: GOT:{'allocations': [{'links': [{'href': 'http://localhost/v1/allocations/04505154-5425-41f9-92f3-4e7fa59596bf', 'rel': 'self'}, {'href': 'http://localhost/allocations/04505154-5425-41f9-92f3-4e7fa59596bf', 'rel': 'bookmark'}], 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123'}, {'links': [{'href': 'http://localhost/v1/allocations/2b9eb1cd-797d-46ee-8718-7f6d67ecfe0b', 'rel': 'self'}, {'href': 'http://localhost/allocations/2b9eb1cd-797d-46ee-8718-7f6d67ecfe0b', '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=2b9eb1cd-797d-46ee-8718-7f6d67ecfe0b'} 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/be64b0a5-b94d-4123-8d03-46786e9eaaf5 {} DEBUG util.py:445: GOT:{'uuid': 'be64b0a5-b94d-4123-8d03-46786e9eaaf5', 'created_at': '2024-05-14T11:53:59.781781+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/be64b0a5-b94d-4123-8d03-46786e9eaaf5', 'rel': 'self'}, {'href': 'http://localhost/allocations/be64b0a5-b94d-4123-8d03-46786e9eaaf5', 'rel': 'bookmark'}], 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123'} DEBUG util.py:445: GET: /v1/allocations/5a5e6529-84ee-4225-b58c-4f7c6e686832 {} DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_allocation.TestListAllocations.test_get_one_with_suffix [0.028456s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_allocation.TestListAllocations.test_one [0.025569s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_allocation.TestListAllocations.test_sort_key_invalid [0.030284s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_allocation.TestPatch.test_remove_non_existent_property_fail [0.029888s] ... ok DEBUG util.py:445: GET: /v1/allocations/5356f616-60cc-4ade-a0fb-7bec40a19bce {} DEBUG util.py:445: GOT:{'uuid': '5356f616-60cc-4ade-a0fb-7bec40a19bce', 'created_at': '2024-05-14T11:53:59.645111+00:00', 'updated_at': '2024-05-14T11:53:59.656497+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/5356f616-60cc-4ade-a0fb-7bec40a19bce', 'rel': 'self'}, {'href': 'http://localhost/allocations/5356f616-60cc-4ade-a0fb-7bec40a19bce', 'rel': 'bookmark'}], 'node_uuid': None} DEBUG util.py:445: PATCH: /v1/allocations/5356f616-60cc-4ade-a0fb-7bec40a19bce [{'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-de294f34-3f62-4e63-ae13-c5329dd7600f DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"uuid": "5356f616-60cc-4ade-a0fb-7bec40a19bce", "created_at": "2024-05-14T11:53:59.645111+00:00", "updated_at": "2024-05-14T11:53:59.667165+00:00", "candidate_nodes": [], "extra": {}, "last_error": null, "name": null, "owner": null, "resource_class": "baremetal", "state": "allocating", "traits": [], "links": [{"href": "http://localhost/v1/allocations/5356f616-60cc-4ade-a0fb-7bec40a19bce", "rel": "self"}, {"href": "http://localhost/allocations/5356f616-60cc-4ade-a0fb-7bec40a19bce", "rel": "bookmark"}], "node_uuid": null} DEBUG util.py:445: GET: /v1/allocations/5356f616-60cc-4ade-a0fb-7bec40a19bce {} DEBUG util.py:445: GOT:{'uuid': '5356f616-60cc-4ade-a0fb-7bec40a19bce', 'created_at': '2024-05-14T11:53:59.645111+00:00', 'updated_at': '2024-05-14T11:53:59.667165+00:00', 'candidate_nodes': [], 'extra': {}, 'last_error': None, 'name': None, 'owner': None, 'resource_class': 'baremetal', 'state': 'allocating', 'traits': [], 'links': [{'href': 'http://localhost/v1/allocations/5356f616-60cc-4ade-a0fb-7bec40a19bce', 'rel': 'self'}, {'href': 'http://localhost/allocations/5356f616-60cc-4ade-a0fb-7bec40a19bce', 'rel': 'bookmark'}], 'node_uuid': None} DEBUG util.py:445: PATCH: /v1/allocations/5c9b054b-f5b2-4e43-83da-e6644651e253 [{'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-b44f137a-8dc3-4913-9a9a-33e879c5081b DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"uuid": "5c9b054b-f5b2-4e43-83da-e6644651e253", "created_at": "2024-05-14T11:53:59.699117+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/5c9b054b-f5b2-4e43-83da-e6644651e253", "rel": "self"}, {"href": "http://localhost/allocations/5c9b054b-f5b2-4e43-83da-e6644651e253", "rel": "bookmark"}], "node_uuid": null} DEBUG util.py:445: GET: /v1/allocations/5c9b054b-f5b2-4e43-83da-e6644651e253 {} DEBUG util.py:445: GOT:{'uuid': '5c9b054b-f5b2-4e43-83da-e6644651e253', 'created_at': '2024-05-14T11:53:59.699117+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/5c9b054b-f5b2-4e43-83da-e6644651e253', 'rel': 'self'}, {'href': 'http://localhost/allocations/5c9b054b-f5b2-4e43-83da-e6644651e253', 'rel': 'bookmark'}], 'node_uuid': None} DEBUG util.py:445: POST: /v1/allocations {'candidate_nodes': [], 'extra': {}, 'name': None, 'resource_class': 'baremetal', 'traits': [], 'uuid': '672fac3d-f1fb-4e6b-bebc-206507b1b2b8', '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/672fac3d-f1fb-4e6b-bebc-206507b1b2b8 DEBUG util.py:445: Openstack-Request-Id: req-78757003-2096-4dc4-9b74-0dd32d82e989 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"uuid": "672fac3d-f1fb-4e6b-bebc-206507b1b2b8", "created_at": "2024-05-14T11:53:59.756212+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/672fac3d-f1fb-4e6b-bebc-206507b1b2b8", "rel": "self"}, {"href": "http://localhost/allocations/672fac3d-f1fb-4e6b-bebc-206507b1b2b8", "rel": "bookmark"}], "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123"} DEBUG util.py:445: GET: /v1/allocations/672fac3d-f1fb-4e6b-bebc-206507b1b2b8 {} DEBUG util.py:445: GOT:{'uuid': '672fac3d-f1fb-4e6b-bebc-206507b1b2b8', 'created_at': '2024-05-14T11:53:59.756212+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/672fac3d-f1fb-4e6b-bebc-206507b1b2b8', 'rel': 'self'}, {'href': 'http://localhost/allocations/672fac3d-f1fb-4e6b-bebc-206507b1b2b8', '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: 400 Bad Request DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-25a66603-d286-4dad-8d59-6d7ebc47fe30 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.57 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Cannot set node when creating an allocation in this API version\", \"debuginfo\": null}"} DEBUG util.py:445: POST: /v1/allocations {'candidate_nodes': [], 'extra': {}, 'name': None, 'resource_class': 'baremetal', 'traits': [], 'uuid': 'd292e29c-f54d-44bd-950a-d1d209bd36b6', '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-715406f0-e632-4036-8b8d-49b024c63645 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"\", \"debuginfo\": null}"} DEBUG util.py:445: POST: /v1/allocations {'candidate_nodes': [], 'extra': {}, 'name': None, 'traits': [], 'uuid': '51fc7c3d-1fb6-4ec1-9f15-c051e9ade88a', '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-4605b773-f987-4599-9394-3579a1a2db5a DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"The resource_class field is mandatory when not backfilling\", \"debuginfo\": null}"} DEBUG util.py:445: POST: /v1/allocations {'candidate_nodes': [], 'extra': {}, 'name': None, 'resource_class': 'baremetal', 'traits': [], 'uuid': 'aa54d800-98ce-496e-9d3e-8f8cb7663c66', '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/aa54d800-98ce-496e-9d3e-8f8cb7663c66 DEBUG util.py:445: Openstack-Request-Id: req-15626770-adcb-4ce9-be83-50c1f91ef214 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"uuid": "aa54d800-98ce-496e-9d3e-8f8cb7663c66", "created_at": "2024-05-14T11:53:59.875426+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/aa54d800-98ce-496e-9d3e-8f8cb7663c66", "rel": "self"}, {"href": "http://localhost/allocations/aa54d800-98ce-496e-9d3e-8f8cb7663c66", "rel": "bookmark"}], "node_uuid": null} DEBUG util.py:445: GET: /v1/allocations/aa54d800-98ce-496e-9d3e-8f8cb7663c66 {} DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_allocation.TestPost.test_create_allocation_owner_auto_filled [0.026461s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_allocation.TestPost.test_create_allocation_owner_not_allowed [0.028291s] ... ok DEBUG util.py:445: POST: /v1/allocations {'candidate_nodes': [], 'extra': {}, 'name': None, 'resource_class': 'baremetal', 'traits': [], 'uuid': '0391ced7-f40c-4d87-8a65-966f16b5a4d5', 'owner': None, 'node': '41b94e18-6058-48a5-97eb-c975023921ed'} DEBUG util.py:445: GOT:Response: 400 Bad Request DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-a3dc022c-80b7-4c06-b6b3-d26ddd900033 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 41b94e18-6058-48a5-97eb-c975023921ed could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: POST: /v1/allocations {'candidate_nodes': ['invalid-format'], 'extra': {}, 'name': None, 'resource_class': 'baremetal', 'traits': [], 'uuid': 'a3771238-3038-48de-a8d7-1cb880f8e90b', '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-953043e8-cd62-4af9-822c-1b7083504a1e DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Nodes cannot be found: invalid-format\", \"debuginfo\": null}"} DEBUG util.py:445: POST: /v1/allocations {'candidate_nodes': [], 'extra': {}, 'name': 'foo', 'resource_class': 'baremetal', 'traits': [], 'uuid': '08a56fcc-b700-4d9b-a633-3797a5b22817', '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/08a56fcc-b700-4d9b-a633-3797a5b22817 DEBUG util.py:445: Openstack-Request-Id: req-e772ea5d-78f3-400d-a94b-fa653ba21880 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"uuid": "08a56fcc-b700-4d9b-a633-3797a5b22817", "created_at": "2024-05-14T11:53:59.524262+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/08a56fcc-b700-4d9b-a633-3797a5b22817", "rel": "self"}, {"href": "http://localhost/allocations/08a56fcc-b700-4d9b-a633-3797a5b22817", "rel": "bookmark"}], "node_uuid": null} DEBUG util.py:445: GET: /v1/allocations/08a56fcc-b700-4d9b-a633-3797a5b22817 {} DEBUG util.py:445: GOT:{'uuid': '08a56fcc-b700-4d9b-a633-3797a5b22817', 'created_at': '2024-05-14T11:53:59.524262+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/08a56fcc-b700-4d9b-a633-3797a5b22817', 'rel': 'self'}, {'href': 'http://localhost/allocations/08a56fcc-b700-4d9b-a633-3797a5b22817', 'rel': 'bookmark'}], 'node_uuid': None} DEBUG util.py:445: POST: /v1/allocations {'candidate_nodes': [], 'extra': {}, 'name': None, 'resource_class': 'baremetal', 'traits': [], 'uuid': 'fb66a305-75a1-4df1-a472-7fd24c122456', '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/fb66a305-75a1-4df1-a472-7fd24c122456 DEBUG util.py:445: Openstack-Request-Id: req-8c8540b0-8268-4ba1-ad02-ce65f69e5d04 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"uuid": "fb66a305-75a1-4df1-a472-7fd24c122456", "created_at": "2024-05-14T11:53:59.561767+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/fb66a305-75a1-4df1-a472-7fd24c122456", "rel": "self"}, {"href": "http://localhost/allocations/fb66a305-75a1-4df1-a472-7fd24c122456", "rel": "bookmark"}], "node_uuid": null} DEBUG util.py:445: GET: /v1/allocations/fb66a305-75a1-4df1-a472-7fd24c122456 {} DEBUG util.py:445: GOT:{'uuid': 'fb66a305-75a1-4df1-a472-7fd24c122456', 'created_at': '2024-05-14T11:53:59.561767+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/fb66a305-75a1-4df1-a472-7fd24c122456', 'rel': 'self'}, {'href': 'http://localhost/allocations/fb66a305-75a1-4df1-a472-7fd24c122456', 'rel': 'bookmark'}], 'node_uuid': None} DEBUG util.py:445: POST: /v1/allocations {'candidate_nodes': [], 'extra': {}, 'name': None, 'resource_class': 'fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff', 'traits': [], 'uuid': '8f52aebc-df51-4441-84b0-73d7b8148eac', '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-d7cba044-1e2d-46e5-a508-a73c43ddb80c DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Schema error for allocation: 'fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff' is too long Failed validating 'maxLength' in schema['properties']['resource_class']\", \"debuginfo\": null}"} DEBUG util.py:445: POST: /v1/allocations {'candidate_nodes': [], 'extra': {}, 'name': None, 'resource_class': 'baremetal', 'traits': [], 'uuid': 'ec298aba-3800-4a35-b78c-425cfbd06935', '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-f171f819-57a6-4c44-8fcd-76db9d6abbe8 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Schema error for allocation: Additional properties are not allowed ('node_uuid' was unexpected) Failed validating 'additionalProperties' in schema\", \"debuginfo\": null}"} DEBUG util.py:445: POST: /v1/allocations {'candidate_nodes': [], 'extra': {}, 'name': None, 'resource_class': 'baremetal', 'traits': [], 'uuid': '77d5acf4-03ae-42b1-886b-e6647866a554', '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/77d5acf4-03ae-42b1-886b-e6647866a554 DEBUG util.py:445: Openstack-Request-Id: req-d229bd27-e6ea-4d9e-8956-b2bae81c93d1 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.60 DEBUG util.py:445: {"uuid": "77d5acf4-03ae-42b1-886b-e6647866a554", "created_at": "2024-05-14T11:53:59.715287+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/77d5acf4-03ae-42b1-886b-e6647866a554", "rel": "self"}, {"href": "http://localhost/allocations/77d5acf4-03ae-42b1-886b-e6647866a554", "rel": "bookmark"}], "node_uuid": null} DEBUG util.py:445: GET: /v1/allocations/77d5acf4-03ae-42b1-886b-e6647866a554 {} DEBUG util.py:445: GOT:{'uuid': '77d5acf4-03ae-42b1-886b-e6647866a554', 'created_at': '2024-05-14T11:53:59.715287+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/77d5acf4-03ae-42b1-886b-e6647866a554', 'rel': 'self'}, {'href': 'http://localhost/allocations/77d5acf4-03ae-42b1-886b-e6647866a554', 'rel': 'bookmark'}], 'node_uuid': None} DEBUG util.py:445: POST: /v1/allocations {'candidate_nodes': [], 'extra': {}, 'name': None, 'resource_class': 'baremetal', 'traits': [], 'uuid': 'b4d65c59-cfb5-419d-a97d-ba16cc80b380', '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-56f02946-40eb-4b3b-9377-6d4c249205b5 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.60 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: fake\", \"debuginfo\": null}"} DEBUG util.py:445: GET: /v1/chassis?detail=True&fields=description {} DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_chassis.TestListChassis.test_detail_using_query_and_fields [0.093093s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_allocation.TestPatch.test_replace_invalid_name [0.046013s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_chassis.TestDelete.test_delete_chassis [0.042022s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_chassis.TestDelete.test_delete_chassis_not_found [0.023468s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_allocation.TestPatch.test_replace_name_with_none [0.035153s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_chassis.TestListChassis.test_get_collection_custom_fields [0.095329s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_chassis.TestListChassis.test_collection_links [0.026504s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_chassis.TestListChassis.test_get_one [0.036834s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_chassis.TestListChassis.test_detail [0.028681s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_allocation.TestPost.test_backfill_with_name [0.053736s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_chassis.TestListChassis.test_one [0.021286s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_chassis.TestListChassis.test_detail_query_false [0.027286s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_chassis.TestPatch.test_add_root_non_existent [0.029725s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_chassis.TestListChassis.test_empty [0.019517s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_chassis.TestPatch.test_patch_nodes_subresource [0.028477s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_chassis.TestListChassis.test_get_collection_pagination_no_uuid [0.023660s] ... ok DEBUG util.py:445: GOT:{'uuid': '5a5e6529-84ee-4225-b58c-4f7c6e686832', 'created_at': '2024-05-14T11:53:59.807124+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/5a5e6529-84ee-4225-b58c-4f7c6e686832', 'rel': 'self'}, {'href': 'http://localhost/allocations/5a5e6529-84ee-4225-b58c-4f7c6e686832', 'rel': 'bookmark'}], 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123'} DEBUG util.py:445: GET: /v1/allocations {} DEBUG util.py:445: GOT:{'allocations': [{'uuid': 'ba779c34-6e31-4d09-a52e-717737e4ef55', 'created_at': '2024-05-14T11:53:59.835602+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/ba779c34-6e31-4d09-a52e-717737e4ef55', 'rel': 'self'}, {'href': 'http://localhost/allocations/ba779c34-6e31-4d09-a52e-717737e4ef55', '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-f861883b-3d68-491b-a6eb-f8f93976e55a DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"The sort_key value \\\"foo\\\" is an invalid field for sorting\", \"debuginfo\": null}"} DEBUG util.py:445: GET: /v1/allocations?sort_key=extra {} DEBUG util.py:445: GOT:Response: 400 Bad Request DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-3a032e82-3871-4830-a4e4-fa7b6e52833b DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"The sort_key value extra is an invalid field for sorting\", \"debuginfo\": null}"} DEBUG util.py:445: GET: /v1/allocations?sort_key=internal_info {} DEBUG util.py:445: GOT:Response: 400 Bad Request DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-b0834ace-7000-444d-903c-30e1e3bfd041 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"The sort_key value \\\"internal_info\\\" is an invalid field for sorting\", \"debuginfo\": null}"} DEBUG util.py:445: GET: /v1/allocations?sort_key=properties {} DEBUG util.py:445: GOT:Response: 400 Bad Request DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-85e237a0-c9e6-4477-ad42-d19cc06ce5ca DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"The sort_key value \\\"properties\\\" is an invalid field for sorting\", \"debuginfo\": null}"} DEBUG util.py:445: PATCH: /v1/allocations/430e0473-d56d-4337-8555-1d6d5275d628 [{'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-3c41e965-63e6-4940-8871-032f4fa19348 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Couldn't apply patch '{'path': '/extra/non-existent', 'op': 'remove'}'. Reason: can't remove non-existent object 'non-existent'\", \"debuginfo\": null}"} DEBUG util.py:445: PATCH: /v1/allocations/b0f9e4e8-3472-441f-aa88-6b43ed29d28e [{'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-08ac3639-c04f-435e-ae7c-999a87dbdd4b DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Cannot update allocation with invalid name '[test]'\", \"debuginfo\": null}"} DEBUG util.py:445: PATCH: /v1/allocations/6e290063-a63b-4ab8-b296-4fc39f53e823 [{'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-98ec6a08-7a81-48d8-a6fb-fbfa2e3a412f DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"uuid": "6e290063-a63b-4ab8-b296-4fc39f53e823", "created_at": "2024-05-14T11:53:59.966626+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/6e290063-a63b-4ab8-b296-4fc39f53e823", "rel": "self"}, {"href": "http://localhost/allocations/6e290063-a63b-4ab8-b296-4fc39f53e823", "rel": "bookmark"}], "node_uuid": null} DEBUG util.py:445: GET: /v1/allocations/6e290063-a63b-4ab8-b296-4fc39f53e823 {} DEBUG util.py:445: GOT:{'uuid': '6e290063-a63b-4ab8-b296-4fc39f53e823', 'created_at': '2024-05-14T11:53:59.966626+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/6e290063-a63b-4ab8-b296-4fc39f53e823', 'rel': 'self'}, {'href': 'http://localhost/allocations/6e290063-a63b-4ab8-b296-4fc39f53e823', 'rel': 'bookmark'}], 'node_uuid': None} DEBUG util.py:445: POST: /v1/allocations {'candidate_nodes': [], 'extra': {}, 'name': None, 'resource_class': 'baremetal', 'traits': [], 'uuid': 'fbc8782f-08fd-48ff-8476-13c922184bd8', '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/fbc8782f-08fd-48ff-8476-13c922184bd8 DEBUG util.py:445: Openstack-Request-Id: req-674b93ca-d2e9-4561-a330-8d068362f7c2 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"uuid": "fbc8782f-08fd-48ff-8476-13c922184bd8", "created_at": "2024-05-14T11:54:00.027425+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/fbc8782f-08fd-48ff-8476-13c922184bd8", "rel": "self"}, {"href": "http://localhost/allocations/fbc8782f-08fd-48ff-8476-13c922184bd8", "rel": "bookmark"}], "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123"} DEBUG util.py:445: GET: /v1/allocations/fbc8782f-08fd-48ff-8476-13c922184bd8 {} DEBUG util.py:445: GOT:{'uuid': 'fbc8782f-08fd-48ff-8476-13c922184bd8', 'created_at': '2024-05-14T11:54:00.027425+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/fbc8782f-08fd-48ff-8476-13c922184bd8', 'rel': 'self'}, {'href': 'http://localhost/allocations/fbc8782f-08fd-48ff-8476-13c922184bd8', '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': 'd4ef041e-044d-4da3-a0a3-f3b64728173e', '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/d4ef041e-044d-4da3-a0a3-f3b64728173e DEBUG util.py:445: Openstack-Request-Id: req-7da623ef-7c04-41e5-86ef-fa1d0726de93 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"uuid": "d4ef041e-044d-4da3-a0a3-f3b64728173e", "created_at": "2024-05-14T11:54:00.060334+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/d4ef041e-044d-4da3-a0a3-f3b64728173e", "rel": "self"}, {"href": "http://localhost/allocations/d4ef041e-044d-4da3-a0a3-f3b64728173e", "rel": "bookmark"}], "node_uuid": null} DEBUG util.py:445: GET: /v1/allocations/d4ef041e-044d-4da3-a0a3-f3b64728173e {} DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_allocation.TestPost.test_create_allocation_doesnt_contain_id [0.027883s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_allocation.TestPost.test_create_allocation_invalid_api_version [0.017022s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_allocation.TestPost.test_create_allocation_name_invalid [0.020301s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_chassis.TestListChassis.test_many [0.026275s] ... ok DEBUG util.py:443: /builddir/build/BUILD/ironic-18.3.1.dev11/ironic/db/sqlalchemy/api.py:1129: SAWarning: TypeDecorator JsonEncodedDict() will not produce a cache key because the ``cache_ok`` attribute is not set to True. This can have significant performance implications including some performance degradations in comparison to prior SQLAlchemy versions. Set this attribute to True if this type object's state is safe to use in a cache key, or False to disable this warning. (Background on this error at: https://sqlalche.me/e/14/cprf) DEBUG util.py:443: count = query.update(values) DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_allocation.TestPost.test_create_allocation_owner_not_my_projet_id [0.030308s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_chassis.TestListChassis.test_nodes_subresource_chassis_not_found [0.028154s] ... ok DEBUG util.py:443: /builddir/build/BUILD/ironic-18.3.1.dev11/ironic/db/sqlalchemy/api.py:1129: SAWarning: TypeDecorator JsonEncodedDict() will not produce a cache key because the ``cache_ok`` attribute is not set to True. This can have significant performance implications including some performance degradations in comparison to prior SQLAlchemy versions. Set this attribute to True if this type object's state is safe to use in a cache key, or False to disable this warning. (Background on this error at: https://sqlalche.me/e/14/cprf) DEBUG util.py:443: count = query.update(values) DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_allocation.TestPost.test_create_allocation_valid_extra [0.039122s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_chassis.TestListChassis.test_nodes_subresource_no_uuid [0.026573s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_chassis.TestPatch.test_remove_multi [0.089411s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_allocation.TestPost.test_create_allocation_with_candidate_nodes [0.057176s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_chassis.TestPatch.test_remove_singular [0.069116s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_allocation.TestPost.test_create_allocation_with_traits [0.029999s] ... ok DEBUG util.py:445: GOT:{'uuid': 'aa54d800-98ce-496e-9d3e-8f8cb7663c66', 'created_at': '2024-05-14T11:53:59.875426+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/aa54d800-98ce-496e-9d3e-8f8cb7663c66', 'rel': 'self'}, {'href': 'http://localhost/allocations/aa54d800-98ce-496e-9d3e-8f8cb7663c66', 'rel': 'bookmark'}], 'node_uuid': None} DEBUG util.py:445: POST: /v1/allocations {'candidate_nodes': [], 'extra': {}, 'name': None, 'resource_class': 'baremetal', 'traits': [], 'uuid': '52dce238-1010-42ec-98c8-cc35cc166605', '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-36b265ca-e8db-4756-ae80-1c9fe4598e86 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.59 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Request not acceptable.\", \"debuginfo\": null}"} DEBUG util.py:445: 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-7556f640-d206-45da-91c8-b2325df5af73 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.1 DEBUG util.py:445: GET: /v1/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66 {} DEBUG util.py:445: GOT:Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-9ae6d31e-b083-45c6-b210-fb886666e35a DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.1 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Chassis e74c40e0-d825-11e2-a28f-0800200c9a66 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: DELETE: /v1/chassis/d7334ded-b578-41db-89d5-7399c6e02d9e DEBUG util.py:445: GOT:Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-273859de-1264-4b6d-bb52-bbbaeff5f9ac DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.1 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Chassis d7334ded-b578-41db-89d5-7399c6e02d9e could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: GET: /v1/chassis/?limit=3 {} DEBUG util.py:445: GOT:{'chassis': [{'uuid': '650ad834-5ab2-47da-8821-68b10d9ec398', 'description': 'data-center-1-chassis', 'links': [{'href': 'http://localhost/v1/chassis/650ad834-5ab2-47da-8821-68b10d9ec398', 'rel': 'self'}, {'href': 'http://localhost/chassis/650ad834-5ab2-47da-8821-68b10d9ec398', 'rel': 'bookmark'}]}, {'uuid': 'b95157a3-ae0b-4227-8b57-35335d2c0881', 'description': 'data-center-1-chassis', 'links': [{'href': 'http://localhost/v1/chassis/b95157a3-ae0b-4227-8b57-35335d2c0881', 'rel': 'self'}, {'href': 'http://localhost/chassis/b95157a3-ae0b-4227-8b57-35335d2c0881', 'rel': 'bookmark'}]}, {'uuid': 'dcdb9270-83c8-4913-9c82-5321d7feef47', 'description': 'data-center-1-chassis', 'links': [{'href': 'http://localhost/v1/chassis/dcdb9270-83c8-4913-9c82-5321d7feef47', 'rel': 'self'}, {'href': 'http://localhost/chassis/dcdb9270-83c8-4913-9c82-5321d7feef47', 'rel': 'bookmark'}]}], 'next': 'http://localhost/v1/chassis?sort_key=id&sort_dir=asc&fields=uuid,description&limit=3&marker=dcdb9270-83c8-4913-9c82-5321d7feef47'} DEBUG util.py:445: GET: /v1/chassis/detail {} DEBUG util.py:445: GOT:{'chassis': [{'uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'created_at': '2024-05-14T11:54:00.025735+00:00', 'updated_at': None, 'description': 'data-center-1-chassis', 'extra': {}, 'links': [{'href': 'http://localhost/v1/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66', 'rel': 'self'}, {'href': 'http://localhost/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66', 'rel': 'bookmark'}], 'nodes': [[{'href': 'http://localhost/v1/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66/nodes', 'rel': 'self'}, {'href': 'http://localhost/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66/nodes', 'rel': 'bookmark'}]]}]} DEBUG util.py:445: GET: /v1/chassis {} DEBUG util.py:445: GOT:{'chassis': [{'uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'description': 'data-center-1-chassis', 'links': [{'href': 'http://localhost/v1/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66', 'rel': 'self'}, {'href': 'http://localhost/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66', 'rel': 'bookmark'}]}]} DEBUG util.py:445: GET: /v1/chassis?detail=False {} DEBUG util.py:445: GOT:{'chassis': [{'uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'description': 'data-center-1-chassis', 'links': [{'href': 'http://localhost/v1/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66', 'rel': 'self'}, {'href': 'http://localhost/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66', 'rel': 'bookmark'}]}]} DEBUG util.py:445: GET: /v1/chassis {} DEBUG util.py:445: GOT:{'chassis': []} DEBUG util.py:445: GET: /v1/chassis?fields=extra&limit=2 {} DEBUG util.py:445: GOT:{'chassis': [{'extra': {}, 'links': [{'href': 'http://localhost/v1/chassis/b36bf2db-befc-418d-addd-1289a34438dc', 'rel': 'self'}, {'href': 'http://localhost/chassis/b36bf2db-befc-418d-addd-1289a34438dc', 'rel': 'bookmark'}]}, {'extra': {}, 'links': [{'href': 'http://localhost/v1/chassis/24bfa167-d9a1-4f33-8007-83ba17420c43', 'rel': 'self'}, {'href': 'http://localhost/chassis/24bfa167-d9a1-4f33-8007-83ba17420c43', 'rel': 'bookmark'}]}], 'next': 'http://localhost/v1/chassis?sort_key=id&sort_dir=asc&fields=extra&limit=2&marker=24bfa167-d9a1-4f33-8007-83ba17420c43'} DEBUG util.py:445: GET: /v1/chassis {} DEBUG util.py:445: GOT:{'chassis': [{'uuid': '42172eb2-3d49-4bfb-8c48-a9b5fc64d694', 'description': 'data-center-1-chassis', 'links': [{'href': 'http://localhost/v1/chassis/42172eb2-3d49-4bfb-8c48-a9b5fc64d694', 'rel': 'self'}, {'href': 'http://localhost/chassis/42172eb2-3d49-4bfb-8c48-a9b5fc64d694', 'rel': 'bookmark'}]}, {'uuid': '5767f145-bbcd-4859-a1fa-37b0144ee089', 'description': 'data-center-1-chassis', 'links': [{'href': 'http://localhost/v1/chassis/5767f145-bbcd-4859-a1fa-37b0144ee089', 'rel': 'self'}, {'href': 'http://localhost/chassis/5767f145-bbcd-4859-a1fa-37b0144ee089', 'rel': 'bookmark'}]}, {'uuid': 'b508bcb5-cef1-4487-9d93-85664b03337a', 'description': 'data-center-1-chassis', 'links': [{'href': 'http://localhost/v1/chassis/b508bcb5-cef1-4487-9d93-85664b03337a', 'rel': 'self'}, {'href': 'http://localhost/chassis/b508bcb5-cef1-4487-9d93-85664b03337a', 'rel': 'bookmark'}]}, {'uuid': '5f20d713-6844-4e27-b6ed-b1cb535835ef', 'description': 'data-center-1-chassis', 'links': [{'href': 'http://localhost/v1/chassis/5f20d713-6844-4e27-b6ed-b1cb535835ef', 'rel': 'self'}, {'href': 'http://localhost/chassis/5f20d713-6844-4e27-b6ed-b1cb535835ef', 'rel': 'bookmark'}]}, {'uuid': '24a55160-1c5a-4204-9db8-53251b920753', 'description': 'data-center-1-chassis', 'links': [{'href': 'http://localhost/v1/chassis/24a55160-1c5a-4204-9db8-53251b920753', 'rel': 'self'}, {'href': 'http://localhost/chassis/24a55160-1c5a-4204-9db8-53251b920753', '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-a5ebc0da-ccde-48d7-9e21-100748570cf3 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.1 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Chassis eeeeeeee-cccc-aaaa-bbbb-cccccccccccc could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: 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-99f54ae9-6826-4854-96c9-16eed0071b61 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.1 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Chassis id not specified.\", \"debuginfo\": null}"} DEBUG util.py:445: GET: /v1/chassis?sort_key=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-6fbd62cb-9fa7-4708-9262-0d7582445495 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.1 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"The sort_key value \\\"foo\\\" is an invalid field for sorting\", \"debuginfo\": null}"} DEBUG util.py:445: GET: /v1/chassis?sort_key=extra {} DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_chassis.TestListChassis.test_sort_key_invalid [0.020853s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_chassis.TestPatch.test_add_root [0.028051s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_chassis.TestPatch.test_replace_singular [0.027612s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_allocation.TestPost.test_create_restricted_allocation_forbidden [0.028371s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_chassis.TestPost.test_create_chassis [0.029626s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_chassis.TestPost.test_create_chassis_invalid_description [0.020723s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_chassis.TestPost.test_create_chassis_toolong_description [0.024812s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_chassis.TestPost.test_post_nodes_subresource [0.037148s] ... ok DEBUG util.py:445: GOT:{'uuid': 'd4ef041e-044d-4da3-a0a3-f3b64728173e', 'created_at': '2024-05-14T11:54:00.060334+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/d4ef041e-044d-4da3-a0a3-f3b64728173e', 'rel': 'self'}, {'href': 'http://localhost/allocations/d4ef041e-044d-4da3-a0a3-f3b64728173e', 'rel': 'bookmark'}], 'node_uuid': None} DEBUG util.py:445: POST: /v1/allocations {'candidate_nodes': [], 'extra': {}, 'name': None, 'resource_class': 'baremetal', 'traits': [], 'uuid': '4e6b0f91-36e3-47e4-a475-1c9b3e8d712e', 'owner': None} DEBUG util.py:445: GOT:Response: 405 Method Not Allowed DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: {"error_message": "{\"code\": 405, \"title\": \"Method Not Allowed\", \"description\": \"The API version does not allow allocations\"}"} DEBUG util.py:445: POST: /v1/allocations {'candidate_nodes': [], 'extra': {}, 'name': 'aa:bb_cc', 'resource_class': 'baremetal', 'traits': [], 'uuid': '4bcfeefa-38c1-4224-99a1-c2a88f6ee2aa', '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-7d42858e-d688-4ccf-9fd6-4e84df8c5011 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Cannot create allocation with invalid name 'aa:bb_cc'\", \"debuginfo\": null}"} DEBUG util.py:445: POST: /v1/allocations {'candidate_nodes': [], 'extra': {}, 'name': None, 'resource_class': 'baremetal', 'traits': [], 'uuid': 'd8190ebd-e0f9-4d16-880b-9ebe4f0c1fdf', '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-2653383c-2896-4776-9db4-ef0b6ad26abd DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Cannot create allocation with an owner Project ID value 12345 not matching the requestor Project ID 0987. Policy baremetal:allocation:create_restricted is required for this capability.\", \"debuginfo\": null}"} DEBUG util.py:445: POST: /v1/allocations {'candidate_nodes': [], 'extra': {'str': 'foo', 'int': 123, 'float': 0.1, 'bool': True, 'list': [1, 2], 'none': None, 'dict': {'cat': 'meow'}}, 'name': None, 'resource_class': 'baremetal', 'traits': [], 'uuid': 'a99449e4-868d-4d23-916b-c3086bd9e02b', '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/a99449e4-868d-4d23-916b-c3086bd9e02b DEBUG util.py:445: Openstack-Request-Id: req-f3350b65-84f4-4eb1-92ee-007df7792123 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"uuid": "a99449e4-868d-4d23-916b-c3086bd9e02b", "created_at": "2024-05-14T11:54:00.167580+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/a99449e4-868d-4d23-916b-c3086bd9e02b", "rel": "self"}, {"href": "http://localhost/allocations/a99449e4-868d-4d23-916b-c3086bd9e02b", "rel": "bookmark"}], "node_uuid": null} DEBUG util.py:445: GET: /v1/allocations/a99449e4-868d-4d23-916b-c3086bd9e02b {} DEBUG util.py:445: GOT:{'uuid': 'a99449e4-868d-4d23-916b-c3086bd9e02b', 'created_at': '2024-05-14T11:54:00.167580+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/a99449e4-868d-4d23-916b-c3086bd9e02b', 'rel': 'self'}, {'href': 'http://localhost/allocations/a99449e4-868d-4d23-916b-c3086bd9e02b', 'rel': 'bookmark'}], 'node_uuid': None} DEBUG util.py:445: POST: /v1/allocations {'candidate_nodes': ['node-1', 'b3e55b0d-04eb-4261-af41-868dc9a847a4'], 'extra': {}, 'name': None, 'resource_class': 'baremetal', 'traits': [], 'uuid': '885ba6aa-6ac7-4c88-8fd5-92eae2104088', '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/885ba6aa-6ac7-4c88-8fd5-92eae2104088 DEBUG util.py:445: Openstack-Request-Id: req-334ad0b0-b859-43b0-8abb-1f1cbb391257 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"uuid": "885ba6aa-6ac7-4c88-8fd5-92eae2104088", "created_at": "2024-05-14T11:54:00.220846+00:00", "updated_at": null, "candidate_nodes": ["1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "b3e55b0d-04eb-4261-af41-868dc9a847a4"], "extra": {}, "last_error": null, "name": null, "owner": null, "resource_class": "baremetal", "state": "allocating", "traits": [], "links": [{"href": "http://localhost/v1/allocations/885ba6aa-6ac7-4c88-8fd5-92eae2104088", "rel": "self"}, {"href": "http://localhost/allocations/885ba6aa-6ac7-4c88-8fd5-92eae2104088", "rel": "bookmark"}], "node_uuid": null} DEBUG util.py:445: GET: /v1/allocations/885ba6aa-6ac7-4c88-8fd5-92eae2104088 {} DEBUG util.py:445: GOT:{'uuid': '885ba6aa-6ac7-4c88-8fd5-92eae2104088', 'created_at': '2024-05-14T11:54:00.220846+00:00', 'updated_at': None, 'candidate_nodes': ['1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'b3e55b0d-04eb-4261-af41-868dc9a847a4'], 'extra': {}, 'last_error': None, 'name': None, 'owner': None, 'resource_class': 'baremetal', 'state': 'allocating', 'traits': [], 'links': [{'href': 'http://localhost/v1/allocations/885ba6aa-6ac7-4c88-8fd5-92eae2104088', 'rel': 'self'}, {'href': 'http://localhost/allocations/885ba6aa-6ac7-4c88-8fd5-92eae2104088', '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': '476d90d2-5014-44f1-991d-efda18e8e6af', '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/476d90d2-5014-44f1-991d-efda18e8e6af DEBUG util.py:445: Openstack-Request-Id: req-899bbd83-703d-41e6-9ea7-a6ccb0f095bd DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"uuid": "476d90d2-5014-44f1-991d-efda18e8e6af", "created_at": "2024-05-14T11:54:00.254659+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/476d90d2-5014-44f1-991d-efda18e8e6af", "rel": "self"}, {"href": "http://localhost/allocations/476d90d2-5014-44f1-991d-efda18e8e6af", "rel": "bookmark"}], "node_uuid": null} DEBUG util.py:445: GET: /v1/allocations/476d90d2-5014-44f1-991d-efda18e8e6af {} DEBUG util.py:445: GOT:{'uuid': '476d90d2-5014-44f1-991d-efda18e8e6af', 'created_at': '2024-05-14T11:54:00.254659+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/476d90d2-5014-44f1-991d-efda18e8e6af', 'rel': 'self'}, {'href': 'http://localhost/allocations/476d90d2-5014-44f1-991d-efda18e8e6af', 'rel': 'bookmark'}], 'node_uuid': None} DEBUG util.py:445: POST: /v1/allocations {'candidate_nodes': [], 'extra': {}, 'name': None, 'resource_class': 'baremetal', 'traits': [], 'uuid': '45175022-e7a6-4837-b2e5-c99e3a72ef57', '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-7277a08d-969b-42f0-b28f-dda700c243d2 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.60 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: fake\", \"debuginfo\": null}"} DEBUG util.py:445: GOT:Response: 400 Bad Request DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-88e6897a-0ce1-421d-b9db-4c3705c52644 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Can not specify ?detail=True and fields in the same request.\", \"debuginfo\": null}"} DEBUG util.py:445: GET: /v1/chassis?fields=uuid,extra {} DEBUG util.py:445: GOT:{'chassis': [{'uuid': '847432c4-8858-4dea-bd8f-6cd66ea1c1a4', 'extra': {}, 'links': [{'href': 'http://localhost/v1/chassis/847432c4-8858-4dea-bd8f-6cd66ea1c1a4', 'rel': 'self'}, {'href': 'http://localhost/chassis/847432c4-8858-4dea-bd8f-6cd66ea1c1a4', 'rel': 'bookmark'}]}, {'uuid': '7939a14f-cc31-41b1-b0c1-13630d7a6b37', 'extra': {}, 'links': [{'href': 'http://localhost/v1/chassis/7939a14f-cc31-41b1-b0c1-13630d7a6b37', 'rel': 'self'}, {'href': 'http://localhost/chassis/7939a14f-cc31-41b1-b0c1-13630d7a6b37', 'rel': 'bookmark'}]}, {'uuid': '6f098bc6-e3cd-4762-90bf-1f4cc5803c0e', 'extra': {}, 'links': [{'href': 'http://localhost/v1/chassis/6f098bc6-e3cd-4762-90bf-1f4cc5803c0e', 'rel': 'self'}, {'href': 'http://localhost/chassis/6f098bc6-e3cd-4762-90bf-1f4cc5803c0e', 'rel': 'bookmark'}]}]} DEBUG util.py:445: GET: /v1/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66 {} DEBUG util.py:445: GOT:{'uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'created_at': '2024-05-14T11:54:00.012703+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: PATCH: /v1/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66 [{'path': '/foo', 'value': 'bar', 'op': 'add'}] DEBUG util.py:445: GOT:Response: 400 Bad Request DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-61230a3b-3640-400e-a567-c8b5424dcd9e DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.1 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Cannot patch /foo. Only the following can be updated: uuid, extra, description\", \"debuginfo\": null}"} DEBUG util.py:445: 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-b5dca277-93b9-41c2-86c5-d64bea2a8824 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.1 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Operation not permitted.\", \"debuginfo\": null}"} DEBUG util.py:445: PATCH: /v1/chassis/211f2830-718d-416f-9f0c-50187e90da0d [{'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-9f38c5bd-87b8-410e-8c29-db114efd9921 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.1 DEBUG util.py:445: {"uuid": "211f2830-718d-416f-9f0c-50187e90da0d", "created_at": "2024-05-14T11:54:00.118077+00:00", "updated_at": "2024-05-14T11:54:00.135860+00:00", "description": "foobar", "extra": {"foo1": "bar1", "foo3": "bar3"}, "links": [{"href": "http://localhost/v1/chassis/211f2830-718d-416f-9f0c-50187e90da0d", "rel": "self"}, {"href": "http://localhost/chassis/211f2830-718d-416f-9f0c-50187e90da0d", "rel": "bookmark"}], "nodes": [[{"href": "http://localhost/v1/chassis/211f2830-718d-416f-9f0c-50187e90da0d/nodes", "rel": "self"}, {"href": "http://localhost/chassis/211f2830-718d-416f-9f0c-50187e90da0d/nodes", "rel": "bookmark"}]]} DEBUG util.py:445: GET: /v1/chassis/211f2830-718d-416f-9f0c-50187e90da0d {} DEBUG util.py:445: GOT:{'uuid': '211f2830-718d-416f-9f0c-50187e90da0d', 'created_at': '2024-05-14T11:54:00.118077+00:00', 'updated_at': '2024-05-14T11:54:00.135860+00:00', 'description': 'foobar', 'extra': {'foo1': 'bar1', 'foo3': 'bar3'}, 'links': [{'href': 'http://localhost/v1/chassis/211f2830-718d-416f-9f0c-50187e90da0d', 'rel': 'self'}, {'href': 'http://localhost/chassis/211f2830-718d-416f-9f0c-50187e90da0d', 'rel': 'bookmark'}], 'nodes': [[{'href': 'http://localhost/v1/chassis/211f2830-718d-416f-9f0c-50187e90da0d/nodes', 'rel': 'self'}, {'href': 'http://localhost/chassis/211f2830-718d-416f-9f0c-50187e90da0d/nodes', 'rel': 'bookmark'}]]} DEBUG util.py:445: PATCH: /v1/chassis/211f2830-718d-416f-9f0c-50187e90da0d [{'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-c71a8bdc-d1b8-4655-882e-cd1be70813b5 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.1 DEBUG util.py:445: {"uuid": "211f2830-718d-416f-9f0c-50187e90da0d", "created_at": "2024-05-14T11:54:00.118077+00:00", "updated_at": "2024-05-14T11:54:00.180460+00:00", "description": "foobar", "extra": {}, "links": [{"href": "http://localhost/v1/chassis/211f2830-718d-416f-9f0c-50187e90da0d", "rel": "self"}, {"href": "http://localhost/chassis/211f2830-718d-416f-9f0c-50187e90da0d", "rel": "bookmark"}], "nodes": [[{"href": "http://localhost/v1/chassis/211f2830-718d-416f-9f0c-50187e90da0d/nodes", "rel": "self"}, {"href": "http://localhost/chassis/211f2830-718d-416f-9f0c-50187e90da0d/nodes", "rel": "bookmark"}]]} DEBUG util.py:445: GET: /v1/chassis/211f2830-718d-416f-9f0c-50187e90da0d {} DEBUG util.py:445: GOT:{'uuid': '211f2830-718d-416f-9f0c-50187e90da0d', 'created_at': '2024-05-14T11:54:00.118077+00:00', 'updated_at': '2024-05-14T11:54:00.180460+00:00', 'description': 'foobar', 'extra': {}, 'links': [{'href': 'http://localhost/v1/chassis/211f2830-718d-416f-9f0c-50187e90da0d', 'rel': 'self'}, {'href': 'http://localhost/chassis/211f2830-718d-416f-9f0c-50187e90da0d', 'rel': 'bookmark'}], 'nodes': [[{'href': 'http://localhost/v1/chassis/211f2830-718d-416f-9f0c-50187e90da0d/nodes', 'rel': 'self'}, {'href': 'http://localhost/chassis/211f2830-718d-416f-9f0c-50187e90da0d/nodes', 'rel': 'bookmark'}]]} DEBUG util.py:445: PATCH: /v1/chassis/51fa916a-bea3-4d74-b8c2-ed243e34d651 [{'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-fa030bdd-c72b-430b-ba09-e5bec04323eb DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.1 DEBUG util.py:445: {"uuid": "51fa916a-bea3-4d74-b8c2-ed243e34d651", "created_at": "2024-05-14T11:54:00.241713+00:00", "updated_at": "2024-05-14T11:54:00.250023+00:00", "description": null, "extra": {"a": "b"}, "links": [{"href": "http://localhost/v1/chassis/51fa916a-bea3-4d74-b8c2-ed243e34d651", "rel": "self"}, {"href": "http://localhost/chassis/51fa916a-bea3-4d74-b8c2-ed243e34d651", "rel": "bookmark"}], "nodes": [[{"href": "http://localhost/v1/chassis/51fa916a-bea3-4d74-b8c2-ed243e34d651/nodes", "rel": "self"}, {"href": "http://localhost/chassis/51fa916a-bea3-4d74-b8c2-ed243e34d651/nodes", "rel": "bookmark"}]]} DEBUG util.py:445: GET: /v1/chassis/51fa916a-bea3-4d74-b8c2-ed243e34d651 {} DEBUG util.py:445: GOT:{'uuid': '51fa916a-bea3-4d74-b8c2-ed243e34d651', 'created_at': '2024-05-14T11:54:00.241713+00:00', 'updated_at': '2024-05-14T11:54:00.250023+00:00', 'description': None, 'extra': {'a': 'b'}, 'links': [{'href': 'http://localhost/v1/chassis/51fa916a-bea3-4d74-b8c2-ed243e34d651', 'rel': 'self'}, {'href': 'http://localhost/chassis/51fa916a-bea3-4d74-b8c2-ed243e34d651', 'rel': 'bookmark'}], 'nodes': [[{'href': 'http://localhost/v1/chassis/51fa916a-bea3-4d74-b8c2-ed243e34d651/nodes', 'rel': 'self'}, {'href': 'http://localhost/chassis/51fa916a-bea3-4d74-b8c2-ed243e34d651/nodes', 'rel': 'bookmark'}]]} DEBUG util.py:445: PATCH: /v1/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66 [{'path': '/uuid', 'op': 'remove'}] DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_chassis.TestPatch.test_remove_uuid [0.066771s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_chassis.TestPatch.test_update_not_found [0.044482s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_collection.TestCollection.test_has_next [0.018673s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_chassis.TestPost.test_create_chassis_doesnt_contain_id [0.026927s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_allocation.TestPost.test_create_restricted_allocation_older_version [0.118134s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_conductor.TestListConductors.test_empty [0.028902s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_conductor.TestListConductors.test_get_one_conductor_offline [0.027463s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_chassis.TestDelete.test_delete_chassis_with_node [0.058318s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_chassis.TestPost.test_create_chassis_valid_extra [0.061961s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_conductor.TestListConductors.test_get_one_custom_fields [0.034378s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_collection.TestCollection.test_list_convert_with_links [0.042655s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_chassis.TestDelete.test_delete_nodes_subresource [0.050883s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_conductor.TestListConductors.test_collection_links_custom_fields [0.081095s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_chassis.TestListChassis.test_collection_links_default_limit [0.055010s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_chassis.TestListChassis.test_detail_query [0.044211s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_conductor.TestListConductors.test_collection_links_default_limit [0.070892s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_chassis.TestListChassis.test_detail_using_query_old_version [0.062069s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_chassis.TestListChassis.test_get_custom_fields_invalid_fields [0.043110s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_conductor.TestListConductors.test_get_collection_custom_fields [0.067725s] ... 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-f63aadbb-f84a-4c58-989d-f999bfbf7302 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.1 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"The sort_key value extra is an invalid field for sorting\", \"debuginfo\": null}"} DEBUG util.py:445: PATCH: /v1/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66 [{'path': '/description', 'value': 'test', 'op': 'add'}] DEBUG util.py:445: GOT:Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-2c6fdd65-60af-4ebd-83f9-cbb66672170b DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.1 DEBUG util.py:445: {"uuid": "e74c40e0-d825-11e2-a28f-0800200c9a66", "created_at": "2024-05-14T11:54:00.224004+00:00", "updated_at": "2024-05-14T11:54:00.230412+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': '/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-b182c02c-4e1d-4b16-9a9e-7fc6fa84cac8 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.1 DEBUG util.py:445: {"uuid": "e74c40e0-d825-11e2-a28f-0800200c9a66", "created_at": "2024-05-14T11:54:00.248400+00:00", "updated_at": "2000-01-01T00:00:00+00:00", "description": "chassis-new-description", "extra": {}, "links": [{"href": "http://localhost/v1/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66", "rel": "self"}, {"href": "http://localhost/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66", "rel": "bookmark"}], "nodes": [[{"href": "http://localhost/v1/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66/nodes", "rel": "self"}, {"href": "http://localhost/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66/nodes", "rel": "bookmark"}]]} DEBUG util.py:445: GET: /v1/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66 {} DEBUG util.py:445: GOT:{'uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'created_at': '2024-05-14T11:54:00.248400+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': {}, '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-e3ae8f84-e088-4570-937f-6d5aec8c7ae1 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.1 DEBUG util.py:445: {"uuid": "e74c40e0-d825-11e2-a28f-0800200c9a66", "created_at": "2000-01-01T00:00:00+00:00", "updated_at": null, "description": "data-center-1-chassis", "extra": {}, "links": [{"href": "http://localhost/v1/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66", "rel": "self"}, {"href": "http://localhost/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66", "rel": "bookmark"}], "nodes": [[{"href": "http://localhost/v1/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66/nodes", "rel": "self"}, {"href": "http://localhost/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66/nodes", "rel": "bookmark"}]]} DEBUG util.py:445: GET: /v1/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66 {} DEBUG util.py:445: GOT:{'uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'created_at': '2000-01-01T00:00:00+00:00', 'updated_at': None, 'description': 'data-center-1-chassis', 'extra': {}, 'links': [{'href': 'http://localhost/v1/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66', 'rel': 'self'}, {'href': 'http://localhost/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66', 'rel': 'bookmark'}], 'nodes': [[{'href': 'http://localhost/v1/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66/nodes', 'rel': 'self'}, {'href': 'http://localhost/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66/nodes', 'rel': 'bookmark'}]]} DEBUG util.py:445: POST: /v1/chassis {'uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'extra': {}, '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-76187180-62c0-44c9-8a2e-b35fc54d2305 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.1 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Schema error for chassis: 1334 is not of type 'string', 'null' Failed validating 'type' in schema['properties']['description']\", \"debuginfo\": null}"} 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-23b899d4-d864-4779-89f3-0dabcec9072a DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.1 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Schema error for chassis: 'aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa' is too long Failed validating 'maxLength' in schema['properties']['description']\", \"debuginfo\": null}"} 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-f46f41ad-7563-44e1-8628-cfad5b2e4245 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.1 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Operation not permitted.\", \"debuginfo\": null}"} DEBUG util.py:445: GET: /v1/conductors {} DEBUG util.py:445: GOT:{'conductors': []} DEBUG util.py:445: GET: /v1/conductors/rocky.rocks {} DEBUG util.py:445: GOT:{'created_at': '2000-01-01T00:00:00+00:00', 'updated_at': '2000-01-01T00:00:00+00:00', 'hostname': 'rocky.rocks', 'conductor_group': '', 'drivers': ['fake-driver', 'null-driver'], 'links': [{'href': 'http://localhost/v1/conductors/rocky.rocks', 'rel': 'self'}, {'href': 'http://localhost/conductors/rocky.rocks', 'rel': 'bookmark'}], 'alive': False} DEBUG util.py:445: GET: /v1/conductors/rocky.rocks?fields=hostname,alive {} DEBUG util.py:445: GOT:{'hostname': 'rocky.rocks', 'links': [{'href': 'http://localhost/v1/conductors/rocky.rocks', 'rel': 'self'}, {'href': 'http://localhost/conductors/rocky.rocks', 'rel': 'bookmark'}], 'alive': True} DEBUG util.py:445: GET: /v1/conductors/rocky.rocks {} DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_conductor.TestListConductors.test_get_one_with_invalid_api [0.020558s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_conductor.TestListConductors.test_links [0.050366s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestDelete.test_delete_by_name [0.051964s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestDelete.test_delete_by_name_with_json [0.032455s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestDelete.test_delete_by_uuid [0.025751s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestDelete.test_delete_by_uuid_with_json [0.035524s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestListDeployTemplates.test_collection_links_custom_fields [0.033486s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestListDeployTemplates.test_detail_using_query_and_fields [0.035304s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_conductor.TestListConductors.test_get_one [0.055524s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_chassis.TestListChassis.test_get_one_custom_fields [0.080781s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestListDeployTemplates.test_detail_using_query_false_and_fields [0.035095s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestListDeployTemplates.test_empty [0.029080s] ... 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-94179bc2-6b2b-4c62-b9c4-47a3620d1eb7 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.1 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Cannot overwrite UUID for an existing Chassis.\", \"debuginfo\": null}"} DEBUG util.py:445: PATCH: /v1/chassis/4a65f72f-ea85-4a67-b874-b732dcd69019 [{'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-139688b0-ed20-4405-abed-c022fbd117a8 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.1 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Chassis 4a65f72f-ea85-4a67-b874-b732dcd69019 could not be found.\", \"debuginfo\": null}"} 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-6409c394-09b8-4644-9c83-c2de5c4a6865 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.1 DEBUG util.py:445: {"uuid": "e74c40e0-d825-11e2-a28f-0800200c9a66", "created_at": "2024-05-14T11:54:00.390621+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': '2024-05-14T11:54:00.390621+00:00', 'updated_at': None, 'description': 'data-center-1-chassis', 'extra': {'foo': 123}, 'links': [{'href': 'http://localhost/v1/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66', 'rel': 'self'}, {'href': 'http://localhost/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66', 'rel': 'bookmark'}], 'nodes': [[{'href': 'http://localhost/v1/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66/nodes', 'rel': 'self'}, {'href': 'http://localhost/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66/nodes', 'rel': 'bookmark'}]]} DEBUG util.py:445: POST: /v1/chassis {'uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'extra': {'str': 'foo', 'int': 123, 'float': 0.1, 'bool': True, 'list': [1, 2], 'none': None, 'dict': {'cat': 'meow'}}, 'description': 'data-center-1-chassis'} DEBUG util.py:445: GOT:Response: 201 Created DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Location: http://localhost/v1/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66 DEBUG util.py:445: Openstack-Request-Id: req-da93d69b-43c0-44a4-bff0-6f8158f1219c DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.1 DEBUG util.py:445: {"uuid": "e74c40e0-d825-11e2-a28f-0800200c9a66", "created_at": "2024-05-14T11:54:00.447645+00:00", "updated_at": null, "description": "data-center-1-chassis", "extra": {"str": "foo", "int": 123, "float": 0.1, "bool": true, "list": [1, 2], "none": null, "dict": {"cat": "meow"}}, "links": [{"href": "http://localhost/v1/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66", "rel": "self"}, {"href": "http://localhost/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66", "rel": "bookmark"}], "nodes": [[{"href": "http://localhost/v1/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66/nodes", "rel": "self"}, {"href": "http://localhost/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66/nodes", "rel": "bookmark"}]]} DEBUG util.py:445: GET: /v1/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66 {} DEBUG util.py:445: GOT:{'uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'created_at': '2024-05-14T11:54:00.447645+00:00', 'updated_at': None, 'description': 'data-center-1-chassis', 'extra': {'str': 'foo', 'int': 123, 'float': 0.1, 'bool': True, 'list': [1, 2], 'none': None, 'dict': {'cat': 'meow'}}, 'links': [{'href': 'http://localhost/v1/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66', 'rel': 'self'}, {'href': 'http://localhost/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66', 'rel': 'bookmark'}], 'nodes': [[{'href': 'http://localhost/v1/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66/nodes', 'rel': 'self'}, {'href': 'http://localhost/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66/nodes', 'rel': 'bookmark'}]]} DEBUG util.py:445: GET: /v1/conductors?fields=hostname,alive {} DEBUG util.py:445: GOT:{'conductors': [{'hostname': '661515a2-0ee0-4272-9d23-150434ea19e6', 'links': [{'href': 'http://localhost/v1/conductors/661515a2-0ee0-4272-9d23-150434ea19e6', 'rel': 'self'}, {'href': 'http://localhost/conductors/661515a2-0ee0-4272-9d23-150434ea19e6', 'rel': 'bookmark'}], 'alive': True}, {'hostname': '910365f5-6d2c-4418-b552-a80ba8735548', 'links': [{'href': 'http://localhost/v1/conductors/910365f5-6d2c-4418-b552-a80ba8735548', 'rel': 'self'}, {'href': 'http://localhost/conductors/910365f5-6d2c-4418-b552-a80ba8735548', 'rel': 'bookmark'}], 'alive': True}, {'hostname': '4283c65d-773e-483c-89e6-91c17f768cbd', 'links': [{'href': 'http://localhost/v1/conductors/4283c65d-773e-483c-89e6-91c17f768cbd', 'rel': 'self'}, {'href': 'http://localhost/conductors/4283c65d-773e-483c-89e6-91c17f768cbd', 'rel': 'bookmark'}], 'alive': True}], 'next': 'http://localhost/v1/conductors?sort_key=id&sort_dir=asc&fields=hostname,alive&limit=3&marker=4283c65d-773e-483c-89e6-91c17f768cbd'} DEBUG util.py:445: GET: /v1/conductors {} DEBUG util.py:445: GOT:{'conductors': [{'hostname': '83919181-ecff-4077-971d-10233ba5d85b', 'conductor_group': '', 'links': [{'href': 'http://localhost/v1/conductors/83919181-ecff-4077-971d-10233ba5d85b', 'rel': 'self'}, {'href': 'http://localhost/conductors/83919181-ecff-4077-971d-10233ba5d85b', 'rel': 'bookmark'}], 'alive': True}, {'hostname': '0230da69-9579-44d7-9e79-fd830a391f81', 'conductor_group': '', 'links': [{'href': 'http://localhost/v1/conductors/0230da69-9579-44d7-9e79-fd830a391f81', 'rel': 'self'}, {'href': 'http://localhost/conductors/0230da69-9579-44d7-9e79-fd830a391f81', 'rel': 'bookmark'}], 'alive': True}, {'hostname': 'f44b3ad4-9522-4c79-9dc4-3fb430bc15d5', 'conductor_group': '', 'links': [{'href': 'http://localhost/v1/conductors/f44b3ad4-9522-4c79-9dc4-3fb430bc15d5', 'rel': 'self'}, {'href': 'http://localhost/conductors/f44b3ad4-9522-4c79-9dc4-3fb430bc15d5', 'rel': 'bookmark'}], 'alive': True}], 'next': 'http://localhost/v1/conductors?sort_key=id&sort_dir=asc&fields=hostname,conductor_group,alive&limit=3&marker=f44b3ad4-9522-4c79-9dc4-3fb430bc15d5'} DEBUG util.py:445: GET: /v1/conductors?fields=hostname,alive {} DEBUG util.py:445: GOT:{'conductors': [{'hostname': 'rocky.rocks', 'links': [{'href': 'http://localhost/v1/conductors/rocky.rocks', 'rel': 'self'}, {'href': 'http://localhost/conductors/rocky.rocks', 'rel': 'bookmark'}], 'alive': True}, {'hostname': 'stein.rocks', 'links': [{'href': 'http://localhost/v1/conductors/stein.rocks', 'rel': 'self'}, {'href': 'http://localhost/conductors/stein.rocks', 'rel': 'bookmark'}], 'alive': True}]} DEBUG util.py:445: GET: /v1/conductors/rocky.rocks {} DEBUG util.py:445: GOT:{'created_at': '2024-05-14T11:54:00.779908+00:00', 'updated_at': '2024-05-14T11:54:00.779708+00:00', 'hostname': 'rocky.rocks', 'conductor_group': '', 'drivers': ['fake-driver', 'null-driver'], 'links': [{'href': 'http://localhost/v1/conductors/rocky.rocks', 'rel': 'self'}, {'href': 'http://localhost/conductors/rocky.rocks', 'rel': 'bookmark'}], 'alive': True} DEBUG util.py:445: GET: /v1/conductors/rocky.rocks {} DEBUG util.py:445: GOT:{'created_at': '2024-05-14T11:54:00.820342+00:00', 'updated_at': '2024-05-14T11:54:00.820143+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: {1} ironic.tests.unit.api.controllers.v1.test_conductor.TestListConductors.test_links_public_url [0.045935s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestListDeployTemplates.test_get_custom_fields_invalid_fields [0.024537s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_chassis.TestListChassis.test_links [0.059707s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestPatch.test_remove_foo [0.021428s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestListDeployTemplates.test_collection_links [0.080280s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestPatch.test_remove_only_step_fail [0.031663s] ... ok DEBUG util.py:445: POST: /v1/allocations {'candidate_nodes': [], 'extra': {}, 'name': None, 'resource_class': 'baremetal', 'traits': [], 'uuid': '5cc68fbf-2227-488f-86b9-dce6bc7e2a66'} 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/5cc68fbf-2227-488f-86b9-dce6bc7e2a66 DEBUG util.py:445: Openstack-Request-Id: req-c72d1728-5025-49be-98be-27779300f6e2 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.59 DEBUG util.py:445: {"uuid": "5cc68fbf-2227-488f-86b9-dce6bc7e2a66", "created_at": "2024-05-14T11:54:00.356427+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/5cc68fbf-2227-488f-86b9-dce6bc7e2a66", "rel": "self"}, {"href": "http://localhost/allocations/5cc68fbf-2227-488f-86b9-dce6bc7e2a66", "rel": "bookmark"}], "node_uuid": null} DEBUG util.py:445: GET: /v1/allocations/5cc68fbf-2227-488f-86b9-dce6bc7e2a66 {} DEBUG util.py:445: GOT:{'uuid': '5cc68fbf-2227-488f-86b9-dce6bc7e2a66', 'created_at': '2024-05-14T11:54:00.356427+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/5cc68fbf-2227-488f-86b9-dce6bc7e2a66', 'rel': 'self'}, {'href': 'http://localhost/allocations/5cc68fbf-2227-488f-86b9-dce6bc7e2a66', '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-cd829ad5-a339-413e-b6d4-0b0821f71293 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.1 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Cannot complete the requested action because chassis e74c40e0-d825-11e2-a28f-0800200c9a66 contains nodes.\", \"debuginfo\": null}"} DEBUG util.py:445: DELETE: /v1/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66/nodes DEBUG util.py:445: GOT:Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-7340e1f4-42ed-4822-b492-a31b98d7ffde DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.1 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Operation not permitted.\", \"debuginfo\": null}"} DEBUG util.py:445: GET: /v1/chassis {} DEBUG util.py:445: GOT:{'chassis': [{'uuid': 'efd42fd8-5fc7-449f-a395-0e680282ee79', 'description': 'data-center-1-chassis', 'links': [{'href': 'http://localhost/v1/chassis/efd42fd8-5fc7-449f-a395-0e680282ee79', 'rel': 'self'}, {'href': 'http://localhost/chassis/efd42fd8-5fc7-449f-a395-0e680282ee79', 'rel': 'bookmark'}]}, {'uuid': '41e2e6de-429c-4e73-8798-f29dbd85716e', 'description': 'data-center-1-chassis', 'links': [{'href': 'http://localhost/v1/chassis/41e2e6de-429c-4e73-8798-f29dbd85716e', 'rel': 'self'}, {'href': 'http://localhost/chassis/41e2e6de-429c-4e73-8798-f29dbd85716e', 'rel': 'bookmark'}]}, {'uuid': 'c5a4672b-23b2-4b14-a395-28d15fbe8a53', 'description': 'data-center-1-chassis', 'links': [{'href': 'http://localhost/v1/chassis/c5a4672b-23b2-4b14-a395-28d15fbe8a53', 'rel': 'self'}, {'href': 'http://localhost/chassis/c5a4672b-23b2-4b14-a395-28d15fbe8a53', 'rel': 'bookmark'}]}], 'next': 'http://localhost/v1/chassis?sort_key=id&sort_dir=asc&fields=uuid,description&limit=3&marker=c5a4672b-23b2-4b14-a395-28d15fbe8a53'} DEBUG util.py:445: GET: /v1/chassis?detail=True {} DEBUG util.py:445: GOT:{'chassis': [{'uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'created_at': '2024-05-14T11:54:00.603658+00:00', 'updated_at': None, 'description': 'data-center-1-chassis', 'extra': {}, 'links': [{'href': 'http://localhost/v1/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66', 'rel': 'self'}, {'href': 'http://localhost/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66', 'rel': 'bookmark'}], 'nodes': [[{'href': 'http://localhost/v1/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66/nodes', 'rel': 'self'}, {'href': 'http://localhost/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66/nodes', 'rel': 'bookmark'}]]}]} DEBUG util.py:445: GET: /v1/chassis?detail=True {} DEBUG util.py:445: GOT:Response: 400 Bad Request DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-545b3e8e-a37c-49a7-bdbd-e21483a2c239 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.1 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Invalid query parameter ?detail=True received.\", \"debuginfo\": null}"} DEBUG util.py:445: GET: /v1/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66?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-52cb64a6-f83e-4670-9cc1-624fb29f350f DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Field(s) \\\"spongebob\\\" are not valid\", \"debuginfo\": null}"} DEBUG util.py:445: GET: /v1/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66?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/a616b0fb-bc90-414e-9ab7-4830ff8756ef {} DEBUG util.py:445: GOT:{'uuid': 'a616b0fb-bc90-414e-9ab7-4830ff8756ef', 'created_at': '2024-05-14T11:54:00.839178+00:00', 'updated_at': None, 'description': 'data-center-1-chassis', 'extra': {}, 'links': [{'href': 'http://localhost/v1/chassis/a616b0fb-bc90-414e-9ab7-4830ff8756ef', 'rel': 'self'}, {'href': 'http://localhost/chassis/a616b0fb-bc90-414e-9ab7-4830ff8756ef', 'rel': 'bookmark'}], 'nodes': [[{'href': 'http://localhost/v1/chassis/a616b0fb-bc90-414e-9ab7-4830ff8756ef/nodes', 'rel': 'self'}, {'href': 'http://localhost/chassis/a616b0fb-bc90-414e-9ab7-4830ff8756ef/nodes', 'rel': 'bookmark'}]]} DEBUG util.py:445: GET: /v1/chassis/a616b0fb-bc90-414e-9ab7-4830ff8756ef {} DEBUG util.py:445: GOT:{'uuid': 'a616b0fb-bc90-414e-9ab7-4830ff8756ef', 'created_at': '2024-05-14T11:54:00.839178+00:00', 'updated_at': None, 'description': 'data-center-1-chassis', 'extra': {}, 'links': [{'href': 'http://localhost/v1/chassis/a616b0fb-bc90-414e-9ab7-4830ff8756ef', 'rel': 'self'}, {'href': 'http://localhost/chassis/a616b0fb-bc90-414e-9ab7-4830ff8756ef', 'rel': 'bookmark'}], 'nodes': [[{'href': 'http://localhost/v1/chassis/a616b0fb-bc90-414e-9ab7-4830ff8756ef/nodes', 'rel': 'self'}, {'href': 'http://localhost/chassis/a616b0fb-bc90-414e-9ab7-4830ff8756ef/nodes', 'rel': 'bookmark'}]]} DEBUG util.py:445: GET: /chassis/a616b0fb-bc90-414e-9ab7-4830ff8756ef {} DEBUG util.py:445: GOT:{'uuid': 'a616b0fb-bc90-414e-9ab7-4830ff8756ef', 'created_at': '2024-05-14T11:54:00.839178+00:00', 'updated_at': None, 'description': 'data-center-1-chassis', 'extra': {}, 'links': [{'href': 'http://localhost/v1/chassis/a616b0fb-bc90-414e-9ab7-4830ff8756ef', 'rel': 'self'}, {'href': 'http://localhost/chassis/a616b0fb-bc90-414e-9ab7-4830ff8756ef', 'rel': 'bookmark'}], 'nodes': [[{'href': 'http://localhost/v1/chassis/a616b0fb-bc90-414e-9ab7-4830ff8756ef/nodes', 'rel': 'self'}, {'href': 'http://localhost/chassis/a616b0fb-bc90-414e-9ab7-4830ff8756ef/nodes', 'rel': 'bookmark'}]]} DEBUG util.py:445: GET: /v1/chassis/a941a853-3b56-4dc4-b502-97b28290953b {} DEBUG util.py:445: GOT:{'uuid': 'a941a853-3b56-4dc4-b502-97b28290953b', 'created_at': '2024-05-14T11:54:00.916493+00:00', 'updated_at': None, 'description': 'data-center-1-chassis', 'extra': {}, 'links': [{'href': 'http://foo/v1/chassis/a941a853-3b56-4dc4-b502-97b28290953b', 'rel': 'self'}, {'href': 'http://foo/chassis/a941a853-3b56-4dc4-b502-97b28290953b', 'rel': 'bookmark'}], 'nodes': [[{'href': 'http://foo/v1/chassis/a941a853-3b56-4dc4-b502-97b28290953b/nodes', 'rel': 'self'}, {'href': 'http://foo/chassis/a941a853-3b56-4dc4-b502-97b28290953b/nodes', 'rel': 'bookmark'}]]} DEBUG util.py:445: GET: /v1/chassis/a941a853-3b56-4dc4-b502-97b28290953b {} DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_chassis.TestListChassis.test_links_public_url [0.082559s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestPatch.test_replace_invalid_name_none [0.056418s] ... ok DEBUG util.py:445: 2024-05-14 11:54:00.981 1236418 INFO alembic.runtime.migration [req-4f72da17-e93e-4362-af37-b0211dd9b802 - - - - -] Context impl SQLiteImpl. DEBUG util.py:445: 2024-05-14 11:54:00.982 1236418 INFO alembic.runtime.migration [req-4f72da17-e93e-4362-af37-b0211dd9b802 - - - - -] Will assume non-transactional DDL. DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestListDeployTemplates.test_detail_query [0.081613s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestPatch.test_replace_invalid_step_interface_fail [0.035542s] ... 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: {3} ironic.tests.unit.api.controllers.test_base.TestBase.test_api_setup [0.407960s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_chassis.TestListChassis.test_nodes_subresource [0.102114s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestListDeployTemplates.test_get_all_invalid_api_version [0.076598s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.test_base.TestVersion.test_init [0.036446s] ... 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-301a63c7-3907-403c-8ddf-056e2b3d45d0 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.48 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Resource could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: GET: /v1/conductors/rocky.rocks {} DEBUG util.py:445: GOT:{'created_at': '2024-05-14T11:54:00.524917+00:00', 'updated_at': '2024-05-14T11:54:00.524716+00:00', 'hostname': 'rocky.rocks', 'conductor_group': '', 'drivers': ['fake-driver', 'null-driver'], 'links': [{'href': 'http://localhost/v1/conductors/rocky.rocks', 'rel': 'self'}, {'href': 'http://localhost/conductors/rocky.rocks', 'rel': 'bookmark'}], 'alive': True} DEBUG util.py:445: GET: /v1/conductors/rocky.rocks {} DEBUG util.py:445: GOT:{'created_at': '2024-05-14T11:54:00.524917+00:00', 'updated_at': '2024-05-14T11:54:00.524716+00:00', 'hostname': 'rocky.rocks', 'conductor_group': '', 'drivers': ['fake-driver', 'null-driver'], 'links': [{'href': 'http://localhost/v1/conductors/rocky.rocks', 'rel': 'self'}, {'href': 'http://localhost/conductors/rocky.rocks', 'rel': 'bookmark'}], 'alive': True} DEBUG util.py:445: GET: /conductors/rocky.rocks {} DEBUG util.py:445: GOT:{'created_at': '2024-05-14T11:54:00.524917+00:00', 'updated_at': '2024-05-14T11:54:00.524716+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: DELETE: /v1/deploy_templates/CUSTOM_DT1 DEBUG util.py:445: GOT:Response: 204 No Content DEBUG util.py:445: Openstack-Request-Id: req-b0225db0-abae-4542-84e9-0b698b3034f8 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: DELETE: /v1/deploy_templates/CUSTOM_DT1.json DEBUG util.py:445: GOT:Response: 204 No Content DEBUG util.py:445: Openstack-Request-Id: req-e8c87648-1175-4e78-a5bf-caac58b176fb DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: DELETE: /v1/deploy_templates/4d038318-0c0b-4375-8152-08ffefb57a8c DEBUG util.py:445: GOT:Response: 204 No Content DEBUG util.py:445: Openstack-Request-Id: req-ea4f33e8-23ca-4c42-b462-d42256dcfad3 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: DELETE: /v1/deploy_templates/69706ce0-0e31-48cc-87a6-6059f2188811.json DEBUG util.py:445: GOT:Response: 204 No Content DEBUG util.py:445: Openstack-Request-Id: req-9edce2ec-e604-4421-8eee-835467f26aa9 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: GET: /v1/deploy_templates?fields=uuid,steps {} DEBUG util.py:445: GOT:{'deploy_templates': [{'uuid': '38150e32-fc7a-467e-b87e-9fd0401af8f4', 'links': [{'href': 'http://localhost/v1/deploy_templates/38150e32-fc7a-467e-b87e-9fd0401af8f4', 'rel': 'self'}, {'href': 'http://localhost/deploy_templates/38150e32-fc7a-467e-b87e-9fd0401af8f4', 'rel': 'bookmark'}], 'steps': [{'interface': 'raid', 'step': 'create_configuration', 'args': {'logical_disks': []}, 'priority': 10}]}, {'uuid': 'f3d136d7-72d7-46c3-b2a7-1271224040c3', 'links': [{'href': 'http://localhost/v1/deploy_templates/f3d136d7-72d7-46c3-b2a7-1271224040c3', 'rel': 'self'}, {'href': 'http://localhost/deploy_templates/f3d136d7-72d7-46c3-b2a7-1271224040c3', 'rel': 'bookmark'}], 'steps': [{'interface': 'raid', 'step': 'create_configuration', 'args': {'logical_disks': []}, 'priority': 10}]}, {'uuid': '5a041efb-36f5-4fa6-84f8-192295081f79', 'links': [{'href': 'http://localhost/v1/deploy_templates/5a041efb-36f5-4fa6-84f8-192295081f79', 'rel': 'self'}, {'href': 'http://localhost/deploy_templates/5a041efb-36f5-4fa6-84f8-192295081f79', '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=5a041efb-36f5-4fa6-84f8-192295081f79'} 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-a96a8250-aa6e-4cce-8c66-eb29445d2517 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Can not specify ?detail=True and fields in the same request.\", \"debuginfo\": null}"} DEBUG util.py:445: GET: /v1/deploy_templates?detail=False&fields=steps {} DEBUG util.py:445: GOT:{'deploy_templates': [{'links': [{'href': 'http://localhost/v1/deploy_templates/5ee55ffd-0b7c-490b-a58a-e9e8a993c961', 'rel': 'self'}, {'href': 'http://localhost/deploy_templates/5ee55ffd-0b7c-490b-a58a-e9e8a993c961', '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/a125f353-3b94-4aae-8e1a-f378d5188b84?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-a636c3f1-3793-4002-a752-e5a8861ed27a DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Field(s) \\\"spongebob\\\" are not valid\", \"debuginfo\": null}"} DEBUG util.py:445: PATCH: /v1/deploy_templates/ac847974-6d29-46c6-b6e8-b6250d73c27d [{'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-832cdb6d-ee0c-42fa-ab8f-8d928540e586 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Cannot patch /foo. Only the following can be updated: extra, name, steps, description\", \"debuginfo\": null}"} DEBUG util.py:445: PATCH: /v1/deploy_templates/745f3141-37c5-42f0-b3be-b384bfef61d7 [{'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-3e40d8d8-7973-4d2c-a84d-d2e7e0d3dcf9 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Schema error for patch: [] is too short Failed validating 'minItems' in schema['properties']['steps']\", \"debuginfo\": null}"} DEBUG util.py:445: PATCH: /v1/deploy_templates/33c7b1f9-f6ae-4188-959f-db453e337d94 [{'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-494a0a26-115f-425e-a1a4-ab022bfc2ddb DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Schema error for patch: None is not of type 'string' Failed validating 'type' in schema[0]\", \"debuginfo\": null}"} DEBUG util.py:445: PATCH: /v1/deploy_templates/6dd10b8b-3df4-4064-849f-7a0906e5c59d [{'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-c7a3b6f7-5781-41e3-a6e6-07cfbc622475 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Schema error for patch: 'foo' is not one of ['power', 'management', 'deploy', 'bios', 'raid'] Failed validating 'enum' in schema['properties']['interface']\", \"debuginfo\": null}"} DEBUG util.py:445: PATCH: /v1/deploy_templates/ce7dcc57-b0df-409e-8ffb-f88eab1adfe3 [{'path': '/name', 'value': 'CUSTOM_DT2', 'op': 'replace'}] DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestPatch.test_replace_name_already_exist [0.034187s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestPatch.test_update_by_id_invalid_api_version [0.027269s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestPatch.test_update_by_name_old_api_version [0.020770s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.test_base.TestVersion.test_not_equals [0.027106s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.test_base.TestVersion.test_parse_no_header [0.016731s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestPatch.test_update_by_name_with_json [0.041273s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.test_base.TestVersion.test_repr [0.023646s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_chassis.TestListChassis.test_nodes_subresource_link [0.103702s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestPost.test_create_generate_uuid [0.029850s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestListDeployTemplates.test_get_one [0.100256s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestPost.test_create_invalid_field_name [0.028868s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_allocation.TestDelete.test_delete_allocation_by_id [0.055729s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestListDeployTemplates.test_get_one_custom_fields [0.034458s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_chassis.TestListChassis.test_sort_key [0.059477s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestPost.test_create_invalid_step_field_negative_priority [0.024321s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_allocation.TestDelete.test_delete_allocation_by_name_not_existed [0.033011s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestPost.test_create_invalid_step_field_step [0.019801s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestPost.test_create_no_mandatory_step_field_interface [0.020071s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_chassis.TestPatch.test_remove_non_existent_property_fail [0.044262s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestListDeployTemplates.test_get_one_invalid_api_version [0.061806s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_allocation.TestDelete.test_delete_allocation_by_node_invalid_api_version [0.039803s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_driver.TestDriverProperties.test_driver_properties_cannot_load [0.019273s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_driver.TestDriverProperties.test_driver_properties_fake [0.022830s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_allocation.TestDelete.test_delete_allocation_node_locked [0.037061s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestListDeployTemplates.test_links [0.053158s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_driver.TestListDrivers.test_driver_properties_hidden_in_lower_version [0.027806s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_chassis.TestPost.test_create_chassis_unicode_description [0.070270s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_allocation.TestListAllocations.test_allocation_get_all_invalid_api_version [0.035473s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_driver.TestListDrivers.test_driver_vendor_passthru_delete [0.024533s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_collection.TestCollection.test_get_next [0.016654s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_allocation.TestListAllocations.test_allocation_get_all_non_admin [0.042213s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestListDeployTemplates.test_sensitive_data_masked [0.056157s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_allocation.TestListAllocations.test_collection_links_custom_fields [0.043846s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestPatch.test_add_root_non_existent [0.037952s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_conductor.TestListConductors.test_get_custom_fields_invalid_fields [0.098536s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_allocation.TestListAllocations.test_get_all_by_owner [0.032629s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_allocation.TestListAllocations.test_get_by_node_resource_and_id [0.028048s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_driver.TestListDrivers.test_driver_vendor_passthru_driver_not_found [0.150169s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_conductor.TestListConductors.test_list [0.052931s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_allocation.TestListAllocations.test_get_by_node_resource_invalid_api_version [0.023415s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_driver.TestListDrivers.test_driver_vendor_passthru_methods [0.027337s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_allocation.TestListAllocations.test_get_by_node_resource_with_fields [0.035307s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_conductor.TestListConductors.test_list_with_detail [0.053920s] ... 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-5fa6bf8f-16bb-400d-a319-89e2935b9e0f DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"A deploy template with UUID ce7dcc57-b0df-409e-8ffb-f88eab1adfe3 already exists.\", \"debuginfo\": null}"} DEBUG util.py:445: PATCH: /v1/deploy_templates/1deb7782-401e-4709-90ef-18abadb44ec6 [{'path': '/name', 'value': 'CUSTOM_DT2', 'op': 'add'}] DEBUG util.py:445: GOT:Response: 405 Method Not Allowed DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: {"error_message": "{\"code\": 405, \"title\": \"Method Not Allowed\", \"description\": \"The API version does not allow deploy templates\"}"} DEBUG util.py:445: PATCH: /v1/deploy_templates/CUSTOM_DT1 [{'path': '/name', 'value': 'CUSTOM_DT2', 'op': 'add'}] DEBUG util.py:445: GOT:Response: 405 Method Not Allowed DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: {"error_message": "{\"code\": 405, \"title\": \"Method Not Allowed\", \"description\": \"The API version does not allow deploy templates\"}"} DEBUG util.py:445: PATCH: /v1/deploy_templates/CUSTOM_DT1.json [{'path': '/steps/0/interface', 'value': 'bios', 'op': 'replace'}] DEBUG util.py:445: GOT:Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-8577906d-59a7-423d-b9a2-df6a01612347 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"uuid": "29b60c0b-1184-498f-a13c-cde69f3754a5", "created_at": "2024-05-14T11:54:01.109898+00:00", "updated_at": null, "name": "CUSTOM_DT1", "extra": {}, "links": [{"href": "http://localhost/v1/deploy_templates/29b60c0b-1184-498f-a13c-cde69f3754a5", "rel": "self"}, {"href": "http://localhost/deploy_templates/29b60c0b-1184-498f-a13c-cde69f3754a5", "rel": "bookmark"}], "steps": [{"interface": "bios", "step": "create_configuration", "args": {"logical_disks": []}, "priority": 10}]} 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/ef781055-efac-4fa3-8d0c-dc98628dcee0 DEBUG util.py:445: Openstack-Request-Id: req-ce024797-a07c-49f6-9048-5467252f4b8b DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"uuid": "ef781055-efac-4fa3-8d0c-dc98628dcee0", "created_at": "2024-05-14T11:54:01.153301+00:00", "updated_at": null, "name": "CUSTOM_DT1", "extra": {}, "links": [{"href": "http://localhost/v1/deploy_templates/ef781055-efac-4fa3-8d0c-dc98628dcee0", "rel": "self"}, {"href": "http://localhost/deploy_templates/ef781055-efac-4fa3-8d0c-dc98628dcee0", "rel": "bookmark"}], "steps": [{"interface": "raid", "step": "create_configuration", "args": {"logical_disks": []}, "priority": 10}]} DEBUG util.py:445: GET: /v1/deploy_templates/ef781055-efac-4fa3-8d0c-dc98628dcee0 {} DEBUG util.py:445: GOT:{'uuid': 'ef781055-efac-4fa3-8d0c-dc98628dcee0', 'created_at': '2024-05-14T11:54:01.153301+00:00', 'updated_at': None, 'name': 'CUSTOM_DT1', 'extra': {}, 'links': [{'href': 'http://localhost/v1/deploy_templates/ef781055-efac-4fa3-8d0c-dc98628dcee0', 'rel': 'self'}, {'href': 'http://localhost/deploy_templates/ef781055-efac-4fa3-8d0c-dc98628dcee0', 'rel': 'bookmark'}], 'steps': [{'interface': 'raid', 'step': 'create_configuration', 'args': {'logical_disks': []}, 'priority': 10}]} DEBUG util.py:445: POST: /v1/deploy_templates {'name': 42, 'uuid': '1f2ee69b-fdc2-4963-8502-47ba6498a662', '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-731be1f5-e7db-4625-8c16-8dcd3f0e39ca DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Schema error for template: 42 is not of type 'string' Failed validating 'type' in schema[0]\", \"debuginfo\": null}"} DEBUG util.py:445: POST: /v1/deploy_templates {'name': 'CUSTOM_DT1', 'uuid': '03bf7f67-2c37-4a4f-9252-b2626356a16b', '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-af447b54-ebc0-4e11-9c12-f232ff37def7 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Schema error for template: -1 is less than the minimum of 0 Failed validating 'minimum' in schema[0]\", \"debuginfo\": null}"} DEBUG util.py:445: POST: /v1/deploy_templates {'name': 'CUSTOM_DT1', 'uuid': '6acc609e-2ffa-4f39-8c8f-99c1b2be95aa', '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-3945d372-dfd6-4b98-9077-19257d5acdce DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Schema error for template: 42 is not of type 'string' Failed validating 'type' in schema['properties']['steps']['items']['properties']['step']\", \"debuginfo\": null}"} DEBUG util.py:445: POST: /v1/deploy_templates {'name': 'CUSTOM_DT1', 'uuid': 'b63327fd-a7fe-4baa-b89d-33950af12cc3', '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-be5eb59d-38e1-475d-978c-9aeb48d16755 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Schema error for template: 'interface' is a required property Failed validating 'required' in schema['properties']['steps']['items']\", \"debuginfo\": null}"} DEBUG util.py:445: GET: /v1/drivers/driver/properties {} DEBUG util.py:445: GOT:Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-b77e2ea7-a2ca-4392-bed7-389518011a84 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.1 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Could not find the following driver(s) or hardware type(s): driver.\", \"debuginfo\": null}"} DEBUG util.py:445: GET: /v1/drivers/test/properties {} DEBUG util.py:445: GOT:{'prop1': 'Property 1. Required.'} DEBUG util.py:445: GET: /v1/drivers/fake-hardware-type {} DEBUG util.py:445: GOT:{'name': 'fake-hardware-type', 'hosts': ['fake-host2', 'fake-host1'], 'links': [{'href': 'http://localhost/v1/drivers/fake-hardware-type', 'rel': 'self'}, {'href': 'http://localhost/drivers/fake-hardware-type', 'rel': 'bookmark'}]} 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-92077a74-eb6a-4ab9-aa43-5647e9ec407f DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.1 DEBUG util.py:445: POST: /v1/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-a362e8d7-a0aa-4f7e-8a35-41990121dd81 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.1 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"No conductors registered.\", \"debuginfo\": null}"} DEBUG util.py:445: GET: /v1/drivers/fake-hardware-type/vendor_passthru/methods {} DEBUG util.py:445: GOT:{'foo': 'bar'} DEBUG util.py:445: GET: /v1/drivers/fake-hardware-type/vendor_passthru/methods {} DEBUG util.py:445: GOT:{'foo': 'bar'} DEBUG util.py:445: GET: /v1/drivers?fields=name,hosts&detail=false {} DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_driver.TestListDrivers.test_drivers_collection_custom_fields_with_detail_false [0.024953s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_driver.TestListDrivers.test_drivers_collection_invalid_custom_fields [0.026738s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_allocation.TestListAllocations.test_get_custom_fields_invalid_fields [0.037608s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestPatch.test_remove_multi [0.148340s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_driver.TestListDrivers.test_drivers_get_one_not_found [0.020149s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_driver.TestListDrivers.test_drivers_get_one_ok_dynamic_base_interfaces [0.040450s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_driver.TestListDrivers.test_drivers_type_filter_classic [0.024195s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestPatch.test_remove_steps [0.078472s] ... ok DEBUG util.py:445: DELETE: /v1/allocations/b73b1b00-a70c-49ce-8572-325f41ab8ad2 DEBUG util.py:445: GOT:Response: 204 No Content DEBUG util.py:445: Openstack-Request-Id: req-86c4925b-f8c8-47e8-9cfb-ac20cc8ac6b6 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: DELETE: /v1/allocations/blah DEBUG util.py:445: GOT:Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-c2b93387-5b3e-4d35-b323-c70f31596f72 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Allocation blah could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: DELETE: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/allocation DEBUG util.py:445: GOT:Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: {"error_message": "{\"code\": 404, \"title\": \"Not Found\", \"description\": \"\"}"} DEBUG util.py:445: DELETE: /v1/allocations/faefa865-3d16-4dc2-a9ac-fbcd32622208 DEBUG util.py:445: GOT:Response: 409 Conflict DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-503c9810-5e31-4dc6-b078-0eb00ed25699 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node fake-node is locked by host fake-host, please retry after the current operation is completed.\", \"debuginfo\": null}"} DEBUG util.py:445: GET: /v1/allocations {} DEBUG util.py:445: GOT:Response: 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': 'fc9161a4-0431-4ff8-b13d-c3286bedf64f', 'created_at': '2024-05-14T11:54:01.366787+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/fc9161a4-0431-4ff8-b13d-c3286bedf64f', 'rel': 'self'}, {'href': 'http://localhost/allocations/fc9161a4-0431-4ff8-b13d-c3286bedf64f', 'rel': 'bookmark'}], 'node_uuid': None}, {'uuid': '8628ba0c-2f6b-46a2-bb04-5564eaba6365', 'created_at': '2024-05-14T11:54:01.367809+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/8628ba0c-2f6b-46a2-bb04-5564eaba6365', 'rel': 'self'}, {'href': 'http://localhost/allocations/8628ba0c-2f6b-46a2-bb04-5564eaba6365', 'rel': 'bookmark'}], 'node_uuid': None}, {'uuid': 'eb48d827-8e85-44f2-938d-18af1844f93a', 'created_at': '2024-05-14T11:54:01.368744+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/eb48d827-8e85-44f2-938d-18af1844f93a', 'rel': 'self'}, {'href': 'http://localhost/allocations/eb48d827-8e85-44f2-938d-18af1844f93a', 'rel': 'bookmark'}], 'node_uuid': None}, {'uuid': '50b957c1-649f-4d3b-a6ae-be2297a7971b', 'created_at': '2024-05-14T11:54:01.369682+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/50b957c1-649f-4d3b-a6ae-be2297a7971b', 'rel': 'self'}, {'href': 'http://localhost/allocations/50b957c1-649f-4d3b-a6ae-be2297a7971b', 'rel': 'bookmark'}], 'node_uuid': None}, {'uuid': '6b5332e2-03ee-46f2-a649-2c6ab4f60bce', 'created_at': '2024-05-14T11:54:01.370587+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/6b5332e2-03ee-46f2-a649-2c6ab4f60bce', 'rel': 'self'}, {'href': 'http://localhost/allocations/6b5332e2-03ee-46f2-a649-2c6ab4f60bce', 'rel': 'bookmark'}], 'node_uuid': None}]} DEBUG util.py:445: GET: /v1/allocations?fields=uuid,extra {} DEBUG util.py:445: GOT:{'allocations': [{'uuid': '279369ed-1cc1-470a-8a04-4e0e0126b0f9', 'extra': {}, 'links': [{'href': 'http://localhost/v1/allocations/279369ed-1cc1-470a-8a04-4e0e0126b0f9', 'rel': 'self'}, {'href': 'http://localhost/allocations/279369ed-1cc1-470a-8a04-4e0e0126b0f9', 'rel': 'bookmark'}]}, {'uuid': 'e97192cd-9c8c-4e7d-a7c2-0f98cd598274', 'extra': {}, 'links': [{'href': 'http://localhost/v1/allocations/e97192cd-9c8c-4e7d-a7c2-0f98cd598274', 'rel': 'self'}, {'href': 'http://localhost/allocations/e97192cd-9c8c-4e7d-a7c2-0f98cd598274', 'rel': 'bookmark'}]}, {'uuid': '6af3a020-cc88-43f4-b69c-b159d1807f7c', 'extra': {}, 'links': [{'href': 'http://localhost/v1/allocations/6af3a020-cc88-43f4-b69c-b159d1807f7c', 'rel': 'self'}, {'href': 'http://localhost/allocations/6af3a020-cc88-43f4-b69c-b159d1807f7c', 'rel': 'bookmark'}]}], 'next': 'http://localhost/v1/allocations?sort_key=id&sort_dir=asc&fields=uuid,extra&limit=3&marker=6af3a020-cc88-43f4-b69c-b159d1807f7c'} DEBUG util.py:445: GET: /v1/allocations?owner=12345 {} DEBUG util.py:445: GOT:{'allocations': [{'uuid': 'e3f6f074-9ad4-4d6b-972f-301f60c133a0', 'created_at': '2024-05-14T11:54:01.449461+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/e3f6f074-9ad4-4d6b-972f-301f60c133a0', 'rel': 'self'}, {'href': 'http://localhost/allocations/e3f6f074-9ad4-4d6b-972f-301f60c133a0', 'rel': 'bookmark'}], 'node_uuid': None}, {'uuid': '8b75d376-1ea5-4d46-9e82-cfa66307bdb4', 'created_at': '2024-05-14T11:54:01.450424+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/8b75d376-1ea5-4d46-9e82-cfa66307bdb4', 'rel': 'self'}, {'href': 'http://localhost/allocations/8b75d376-1ea5-4d46-9e82-cfa66307bdb4', 'rel': 'bookmark'}], 'node_uuid': None}, {'uuid': '28153536-a96d-4005-8f2b-b488f3591052', 'created_at': '2024-05-14T11:54:01.452614+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/28153536-a96d-4005-8f2b-b488f3591052', 'rel': 'self'}, {'href': 'http://localhost/allocations/28153536-a96d-4005-8f2b-b488f3591052', 'rel': 'bookmark'}], 'node_uuid': None}]} DEBUG util.py:445: GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/allocation/6a161af6-5a6b-48ef-a77d-bdd8c45cd8c8 {} 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/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/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/allocation?fields=name,extra {} DEBUG util.py:445: GOT:{'extra': {}, 'name': None, 'links': [{'href': 'http://localhost/v1/allocations/09bc0764-3d3d-4cad-9875-2561395eb9a7', 'rel': 'self'}, {'href': 'http://localhost/allocations/09bc0764-3d3d-4cad-9875-2561395eb9a7', 'rel': 'bookmark'}]} DEBUG util.py:445: GET: /v1/allocations/de2f04b9-91d2-4ced-a009-a64cb75998fc?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-f2f2c649-126b-46a1-ba1b-494ece7b216e DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Field(s) \\\"spongebob\\\" are not valid\", \"debuginfo\": null}"} DEBUG util.py:445: GET: /v1/allocations/7bcaaa30-a58c-4a57-a547-88415eeeba4c {} DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_allocation.TestListAllocations.test_get_one [0.039800s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_allocation.TestPatch.test_add [0.041979s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_allocation.TestPatch.test_add_multi [0.029440s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_event.TestPost.test_network_delete_port_events [0.019921s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_event.TestPost.test_network_port_event_invalid_device_id [0.022361s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_event.TestPost.test_network_port_event_invalid_mac_address [0.018923s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_event.TestPostRBAC.test_events [0.020658s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_allocation.TestPatch.test_remove_singular [0.043981s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_allocation.TestPatch.test_remove_uuid [0.024583s] ... ok DEBUG util.py:445: GOT:{'uuid': 'a941a853-3b56-4dc4-b502-97b28290953b', 'created_at': '2024-05-14T11:54:00.916493+00:00', 'updated_at': None, 'description': 'data-center-1-chassis', 'extra': {}, 'links': [{'href': 'http://foo/v1/chassis/a941a853-3b56-4dc4-b502-97b28290953b', 'rel': 'self'}, {'href': 'http://foo/chassis/a941a853-3b56-4dc4-b502-97b28290953b', 'rel': 'bookmark'}], 'nodes': [[{'href': 'http://foo/v1/chassis/a941a853-3b56-4dc4-b502-97b28290953b/nodes', 'rel': 'self'}, {'href': 'http://foo/chassis/a941a853-3b56-4dc4-b502-97b28290953b/nodes', 'rel': 'bookmark'}]]} DEBUG util.py:445: GET: /chassis/a941a853-3b56-4dc4-b502-97b28290953b {} DEBUG util.py:445: GOT:{'uuid': 'a941a853-3b56-4dc4-b502-97b28290953b', 'created_at': '2024-05-14T11:54:00.916493+00:00', 'updated_at': None, 'description': 'data-center-1-chassis', 'extra': {}, 'links': [{'href': 'http://foo/v1/chassis/a941a853-3b56-4dc4-b502-97b28290953b', 'rel': 'self'}, {'href': 'http://foo/chassis/a941a853-3b56-4dc4-b502-97b28290953b', 'rel': 'bookmark'}], 'nodes': [[{'href': 'http://foo/v1/chassis/a941a853-3b56-4dc4-b502-97b28290953b/nodes', 'rel': 'self'}, {'href': 'http://foo/chassis/a941a853-3b56-4dc4-b502-97b28290953b/nodes', 'rel': 'bookmark'}]]} DEBUG util.py:445: GET: /v1/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66/nodes {} DEBUG util.py:445: GOT:{'nodes': [{'uuid': '1f3a4290-41d6-4cc9-b147-d2e2e2c6cde0', 'instance_uuid': None, 'maintenance': False, 'power_state': None, 'provision_state': None, 'links': [{'href': 'http://localhost/v1/nodes/1f3a4290-41d6-4cc9-b147-d2e2e2c6cde0', 'rel': 'self'}, {'href': 'http://localhost/nodes/1f3a4290-41d6-4cc9-b147-d2e2e2c6cde0', 'rel': 'bookmark'}]}, {'uuid': '6860f783-d78d-48b1-940f-534dfd7eb788', 'instance_uuid': None, 'maintenance': False, 'power_state': None, 'provision_state': None, 'links': [{'href': 'http://localhost/v1/nodes/6860f783-d78d-48b1-940f-534dfd7eb788', 'rel': 'self'}, {'href': 'http://localhost/nodes/6860f783-d78d-48b1-940f-534dfd7eb788', 'rel': 'bookmark'}]}]} DEBUG util.py:445: GET: /v1/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66/nodes?limit=1 {} DEBUG util.py:445: GOT:{'nodes': [{'uuid': '1f3a4290-41d6-4cc9-b147-d2e2e2c6cde0', 'instance_uuid': None, 'maintenance': False, 'power_state': None, 'provision_state': None, 'links': [{'href': 'http://localhost/v1/nodes/1f3a4290-41d6-4cc9-b147-d2e2e2c6cde0', 'rel': 'self'}, {'href': 'http://localhost/nodes/1f3a4290-41d6-4cc9-b147-d2e2e2c6cde0', '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=1f3a4290-41d6-4cc9-b147-d2e2e2c6cde0'} DEBUG util.py:445: GET: /v1/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66 {} DEBUG util.py:445: GOT:{'uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'created_at': '2024-05-14T11:54:01.129090+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': '4c9beeab-a323-48d3-beea-4a6f62b5c7c2', 'description': 'data-center-1-chassis', 'links': [{'href': 'http://localhost/v1/chassis/4c9beeab-a323-48d3-beea-4a6f62b5c7c2', 'rel': 'self'}, {'href': 'http://localhost/chassis/4c9beeab-a323-48d3-beea-4a6f62b5c7c2', 'rel': 'bookmark'}]}, {'uuid': 'c779b192-79e7-41d6-b25d-1040e03007f6', 'description': 'data-center-1-chassis', 'links': [{'href': 'http://localhost/v1/chassis/c779b192-79e7-41d6-b25d-1040e03007f6', 'rel': 'self'}, {'href': 'http://localhost/chassis/c779b192-79e7-41d6-b25d-1040e03007f6', 'rel': 'bookmark'}]}, {'uuid': 'cbd12ca2-7cab-45c6-96dc-dd5cdebb2e40', 'description': 'data-center-1-chassis', 'links': [{'href': 'http://localhost/v1/chassis/cbd12ca2-7cab-45c6-96dc-dd5cdebb2e40', 'rel': 'self'}, {'href': 'http://localhost/chassis/cbd12ca2-7cab-45c6-96dc-dd5cdebb2e40', 'rel': 'bookmark'}]}]} DEBUG util.py:445: PATCH: /v1/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66 [{'path': '/extra/non-existent', 'op': 'remove'}] DEBUG util.py:445: GOT:Response: 400 Bad Request DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-5f986eed-aa8d-495a-bcf5-b788510c0b70 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.1 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Couldn't apply patch '{'path': '/extra/non-existent', 'op': 'remove'}'. Reason: can't remove non-existent object 'non-existent'\", \"debuginfo\": null}"} DEBUG util.py:445: 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-8059e148-f2b1-432e-9379-8dbef512b111 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.1 DEBUG util.py:445: {"uuid": "e74c40e0-d825-11e2-a28f-0800200c9a66", "created_at": "2024-05-14T11:54:01.332817+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': '2024-05-14T11:54:01.332817+00:00', 'updated_at': None, 'description': 'амо', 'extra': {}, 'links': [{'href': 'http://localhost/v1/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66', 'rel': 'self'}, {'href': 'http://localhost/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66', 'rel': 'bookmark'}], 'nodes': [[{'href': 'http://localhost/v1/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66/nodes', 'rel': 'self'}, {'href': 'http://localhost/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66/nodes', 'rel': 'bookmark'}]]} DEBUG util.py:445: GET: /v1/conductors/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-82364463-7651-4006-8a44-54dc648fceec DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Field(s) \\\"spongebob\\\" are not valid\", \"debuginfo\": null}"} DEBUG util.py:445: GET: /v1/conductors {} 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': '2024-05-14T11:54:01.549869+00:00', 'updated_at': '2024-05-14T11:54:01.549625+00:00', 'hostname': 'why care', 'conductor_group': '', 'drivers': ['fake-driver', 'null-driver'], 'links': [{'href': 'http://localhost/v1/conductors/why care', 'rel': 'self'}, {'href': 'http://localhost/conductors/why care', 'rel': 'bookmark'}], 'alive': True}, {'created_at': '2024-05-14T11:54:01.551335+00:00', 'updated_at': '2024-05-14T11:54:01.551197+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: GET: /v1/conductors?sort_key=hostname {} DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_conductor.TestListConductors.test_sort_key [0.156532s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_event.TestPostRBAC.test_network_port_event_invalid_binding_host_id [0.019069s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_event.TestPostRBAC.test_network_port_event_invalid_status [0.021001s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_conductor.TestListConductors.test_sort_key_invalid [0.075471s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_allocation.TestPatch.test_replace_multi [0.030610s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_node.TestAttachDetachVif.test_vif_attach_by_node_name [0.032113s] ... ok DEBUG util.py:445: GOT:{'created_at': '2024-05-14T11:54:00.820342+00:00', 'updated_at': '2024-05-14T11:54:00.820143+00:00', 'hostname': 'rocky.rocks', 'conductor_group': '', 'drivers': ['fake-driver', 'null-driver'], 'links': [{'href': 'http://foo/v1/conductors/rocky.rocks', 'rel': 'self'}, {'href': 'http://foo/conductors/rocky.rocks', 'rel': 'bookmark'}], 'alive': True} DEBUG util.py:445: GET: /conductors/rocky.rocks {} DEBUG util.py:445: GOT:{'created_at': '2024-05-14T11:54:00.820342+00:00', 'updated_at': '2024-05-14T11:54:00.820143+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/deploy_templates/?limit=3 {} DEBUG util.py:445: GOT:{'deploy_templates': [{'uuid': '5bdb8f60-e4a7-495c-a064-85e8857017c0', 'name': 'CUSTOM_DT0', 'links': [{'href': 'http://localhost/v1/deploy_templates/5bdb8f60-e4a7-495c-a064-85e8857017c0', 'rel': 'self'}, {'href': 'http://localhost/deploy_templates/5bdb8f60-e4a7-495c-a064-85e8857017c0', 'rel': 'bookmark'}]}, {'uuid': '8c47b28e-67e5-4741-acb2-f360b1278fcd', 'name': 'CUSTOM_DT1', 'links': [{'href': 'http://localhost/v1/deploy_templates/8c47b28e-67e5-4741-acb2-f360b1278fcd', 'rel': 'self'}, {'href': 'http://localhost/deploy_templates/8c47b28e-67e5-4741-acb2-f360b1278fcd', 'rel': 'bookmark'}]}, {'uuid': '930790be-bfd4-481f-94b7-bb252fa29b63', 'name': 'CUSTOM_DT2', 'links': [{'href': 'http://localhost/v1/deploy_templates/930790be-bfd4-481f-94b7-bb252fa29b63', 'rel': 'self'}, {'href': 'http://localhost/deploy_templates/930790be-bfd4-481f-94b7-bb252fa29b63', 'rel': 'bookmark'}]}], 'next': 'http://localhost/v1/deploy_templates?sort_key=id&sort_dir=asc&fields=uuid,name&limit=3&marker=930790be-bfd4-481f-94b7-bb252fa29b63'} DEBUG util.py:445: GET: /v1/deploy_templates?detail=True {} DEBUG util.py:445: GOT:{'deploy_templates': [{'uuid': '7c638320-518a-4101-bb32-9e814601f1e6', 'created_at': '2024-05-14T11:54:00.976889+00:00', 'updated_at': None, 'name': 'CUSTOM_DT1', 'extra': {}, 'links': [{'href': 'http://localhost/v1/deploy_templates/7c638320-518a-4101-bb32-9e814601f1e6', 'rel': 'self'}, {'href': 'http://localhost/deploy_templates/7c638320-518a-4101-bb32-9e814601f1e6', 'rel': 'bookmark'}], 'steps': [{'interface': 'raid', 'step': 'create_configuration', 'args': {'logical_disks': []}, 'priority': 10}]}]} DEBUG util.py:445: GET: /v1/deploy_templates {} DEBUG util.py:445: GOT:Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: {"error_message": "{\"code\": 404, \"title\": \"Not Found\", \"description\": \"The API version does not allow deploy templates\"}"} DEBUG util.py:445: GET: /v1/deploy_templates/c329e2c7-de48-4924-87e4-bd09c8915576 {} DEBUG util.py:445: GOT:{'uuid': 'c329e2c7-de48-4924-87e4-bd09c8915576', 'created_at': '2024-05-14T11:54:01.109670+00:00', 'updated_at': None, 'name': 'CUSTOM_DT1', 'extra': {}, 'links': [{'href': 'http://localhost/v1/deploy_templates/c329e2c7-de48-4924-87e4-bd09c8915576', 'rel': 'self'}, {'href': 'http://localhost/deploy_templates/c329e2c7-de48-4924-87e4-bd09c8915576', 'rel': 'bookmark'}], 'steps': [{'interface': 'raid', 'step': 'create_configuration', 'args': {'logical_disks': []}, 'priority': 10}]} DEBUG util.py:445: GET: /v1/deploy_templates/7875c7e3-b39e-4c20-93da-e180532f37cb?fields=name,steps {} DEBUG util.py:445: GOT:{'name': 'CUSTOM_DT1', 'links': [{'href': 'http://localhost/v1/deploy_templates/7875c7e3-b39e-4c20-93da-e180532f37cb', 'rel': 'self'}, {'href': 'http://localhost/deploy_templates/7875c7e3-b39e-4c20-93da-e180532f37cb', 'rel': 'bookmark'}], 'steps': [{'interface': 'raid', 'step': 'create_configuration', 'args': {'logical_disks': []}, 'priority': 10}]} DEBUG util.py:445: GET: /v1/deploy_templates/cc60efa6-8b2b-4015-bd41-02351bcf9585 {} 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/7982b103-230e-4756-84ff-4e925e7e141d {} DEBUG util.py:445: GOT:{'uuid': '7982b103-230e-4756-84ff-4e925e7e141d', 'created_at': '2024-05-14T11:54:01.293305+00:00', 'updated_at': None, 'name': 'CUSTOM_DT1', 'extra': {}, 'links': [{'href': 'http://localhost/v1/deploy_templates/7982b103-230e-4756-84ff-4e925e7e141d', 'rel': 'self'}, {'href': 'http://localhost/deploy_templates/7982b103-230e-4756-84ff-4e925e7e141d', 'rel': 'bookmark'}], 'steps': [{'interface': 'raid', 'step': 'create_configuration', 'args': {'logical_disks': []}, 'priority': 10}]} DEBUG util.py:445: GET: /v1/deploy_templates/7982b103-230e-4756-84ff-4e925e7e141d {} DEBUG util.py:445: GOT:{'uuid': '7982b103-230e-4756-84ff-4e925e7e141d', 'created_at': '2024-05-14T11:54:01.293305+00:00', 'updated_at': None, 'name': 'CUSTOM_DT1', 'extra': {}, 'links': [{'href': 'http://localhost/v1/deploy_templates/7982b103-230e-4756-84ff-4e925e7e141d', 'rel': 'self'}, {'href': 'http://localhost/deploy_templates/7982b103-230e-4756-84ff-4e925e7e141d', 'rel': 'bookmark'}], 'steps': [{'interface': 'raid', 'step': 'create_configuration', 'args': {'logical_disks': []}, 'priority': 10}]} DEBUG util.py:445: GET: /deploy_templates/7982b103-230e-4756-84ff-4e925e7e141d {} DEBUG util.py:445: GOT:{'uuid': '7982b103-230e-4756-84ff-4e925e7e141d', 'created_at': '2024-05-14T11:54:01.293305+00:00', 'updated_at': None, 'name': 'CUSTOM_DT1', 'extra': {}, 'links': [{'href': 'http://localhost/v1/deploy_templates/7982b103-230e-4756-84ff-4e925e7e141d', 'rel': 'self'}, {'href': 'http://localhost/deploy_templates/7982b103-230e-4756-84ff-4e925e7e141d', 'rel': 'bookmark'}], 'steps': [{'interface': 'raid', 'step': 'create_configuration', 'args': {'logical_disks': []}, 'priority': 10}]} DEBUG util.py:445: GET: /v1/deploy_templates/58acf38d-1484-4208-bb17-ff1889dc270c {} DEBUG util.py:445: GOT:{'uuid': '58acf38d-1484-4208-bb17-ff1889dc270c', 'created_at': '2024-05-14T11:54:01.366751+00:00', 'updated_at': None, 'name': 'CUSTOM_DT1', 'extra': {}, 'links': [{'href': 'http://localhost/v1/deploy_templates/58acf38d-1484-4208-bb17-ff1889dc270c', 'rel': 'self'}, {'href': 'http://localhost/deploy_templates/58acf38d-1484-4208-bb17-ff1889dc270c', 'rel': 'bookmark'}], 'steps': [{'interface': 'raid', 'step': 'create_configuration', 'args': {'logical_disks': [], 'password': '******'}, 'priority': 10}]} DEBUG util.py:445: PATCH: /v1/deploy_templates/49b7dcfa-64c7-4c8f-a60c-37058f101f93 [{'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-8a550878-d66a-48d1-a1e0-1b652619fdc3 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Cannot patch /foo. Only the following can be updated: extra, name, steps, description\", \"debuginfo\": null}"} DEBUG util.py:445: PATCH: /v1/deploy_templates/b3a82f6b-2bea-4505-8ea9-b237c7a75632 [{'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-bd2fc59b-dad8-49a2-be9a-60ea5e148c76 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"uuid": "b3a82f6b-2bea-4505-8ea9-b237c7a75632", "created_at": "2024-05-14T11:54:01.487736+00:00", "updated_at": null, "name": "CUSTOM_DT2", "extra": {}, "links": [{"href": "http://localhost/v1/deploy_templates/b3a82f6b-2bea-4505-8ea9-b237c7a75632", "rel": "self"}, {"href": "http://localhost/deploy_templates/b3a82f6b-2bea-4505-8ea9-b237c7a75632", "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/a18507f1-9e8a-4e24-9e9e-5d8f1c447b9a [{'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-2dcb9665-b5f6-49ed-a605-02be4fb833c2 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Schema error for patch: 'steps' is a required property Failed validating 'required' in schema\", \"debuginfo\": null}"} DEBUG util.py:445: PATCH: /v1/deploy_templates/6ae51283-4e28-4c7a-805f-a59da3f56fb8 [{'path': '/uuid', 'op': 'remove'}] DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestPatch.test_remove_uuid [0.095399s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestPatch.test_replace_empty_step_list_fail [0.061967s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_allocation.TestPatch.test_update_not_allowed [0.029286s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_node.TestAttachDetachVif.test_vif_attach_port_uuid_and_portgroup_uuid [0.027780s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_allocation.TestPatch.test_update_not_found [0.026301s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_allocation.TestPatch.test_update_owner_not_acceptable [0.031537s] ... ok 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?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-f361ce43-b0cd-4855-9b1f-6c95ae826b02 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.77 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Field(s) \\\"invalid\\\" are not valid\", \"debuginfo\": null}"} DEBUG util.py:445: GET: /v1/drivers/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-0f5235c0-7c1a-4773-a5e6-553f2633501b DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.1 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Could not find the following driver(s) or hardware type(s): nope.\", \"debuginfo\": null}"} DEBUG util.py:445: GET: /v1/drivers/fake-hardware-type {} DEBUG util.py:445: GOT:{'name': 'fake-hardware-type', 'hosts': ['fake-host2', 'fake-host1'], 'links': [{'href': 'http://localhost/v1/drivers/fake-hardware-type', 'rel': 'self'}, {'href': 'http://localhost/drivers/fake-hardware-type', 'rel': 'bookmark'}], 'properties': [{'href': 'http://localhost/v1/drivers/fake-hardware-type/properties', 'rel': 'self'}, {'href': 'http://localhost/drivers/fake-hardware-type/properties', 'rel': 'bookmark'}], 'type': 'dynamic', 'default_vendor_interface': None, 'enabled_vendor_interfaces': [], 'default_raid_interface': None, 'enabled_raid_interfaces': [], 'default_boot_interface': None, 'enabled_boot_interfaces': [], 'default_deploy_interface': 'direct', 'enabled_deploy_interfaces': ['direct', 'ansible'], 'default_inspect_interface': None, 'enabled_inspect_interfaces': [], 'default_management_interface': None, 'enabled_management_interfaces': [], 'default_power_interface': None, 'enabled_power_interfaces': [], 'default_network_interface': None, 'enabled_network_interfaces': [], 'default_console_interface': None, 'enabled_console_interfaces': []} DEBUG util.py:445: GET: /v1/drivers/fake-hardware-type {} DEBUG util.py:445: GOT:{'name': 'fake-hardware-type', 'hosts': ['fake-host2', 'fake-host1'], 'links': [{'href': 'http://localhost/v1/drivers/fake-hardware-type', 'rel': 'self'}, {'href': 'http://localhost/drivers/fake-hardware-type', 'rel': 'bookmark'}]} DEBUG util.py:445: GET: /drivers/fake-hardware-type {} DEBUG util.py:445: GOT:{'name': 'fake-hardware-type', 'hosts': ['fake-host2', 'fake-host1'], 'links': [{'href': 'http://localhost/v1/drivers/fake-hardware-type', 'rel': 'self'}, {'href': 'http://localhost/drivers/fake-hardware-type', 'rel': 'bookmark'}]} DEBUG util.py:445: GET: /v1/drivers/fake-hardware-type/properties {} DEBUG util.py:445: GET: /drivers/fake-hardware-type/properties {} DEBUG util.py:445: GET: /v1/drivers?type=classic {} DEBUG util.py:445: GOT:{'drivers': []} 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-fe22c9f0-16f6-4976-bbeb-d64fe91ca85c DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: POST: /v1/events {'events': [{'event': 'network.bind_port', 'port_id': '11111111-aaaa-bbbb-cccc-555555555555', 'mac_address': 'de:ad:ca:fe:ba:be', 'status': 'ACTIVE', 'device_id': '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-92969b3a-07dc-409c-a697-32f67ec1647b DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Expected UUID for device_id: DEVICE_ID_SHOULD_BE_UUID\", \"debuginfo\": null}"} DEBUG util.py:445: POST: /v1/events {'events': [{'event': 'network.bind_port', 'port_id': '11111111-aaaa-bbbb-cccc-555555555555', 'mac_address': 'INVALID_MAC_ADDRESS', 'status': 'ACTIVE', 'device_id': '22222222-aaaa-bbbb-cccc-555555555555', 'binding:host_id': '22222222-aaaa-bbbb-cccc-555555555555', 'binding:vnic_type': 'baremetal'}]} DEBUG util.py:445: GOT:Response: 400 Bad Request DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-348788aa-8562-4d1a-8ff5-75daaee34e95 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Expected valid MAC address for mac_address: INVALID_MAC_ADDRESS\", \"debuginfo\": null}"} DEBUG util.py:445: POST: /v1/events {'events': [{'event': 'network.bind_port', 'port_id': '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-cb904c41-dcce-4a51-aa71-387679e2559b DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: POST: /v1/events {'events': [{'event': 'network.bind_port', 'port_id': '11111111-aaaa-bbbb-cccc-555555555555', 'mac_address': 'de:ad:ca:fe:ba:be', 'status': 'ACTIVE', 'device_id': '22222222-aaaa-bbbb-cccc-555555555555', 'binding:host_id': ['binding:host_id', 'IS', 'NODE_UUID', 'IN', 'IRONIC'], 'binding:vnic_type': 'baremetal'}]} DEBUG util.py:445: GOT:Response: 400 Bad Request DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-4e55880e-22a1-436d-99b9-a952a1b9a5c5 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Schema error for evts: ['binding:host_id', 'IS', 'NODE_UUID', 'IN', 'IRONIC'] is not of type 'string', 'null' Failed validating 'type' in schema['properties']['binding:host_id']\", \"debuginfo\": null}"} DEBUG util.py:445: POST: /v1/events {'events': [{'event': 'network.bind_port', 'port_id': '11111111-aaaa-bbbb-cccc-555555555555', 'mac_address': 'de:ad:ca:fe:ba:be', 'status': ['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-30fb336f-cae3-489b-888b-c343eead95a6 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Schema error for evts: ['status', 'SHOULD', 'BE', 'TEXT'] is not of type 'string' Failed validating 'type' in schema['properties']['status']\", \"debuginfo\": null}"} DEBUG util.py:445: POST: /v1/nodes/node-39/vifs {'id': '82c3f0c4-62ba-42ce-ad00-aee568069b67'} DEBUG util.py:445: GOT:Response: 204 No Content DEBUG util.py:445: Openstack-Request-Id: req-bc07f79f-1b1b-45d5-97da-e84c975391c4 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.28 DEBUG util.py:445: POST: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/vifs {'id': '4318320a-0c74-4837-b8c9-d47d36eff9e3', '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-b81e14bc-d71f-47e8-91a7-46ac368aaf72 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.67 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Cannot specify both port_uuid and portgroup_uuid\", \"debuginfo\": null}"} DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_node.TestAttachDetachVif.test_vif_detach [0.025584s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_node.TestAttachDetachVif.test_vif_detach_node_locked [0.024631s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestDelete.test_delete_by_name_non_existent [0.114299s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestPatch.test_replace_non_existent_step_fail [0.051531s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_node.TestBIOS.test_get_all_bios [0.038957s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_node.TestBIOS.test_get_bios_fields_old_version [0.027622s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestDelete.test_delete_invalid_api_version [0.060253s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_node.TestBIOS.test_get_one_bios [0.030051s] ... ok DEBUG util.py:445: GOT:{'uuid': '7bcaaa30-a58c-4a57-a547-88415eeeba4c', 'created_at': '2024-05-14T11:54:01.611450+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/7bcaaa30-a58c-4a57-a547-88415eeeba4c', 'rel': 'self'}, {'href': 'http://localhost/allocations/7bcaaa30-a58c-4a57-a547-88415eeeba4c', 'rel': 'bookmark'}], 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123'} DEBUG util.py:445: PATCH: /v1/allocations/9c753bb6-96b7-4d99-920d-e5e4298c3968 [{'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-5e73efff-8354-4b30-9218-17ef67de186a DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"uuid": "9c753bb6-96b7-4d99-920d-e5e4298c3968", "created_at": "2024-05-14T11:54:01.656547+00:00", "updated_at": "2024-05-14T11:54:01.666663+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/9c753bb6-96b7-4d99-920d-e5e4298c3968", "rel": "self"}, {"href": "http://localhost/allocations/9c753bb6-96b7-4d99-920d-e5e4298c3968", "rel": "bookmark"}], "node_uuid": null} DEBUG util.py:445: PATCH: /v1/allocations/a4097356-059a-4ab2-877c-72f1adc5f1dc [{'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-24d358fa-1d29-468a-a766-43494e3463bd DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"uuid": "a4097356-059a-4ab2-877c-72f1adc5f1dc", "created_at": "2024-05-14T11:54:01.692629+00:00", "updated_at": "2024-05-14T11:54:01.700602+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/a4097356-059a-4ab2-877c-72f1adc5f1dc", "rel": "self"}, {"href": "http://localhost/allocations/a4097356-059a-4ab2-877c-72f1adc5f1dc", "rel": "bookmark"}], "node_uuid": null} DEBUG util.py:445: GET: /v1/allocations/a4097356-059a-4ab2-877c-72f1adc5f1dc {} DEBUG util.py:445: GOT:{'uuid': 'a4097356-059a-4ab2-877c-72f1adc5f1dc', 'created_at': '2024-05-14T11:54:01.692629+00:00', 'updated_at': '2024-05-14T11:54:01.700602+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/a4097356-059a-4ab2-877c-72f1adc5f1dc', 'rel': 'self'}, {'href': 'http://localhost/allocations/a4097356-059a-4ab2-877c-72f1adc5f1dc', 'rel': 'bookmark'}], 'node_uuid': None} DEBUG util.py:445: PATCH: /v1/allocations/1740b94e-5fd0-4c80-b2cb-951c2d3fa4ba [{'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-d95d2125-576a-4f59-91a0-f3c2fa0a486d DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"uuid": "1740b94e-5fd0-4c80-b2cb-951c2d3fa4ba", "created_at": "2024-05-14T11:54:01.734951+00:00", "updated_at": "2024-05-14T11:54:01.742433+00:00", "candidate_nodes": [], "extra": {}, "last_error": null, "name": null, "owner": null, "resource_class": "baremetal", "state": "allocating", "traits": [], "links": [{"href": "http://localhost/v1/allocations/1740b94e-5fd0-4c80-b2cb-951c2d3fa4ba", "rel": "self"}, {"href": "http://localhost/allocations/1740b94e-5fd0-4c80-b2cb-951c2d3fa4ba", "rel": "bookmark"}], "node_uuid": null} DEBUG util.py:445: GET: /v1/allocations/1740b94e-5fd0-4c80-b2cb-951c2d3fa4ba {} DEBUG util.py:445: GOT:{'uuid': '1740b94e-5fd0-4c80-b2cb-951c2d3fa4ba', 'created_at': '2024-05-14T11:54:01.734951+00:00', 'updated_at': '2024-05-14T11:54:01.742433+00:00', 'candidate_nodes': [], 'extra': {}, 'last_error': None, 'name': None, 'owner': None, 'resource_class': 'baremetal', 'state': 'allocating', 'traits': [], 'links': [{'href': 'http://localhost/v1/allocations/1740b94e-5fd0-4c80-b2cb-951c2d3fa4ba', 'rel': 'self'}, {'href': 'http://localhost/allocations/1740b94e-5fd0-4c80-b2cb-951c2d3fa4ba', 'rel': 'bookmark'}], 'node_uuid': None} DEBUG util.py:445: PATCH: /v1/allocations/f564cee3-21d3-4a2b-a12b-15592255c7f2 [{'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-c85021f7-67bf-415c-a552-cc4ad52710b5 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Cannot patch /uuid. Only the following can be updated: name, extra\", \"debuginfo\": null}"} DEBUG util.py:445: PATCH: /v1/allocations/5f600535-b1a3-4afb-ac92-89ac985f2380 [{'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-a32de687-5626-4269-9463-c8ef797a48c3 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"uuid": "5f600535-b1a3-4afb-ac92-89ac985f2380", "created_at": "2024-05-14T11:54:01.792388+00:00", "updated_at": "2024-05-14T11:54:01.799823+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/5f600535-b1a3-4afb-ac92-89ac985f2380", "rel": "self"}, {"href": "http://localhost/allocations/5f600535-b1a3-4afb-ac92-89ac985f2380", "rel": "bookmark"}], "node_uuid": null} DEBUG util.py:445: GET: /v1/allocations/5f600535-b1a3-4afb-ac92-89ac985f2380 {} DEBUG util.py:445: GOT:{'uuid': '5f600535-b1a3-4afb-ac92-89ac985f2380', 'created_at': '2024-05-14T11:54:01.792388+00:00', 'updated_at': '2024-05-14T11:54:01.799823+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/5f600535-b1a3-4afb-ac92-89ac985f2380', 'rel': 'self'}, {'href': 'http://localhost/allocations/5f600535-b1a3-4afb-ac92-89ac985f2380', 'rel': 'bookmark'}], 'node_uuid': None} DEBUG util.py:445: PATCH: /v1/allocations/79b5a242-a8f8-4b67-976d-62ae784770b2 [{'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-311b8977-b1ec-4824-bc7c-6b9024c3425c DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.56 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"The API version does not allow updating allocations\", \"debuginfo\": null}"} DEBUG util.py:445: PATCH: /v1/allocations/da203980-b155-4fe8-9ccf-6182a32009be [{'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-d0da29e2-9083-4d30-aa3a-2501937807d3 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Allocation da203980-b155-4fe8-9ccf-6182a32009be could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: PATCH: /v1/allocations/7846eb01-a0b3-4adf-b359-651b0001b2dc [{'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-3d738f78-2dd6-4a27-b89d-37352823d571 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Cannot patch /owner. Only the following can be updated: name, extra\", \"debuginfo\": null}"} DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_allocation.TestPost.test_backfill_without_resource_class [0.068666s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_allocation.TestPost.test_create_allocation [0.050772s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_node.TestBIOS.test_get_one_bios_fails_if_not_found [0.029809s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_node.TestCheckCleanSteps.test__check_clean_steps_step_args_value_invalid [0.014726s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestPatch.test_update_by_name [0.121765s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_allocation.TestPost.test_create_allocation_candidate_node_invalid [0.026189s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_node.TestCheckCleanSteps.test__check_clean_steps_step_interface_value_invalid [0.016528s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_allocation.TestPost.test_create_allocation_candidate_node_not_found [0.030107s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_node.TestCheckCleanSteps.test__check_clean_steps_step_missing_interface [0.015939s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestListDeployTemplates.test_detail_query_false [0.109007s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_node.TestCheckCleanSteps.test__check_clean_steps_step_missing_step_key [0.014724s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestPatch.test_update_name_custom_trait [0.061918s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_allocation.TestPost.test_create_allocation_generate_uuid [0.033680s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_node.TestCheckCleanSteps.test__check_clean_steps_step_missing_step_value [0.015853s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_allocation.TestPost.test_create_allocation_invalid_trait [0.021090s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_node.TestDelete.test_delete_node_by_name [0.029599s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestListDeployTemplates.test_get_collection_custom_fields [0.059396s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_allocation.TestPost.test_create_allocation_is_restricted_until_scope_enforcement [0.025860s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_node.TestDelete.test_delete_node_by_name_with_json [0.034705s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_allocation.TestPost.test_create_allocation_with_no_extra [0.021259s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestPatch.test_update_name_standard_trait [0.086323s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_node.TestDelete.test_delete_node_not_found [0.036351s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestListDeployTemplates.test_get_one_with_json [0.068088s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_node.TestDelete.test_delete_node_not_found_by_name_unsupported [0.027004s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestPatch.test_update_not_found [0.064404s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_node.TestDelete.test_delete_ports_subresource [0.028644s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestListDeployTemplates.test_get_one_with_suffix [0.072843s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_node.TestDelete.test_delete_ports_subresource_no_port_id [0.027071s] ... ok 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/fb61568e-3c29-4c7e-a8a5-22ab3baab097 DEBUG util.py:445: Openstack-Request-Id: req-51f0bfde-f787-4bcd-ba52-aca58b4b01d8 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"uuid": "fb61568e-3c29-4c7e-a8a5-22ab3baab097", "created_at": "2024-05-14T11:54:01.942368+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/fb61568e-3c29-4c7e-a8a5-22ab3baab097", "rel": "self"}, {"href": "http://localhost/allocations/fb61568e-3c29-4c7e-a8a5-22ab3baab097", "rel": "bookmark"}], "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123"} DEBUG util.py:445: GET: /v1/allocations/fb61568e-3c29-4c7e-a8a5-22ab3baab097 {} DEBUG util.py:445: GOT:{'uuid': 'fb61568e-3c29-4c7e-a8a5-22ab3baab097', 'created_at': '2024-05-14T11:54:01.942368+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/fb61568e-3c29-4c7e-a8a5-22ab3baab097', 'rel': 'self'}, {'href': 'http://localhost/allocations/fb61568e-3c29-4c7e-a8a5-22ab3baab097', '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': '2b8f2c67-bcef-4613-b97f-4b6caf672525', '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/2b8f2c67-bcef-4613-b97f-4b6caf672525 DEBUG util.py:445: Openstack-Request-Id: req-927db8cd-853e-4f84-b00a-505dcdea9136 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"uuid": "2b8f2c67-bcef-4613-b97f-4b6caf672525", "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/2b8f2c67-bcef-4613-b97f-4b6caf672525", "rel": "self"}, {"href": "http://localhost/allocations/2b8f2c67-bcef-4613-b97f-4b6caf672525", "rel": "bookmark"}], "node_uuid": null} DEBUG util.py:445: GET: /v1/allocations/2b8f2c67-bcef-4613-b97f-4b6caf672525 {} DEBUG util.py:445: GOT:{'uuid': '2b8f2c67-bcef-4613-b97f-4b6caf672525', '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/2b8f2c67-bcef-4613-b97f-4b6caf672525', 'rel': 'self'}, {'href': 'http://localhost/allocations/2b8f2c67-bcef-4613-b97f-4b6caf672525', 'rel': 'bookmark'}], 'node_uuid': None} DEBUG util.py:445: POST: /v1/allocations {'candidate_nodes': ['this/is/not a/node/name'], 'extra': {}, 'name': None, 'resource_class': 'baremetal', 'traits': [], 'uuid': '4ecbc247-6c6e-43d2-97d0-ab5bf7aa1841', '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-c01ecad1-2802-4a7c-acf3-6387efbb4fe4 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Nodes cannot be found: this/is/not a/node/name\", \"debuginfo\": null}"} DEBUG util.py:445: POST: /v1/allocations {'candidate_nodes': ['1a1a1a1a-2b2b-3c3c-4d4d-5e5e5e5e5e5e'], 'extra': {}, 'name': None, 'resource_class': 'baremetal', 'traits': [], 'uuid': '0866eeda-068b-49a9-9498-88c661ccf20e', '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-cf99a6f4-ea6f-4c65-8a31-ff1c8e204682 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Nodes cannot be found: 1a1a1a1a-2b2b-3c3c-4d4d-5e5e5e5e5e5e\", \"debuginfo\": null}"} DEBUG util.py:445: POST: /v1/allocations {'candidate_nodes': [], 'extra': {}, 'name': None, 'resource_class': 'baremetal', 'traits': [], '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/00d24d06-32ca-4ba7-99bd-c24d3692583b DEBUG util.py:445: Openstack-Request-Id: req-6e93b03e-a6dd-4e51-a063-69198521fb2e DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"uuid": "00d24d06-32ca-4ba7-99bd-c24d3692583b", "created_at": "2024-05-14T11:54:02.097534+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/00d24d06-32ca-4ba7-99bd-c24d3692583b", "rel": "self"}, {"href": "http://localhost/allocations/00d24d06-32ca-4ba7-99bd-c24d3692583b", "rel": "bookmark"}], "node_uuid": null} DEBUG util.py:445: GET: /v1/allocations/00d24d06-32ca-4ba7-99bd-c24d3692583b {} DEBUG util.py:445: GOT:{'uuid': '00d24d06-32ca-4ba7-99bd-c24d3692583b', 'created_at': '2024-05-14T11:54:02.097534+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/00d24d06-32ca-4ba7-99bd-c24d3692583b', 'rel': 'self'}, {'href': 'http://localhost/allocations/00d24d06-32ca-4ba7-99bd-c24d3692583b', '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': '73550303-296e-4586-ab9d-c11a0c4473ae', '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-ed590849-5560-4cb6-8d6a-4cbafe40cf98 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Schema error for allocation: 'FOO_BAR' does not match '^CUSTOM_[A-Z0-9_]+$' Failed validating 'pattern' in schema[0]\", \"debuginfo\": null}"} DEBUG util.py:445: POST: /v1/allocations {'candidate_nodes': [], 'extra': {}, 'name': None, 'resource_class': 'baremetal', 'traits': [], 'uuid': 'c64cfde3-8c61-471f-9bad-a06876057d0c', '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-2c4d403e-bd36-420f-b398-13a1148b1e3e DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:allocation:create_pre_rbac\", \"debuginfo\": null}"} DEBUG util.py:445: POST: /v1/allocations {'candidate_nodes': [], 'name': None, 'resource_class': 'baremetal', 'traits': [], 'uuid': 'eef70ccc-e5a5-4302-af03-f050b9c7a870', '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/eef70ccc-e5a5-4302-af03-f050b9c7a870 DEBUG util.py:445: Openstack-Request-Id: req-47da66b9-58c9-48ba-ae1c-bcbf2b273fac DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"uuid": "eef70ccc-e5a5-4302-af03-f050b9c7a870", "created_at": "2024-05-14T11:54:02.170208+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/eef70ccc-e5a5-4302-af03-f050b9c7a870", "rel": "self"}, {"href": "http://localhost/allocations/eef70ccc-e5a5-4302-af03-f050b9c7a870", "rel": "bookmark"}], "node_uuid": null} DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_allocation.TestPost.test_create_by_node_not_allowed [0.035410s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_allocation.TestPost.test_create_restricted_allocation_with_owner [0.026388s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_chassis.TestListChassis.test_collection_links_custom_fields [0.027805s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_chassis.TestListChassis.test_detail_against_single [0.024705s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_chassis.TestListChassis.test_detail_using_query_false_and_fields [0.031677s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_chassis.TestListChassis.test_get_custom_fields_invalid_api_version [0.023365s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_collection_links_custom_fields [0.047025s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_detail_forbidden [0.027442s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestListDeployTemplates.test_one [0.088746s] ... ok DEBUG util.py:443: /builddir/build/BUILD/ironic-18.3.1.dev11/ironic/db/sqlalchemy/api.py:1129: SAWarning: TypeDecorator JsonEncodedDict() will not produce a cache key because the ``cache_ok`` attribute is not set to True. This can have significant performance implications including some performance degradations in comparison to prior SQLAlchemy versions. Set this attribute to True if this type object's state is safe to use in a cache key, or False to disable this warning. (Background on this error at: https://sqlalche.me/e/14/cprf) DEBUG util.py:443: count = query.update(values) DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestPost.test_create_doesnt_contain_id [0.128174s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_chassis.TestPatch.test_add_multi [0.047486s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestPost.test_create_invalid_api_version [0.020245s] ... ok DEBUG util.py:443: /builddir/build/BUILD/ironic-18.3.1.dev11/ironic/db/sqlalchemy/api.py:1129: SAWarning: TypeDecorator JsonEncodedDict() will not produce a cache key because the ``cache_ok`` attribute is not set to True. This can have significant performance implications including some performance degradations in comparison to prior SQLAlchemy versions. Set this attribute to True if this type object's state is safe to use in a cache key, or False to disable this warning. (Background on this error at: https://sqlalche.me/e/14/cprf) DEBUG util.py:443: count = query.update(values) DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestListDeployTemplates.test_sort_key_allowed [0.039273s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestPost.test_create_invalid_field_extra [0.037676s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_chassis.TestPatch.test_replace_multi [0.051437s] ... ok DEBUG util.py:445: DELETE: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/vifs/48dbaf22-5515-4160-8d94-a803aba82209 DEBUG util.py:445: GOT:Response: 204 No Content DEBUG util.py:445: Openstack-Request-Id: req-2b62deaa-f6e0-4083-997e-6ed01a95caf0 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.28 DEBUG util.py:445: DELETE: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/vifs/9852d9e3-08d4-4cfb-ad52-6d460f29ca22 DEBUG util.py:445: GOT:Response: 409 Conflict DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-5ed2b3ba-d172-4405-b910-7461e32db608 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.28 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node is locked by host , please retry after the current operation is completed.\", \"debuginfo\": null}"} DEBUG util.py:445: GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/bios {} DEBUG util.py:445: GOT:{'bios': [{'created_at': '2024-05-14T11:54:01.925716+00:00', 'updated_at': None, 'name': 'virtualization', 'value': 'on', 'links': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/bios/virtualization', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/bios/virtualization', 'rel': 'bookmark'}]}]} DEBUG util.py:445: GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/bios?fields=name,read_only {} DEBUG util.py:445: GOT:Response: 400 Bad Request DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-d525ae21-7abd-463c-88b6-fa8d8ce2e93a DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.73 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Invalid query parameter ?fields=['name', 'read_only'] received.\", \"debuginfo\": null}"} DEBUG util.py:445: GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/bios/virtualization {} DEBUG util.py:445: GOT:{'virtualization': {'created_at': '2024-05-14T11:54:01.986811+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/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-4f7335f5-0a97-4f42-8cd9-9fc555411208 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.74 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 doesn't have a BIOS setting 'fake_setting'\", \"debuginfo\": null}"} DEBUG util.py:445: DELETE: /v1/nodes/foo.1 DEBUG util.py:445: GOT:Response: 204 No Content DEBUG util.py:445: Openstack-Request-Id: req-15ed4028-c696-4f64-aecc-8f99ab1f50b3 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.5 DEBUG util.py:445: DELETE: /v1/nodes/foo.json DEBUG util.py:445: GOT:Response: 204 No Content DEBUG util.py:445: Openstack-Request-Id: req-6ee9f89b-7093-402a-b425-acca1dbacd29 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.5 DEBUG util.py:445: DELETE: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 DEBUG util.py:445: GOT:Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-00a79e3b-1b6a-4824-8657-9a664f01a628 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.1 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: DELETE: /v1/nodes/foo DEBUG util.py:445: GOT:Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-87a8d51c-6618-469f-9d3d-4ae9710496ed DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.1 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node foo could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: DELETE: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 DEBUG util.py:445: GOT:Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-60f460ec-e3d1-43ca-8108-8f50f4a3e7cc DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.1 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Operation not permitted.\", \"debuginfo\": null}"} DEBUG util.py:445: 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-44d1e104-b6ed-4966-a44f-eeba5eb44df7 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.1 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Missing mandatory parameter: port_uuid\", \"debuginfo\": null}"} DEBUG util.py:445: GET: /v1/nodes?fields=driver_info,uuid {} DEBUG util.py:445: GOT:{'nodes': [{'uuid': '082607d2-35d6-4ef8-9129-b80468d863c0', 'driver_info': {'fake': 'value'}, 'links': [{'href': 'http://localhost/v1/nodes/082607d2-35d6-4ef8-9129-b80468d863c0', 'rel': 'self'}, {'href': 'http://localhost/nodes/082607d2-35d6-4ef8-9129-b80468d863c0', 'rel': 'bookmark'}]}, {'uuid': '99c609e5-daf0-40ea-b613-00bd4d6a6a44', 'driver_info': {'fake': 'value'}, 'links': [{'href': 'http://localhost/v1/nodes/99c609e5-daf0-40ea-b613-00bd4d6a6a44', 'rel': 'self'}, {'href': 'http://localhost/nodes/99c609e5-daf0-40ea-b613-00bd4d6a6a44', 'rel': 'bookmark'}]}, {'uuid': 'c321734a-e378-41a5-8db1-0be34de30848', 'driver_info': {'fake': 'value'}, 'links': [{'href': 'http://localhost/v1/nodes/c321734a-e378-41a5-8db1-0be34de30848', 'rel': 'self'}, {'href': 'http://localhost/nodes/c321734a-e378-41a5-8db1-0be34de30848', 'rel': 'bookmark'}]}], 'next': 'http://localhost/v1/nodes?sort_key=id&sort_dir=asc&fields=driver_info,uuid&limit=3&marker=c321734a-e378-41a5-8db1-0be34de30848'} 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-232b70e1-b3c8-4419-b44c-fb0e7288460d DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.50 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: fake\", \"debuginfo\": null}"} DEBUG util.py:445: GET: /v1/nodes/detail?instance_uuid=6eccd391-961c-4da5-b3c5-e2fa5cfbbd9d {} DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_detail_instance_uuid [0.045849s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_detail_instance_uuid_project_match [0.034905s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_chassis.TestPatch.test_update_error [0.083301s] ... 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-c0c7bd87-1e71-4907-b1e8-9331fdeb12a1 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Cannot patch /uuid. Only the following can be updated: extra, name, steps, description\", \"debuginfo\": null}"} DEBUG util.py:445: PATCH: /v1/deploy_templates/cd7a9e4d-5f12-4ce8-a533-0dc2f8c318c5 [{'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-78aa432a-98af-4b80-a9e2-8c0cd11e6bae DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Schema error for patch: [] is too short Failed validating 'minItems' in schema['properties']['steps']\", \"debuginfo\": null}"} DEBUG util.py:445: PATCH: /v1/deploy_templates/cba84978-0be0-4842-9208-3363926570ee [{'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-7adc8441-9b0f-4c6e-9ca2-e74f58471f61 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Couldn't apply patch '{'path': '/steps/1', 'op': 'replace', 'value': {'interface': 'bios', 'step': 'apply_configuration', 'args': {'foo': 'bar'}, 'priority': 42}}'. Reason: list assignment index out of range\", \"debuginfo\": null}"} DEBUG util.py:445: PATCH: /v1/deploy_templates/CUSTOM_DT1 [{'path': '/steps', 'value': [{'interface': 'bios', 'step': 'apply_configuration', 'args': {'foo': 'bar'}, 'priority': 42}], 'op': 'replace'}] DEBUG util.py:445: GOT:Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-9991067d-87a6-4e6e-93eb-d18067113224 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"uuid": "0a634980-5bc3-439a-af57-762191adf537", "created_at": "2024-05-14T11:54:02.015203+00:00", "updated_at": null, "name": "CUSTOM_DT1", "extra": {}, "links": [{"href": "http://localhost/v1/deploy_templates/0a634980-5bc3-439a-af57-762191adf537", "rel": "self"}, {"href": "http://localhost/deploy_templates/0a634980-5bc3-439a-af57-762191adf537", "rel": "bookmark"}], "steps": [{"interface": "bios", "step": "apply_configuration", "args": {"foo": "bar"}, "priority": 42}]} DEBUG util.py:445: PATCH: /v1/deploy_templates/d2ef685d-10cc-4eaa-b637-e5175398ecbe [{'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-524ea958-0a39-410a-b3f7-381d71d08c61 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"uuid": "d2ef685d-10cc-4eaa-b637-e5175398ecbe", "created_at": "2024-05-14T11:54:02.091557+00:00", "updated_at": null, "name": "CUSTOM_DT2", "extra": {}, "links": [{"href": "http://localhost/v1/deploy_templates/d2ef685d-10cc-4eaa-b637-e5175398ecbe", "rel": "self"}, {"href": "http://localhost/deploy_templates/d2ef685d-10cc-4eaa-b637-e5175398ecbe", "rel": "bookmark"}], "steps": [{"interface": "raid", "step": "create_configuration", "args": {"logical_disks": []}, "priority": 10}]} DEBUG util.py:445: PATCH: /v1/deploy_templates/9e22a55e-fc5a-4178-8596-75a277440e50 [{'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-055ef509-f3bf-44a6-bee6-d3e51e9c405d DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"uuid": "9e22a55e-fc5a-4178-8596-75a277440e50", "created_at": "2024-05-14T11:54:02.178870+00:00", "updated_at": null, "name": "HW_CPU_X86_VMX", "extra": {}, "links": [{"href": "http://localhost/v1/deploy_templates/9e22a55e-fc5a-4178-8596-75a277440e50", "rel": "self"}, {"href": "http://localhost/deploy_templates/9e22a55e-fc5a-4178-8596-75a277440e50", "rel": "bookmark"}], "steps": [{"interface": "raid", "step": "create_configuration", "args": {"logical_disks": []}, "priority": 10}]} DEBUG util.py:445: PATCH: /v1/deploy_templates/99085e78-1655-4a0f-be9f-78aca900691e [{'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-053e0d7a-8dbf-4b0f-9c04-c956f977ee95 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Deploy template 99085e78-1655-4a0f-be9f-78aca900691e could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: POST: /v1/deploy_templates {'name': 'CUSTOM_DT1', 'uuid': 'ff199bf2-d256-436a-b999-ea684f139b4b', '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/ff199bf2-d256-436a-b999-ea684f139b4b DEBUG util.py:445: Openstack-Request-Id: req-2326109e-b42f-49a7-bf1d-cd5fa71c022a DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"uuid": "ff199bf2-d256-436a-b999-ea684f139b4b", "created_at": "2024-05-14T11:54:02.361269+00:00", "updated_at": null, "name": "CUSTOM_DT1", "extra": {}, "links": [{"href": "http://localhost/v1/deploy_templates/ff199bf2-d256-436a-b999-ea684f139b4b", "rel": "self"}, {"href": "http://localhost/deploy_templates/ff199bf2-d256-436a-b999-ea684f139b4b", "rel": "bookmark"}], "steps": [{"interface": "raid", "step": "create_configuration", "args": {"logical_disks": []}, "priority": 10}]} DEBUG util.py:445: GET: /v1/deploy_templates/ff199bf2-d256-436a-b999-ea684f139b4b {} DEBUG util.py:445: GOT:{'uuid': 'ff199bf2-d256-436a-b999-ea684f139b4b', 'created_at': '2024-05-14T11:54:02.361269+00:00', 'updated_at': None, 'name': 'CUSTOM_DT1', 'extra': {}, 'links': [{'href': 'http://localhost/v1/deploy_templates/ff199bf2-d256-436a-b999-ea684f139b4b', 'rel': 'self'}, {'href': 'http://localhost/deploy_templates/ff199bf2-d256-436a-b999-ea684f139b4b', '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': '1c6bce94-c834-43a4-b40a-d443940478e3', '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': '3048a8c1-0e67-4faa-9286-6d264865ae0d', '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-bf17c387-119d-4055-a3b1-61bf56ae8dba DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Schema error for template: 42 is not of type 'object', 'null' Failed validating 'type' in schema['properties']['extra']\", \"debuginfo\": null}"} DEBUG util.py:445: POST: /v1/deploy_templates {'name': 'CUSTOM_DT1', 'uuid': '7c42c5a2-b7cd-4839-ae13-47e28e41b942', 'steps': [{'interface': 'raid', 'step': 'create_configuration', 'args': {'logical_disks': []}, 'priority': 10}], 'extra': {}, 'foo': 'bar'} DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestPost.test_create_invalid_field_foo [0.029252s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestPost.test_create_invalid_step_field_foo [0.022021s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestPost.test_create_long_name [0.025006s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestPost.test_create_name_invalid_too_long [0.021495s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestPost.test_create_no_mandatory_field_name [0.026777s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestPost.test_create_no_mandatory_step_field_step [0.024216s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestPost.test_create_step_string_priority [0.024372s] ... ok DEBUG util.py:445: GOT:{'nodes': [{'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'created_at': '2024-05-14T11:54:02.388079+00:00', 'updated_at': None, 'automated_clean': None, 'bios_interface': None, 'boot_interface': None, 'boot_mode': None, 'clean_step': {}, 'conductor_group': '', 'console_enabled': False, 'console_interface': None, 'deploy_interface': None, 'deploy_step': {}, 'description': None, 'driver': 'fake-hardware', 'driver_info': {'foo': 'bar', 'fake_password': '******'}, 'driver_internal_info': {'private_state': 'secret value'}, 'extra': {}, 'fault': None, 'inspection_finished_at': None, 'inspection_started_at': None, 'inspect_interface': None, 'instance_info': {'configdrive': '******', 'image_url': '******', 'foo': 'bar'}, 'instance_uuid': '6eccd391-961c-4da5-b3c5-e2fa5cfbbd9d', 'last_error': None, 'lessee': None, 'maintenance': False, 'maintenance_reason': None, 'management_interface': None, 'name': None, 'network_data': {}, 'network_interface': None, 'owner': None, 'power_interface': None, 'power_state': None, 'properties': {'cpu_arch': 'x86_64', 'cpus': '8', 'local_gb': '10', 'memory_mb': '4096'}, 'protected': False, 'protected_reason': None, 'provision_state': 'available', 'provision_updated_at': None, 'raid_config': {}, 'raid_interface': None, 'rescue_interface': None, 'reservation': None, 'resource_class': None, 'retired': False, 'retired_reason': None, 'secure_boot': None, 'storage_interface': None, 'target_power_state': None, 'target_provision_state': None, 'target_raid_config': {}, 'traits': [], 'vendor_interface': None, 'links': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'rel': 'bookmark'}], 'conductor': 'fake.conductor', 'allocation_uuid': None, 'chassis_uuid': None, 'ports': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports', 'rel': 'bookmark'}], 'states': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states', 'rel': 'bookmark'}], 'portgroups': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups', 'rel': 'bookmark'}], 'volume': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume', 'rel': 'bookmark'}]}]} DEBUG util.py:445: GET: /v1/nodes/detail?instance_uuid=6eccd391-961c-4da5-b3c5-e2fa5cfbbd9d {} DEBUG util.py:445: GOT:{'nodes': [{'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'created_at': '2024-05-14T11:54:02.431343+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?sort_key=resource_class {} DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_detail_sort_key_allowed [0.040564s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_detail_sort_key_not_allowed [0.032919s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_detail_with_instance_uuid [0.039856s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_get_collection_pagination_no_uuid [0.040912s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_get_console_information_console_disabled [0.034465s] ... ok DEBUG util.py:445: GOT:{'conductors': [{'hostname': '457b8346-ee13-4dfd-8eb3-95b08b400388', 'conductor_group': '', 'links': [{'href': 'http://localhost/v1/conductors/457b8346-ee13-4dfd-8eb3-95b08b400388', 'rel': 'self'}, {'href': 'http://localhost/conductors/457b8346-ee13-4dfd-8eb3-95b08b400388', 'rel': 'bookmark'}], 'alive': True}, {'hostname': '8f5bd586-8f8b-4edd-84df-6d8004d761b0', 'conductor_group': '', 'links': [{'href': 'http://localhost/v1/conductors/8f5bd586-8f8b-4edd-84df-6d8004d761b0', 'rel': 'self'}, {'href': 'http://localhost/conductors/8f5bd586-8f8b-4edd-84df-6d8004d761b0', 'rel': 'bookmark'}], 'alive': True}, {'hostname': '99fb17d9-40b4-48e0-b33f-4e6be551cf6b', 'conductor_group': '', 'links': [{'href': 'http://localhost/v1/conductors/99fb17d9-40b4-48e0-b33f-4e6be551cf6b', 'rel': 'self'}, {'href': 'http://localhost/conductors/99fb17d9-40b4-48e0-b33f-4e6be551cf6b', 'rel': 'bookmark'}], 'alive': True}, {'hostname': '9ac49289-241a-4294-9c21-bb26eb7a681e', 'conductor_group': '', 'links': [{'href': 'http://localhost/v1/conductors/9ac49289-241a-4294-9c21-bb26eb7a681e', 'rel': 'self'}, {'href': 'http://localhost/conductors/9ac49289-241a-4294-9c21-bb26eb7a681e', 'rel': 'bookmark'}], 'alive': True}, {'hostname': 'cdc3b8e3-74df-45bf-8756-8f20bd3a6d59', 'conductor_group': '', 'links': [{'href': 'http://localhost/v1/conductors/cdc3b8e3-74df-45bf-8756-8f20bd3a6d59', 'rel': 'self'}, {'href': 'http://localhost/conductors/cdc3b8e3-74df-45bf-8756-8f20bd3a6d59', '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-fbafc9b7-04c5-4843-809c-f0dca5bba666 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"The sort_key value alive is an invalid field for sorting\", \"debuginfo\": null}"} DEBUG util.py:445: GET: /v1/conductors?sort_key=drivers {} DEBUG util.py:445: GOT:Response: 400 Bad Request DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-1acc3323-030d-4e5a-bc29-6b428522de92 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"The sort_key value drivers is an invalid field for sorting\", \"debuginfo\": null}"} DEBUG util.py:445: DELETE: /v1/deploy_templates/blah DEBUG util.py:445: GOT:Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-8a476a73-b791-48e4-9e13-57a613a71978 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Deploy template blah could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: DELETE: /v1/deploy_templates/37e2eb5c-deb1-4388-828b-3b306da9f7aa 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 {} DEBUG util.py:445: GOT:{'deploy_templates': [{'uuid': 'd6812239-bee4-411b-80a5-f127917b098e', 'name': 'CUSTOM_DT1', 'links': [{'href': 'http://localhost/v1/deploy_templates/d6812239-bee4-411b-80a5-f127917b098e', 'rel': 'self'}, {'href': 'http://localhost/deploy_templates/d6812239-bee4-411b-80a5-f127917b098e', 'rel': 'bookmark'}]}]} DEBUG util.py:445: GET: /v1/deploy_templates?detail=False {} DEBUG util.py:445: GOT:{'deploy_templates': [{'uuid': 'd6812239-bee4-411b-80a5-f127917b098e', 'name': 'CUSTOM_DT1', 'links': [{'href': 'http://localhost/v1/deploy_templates/d6812239-bee4-411b-80a5-f127917b098e', 'rel': 'self'}, {'href': 'http://localhost/deploy_templates/d6812239-bee4-411b-80a5-f127917b098e', 'rel': 'bookmark'}]}]} DEBUG util.py:445: GET: /v1/deploy_templates?fields=uuid,steps {} DEBUG util.py:445: GOT:{'deploy_templates': [{'uuid': 'c598e1ad-fb5b-47db-9ab2-41dd4fe8136e', 'links': [{'href': 'http://localhost/v1/deploy_templates/c598e1ad-fb5b-47db-9ab2-41dd4fe8136e', 'rel': 'self'}, {'href': 'http://localhost/deploy_templates/c598e1ad-fb5b-47db-9ab2-41dd4fe8136e', 'rel': 'bookmark'}], 'steps': [{'interface': 'raid', 'step': 'create_configuration', 'args': {'logical_disks': []}, 'priority': 10}]}, {'uuid': 'fa1952b2-7ff7-4b02-bb58-497cd2e311f3', 'links': [{'href': 'http://localhost/v1/deploy_templates/fa1952b2-7ff7-4b02-bb58-497cd2e311f3', 'rel': 'self'}, {'href': 'http://localhost/deploy_templates/fa1952b2-7ff7-4b02-bb58-497cd2e311f3', 'rel': 'bookmark'}], 'steps': [{'interface': 'raid', 'step': 'create_configuration', 'args': {'logical_disks': []}, 'priority': 10}]}, {'uuid': '3df43703-3992-4e72-8262-b431dfce06f7', 'links': [{'href': 'http://localhost/v1/deploy_templates/3df43703-3992-4e72-8262-b431dfce06f7', 'rel': 'self'}, {'href': 'http://localhost/deploy_templates/3df43703-3992-4e72-8262-b431dfce06f7', 'rel': 'bookmark'}], 'steps': [{'interface': 'raid', 'step': 'create_configuration', 'args': {'logical_disks': []}, 'priority': 10}]}]} DEBUG util.py:445: GET: /v1/deploy_templates/875efca9-02dc-4c00-b6bf-f32ccf27e1a1.json {} DEBUG util.py:445: GOT:{'uuid': '875efca9-02dc-4c00-b6bf-f32ccf27e1a1', 'created_at': '2024-05-14T11:54:02.201863+00:00', 'updated_at': None, 'name': 'CUSTOM_DT1', 'extra': {}, 'links': [{'href': 'http://localhost/v1/deploy_templates/875efca9-02dc-4c00-b6bf-f32ccf27e1a1', 'rel': 'self'}, {'href': 'http://localhost/deploy_templates/875efca9-02dc-4c00-b6bf-f32ccf27e1a1', 'rel': 'bookmark'}], 'steps': [{'interface': 'raid', 'step': 'create_configuration', 'args': {'logical_disks': []}, 'priority': 10}]} DEBUG util.py:445: GET: /v1/deploy_templates/eb8e4ad0-34a4-435f-9e0b-264b2651f955 {} DEBUG util.py:445: GOT:{'uuid': 'eb8e4ad0-34a4-435f-9e0b-264b2651f955', 'created_at': '2024-05-14T11:54:02.276664+00:00', 'updated_at': None, 'name': 'CUSTOM_DT1', 'extra': {}, 'links': [{'href': 'http://localhost/v1/deploy_templates/eb8e4ad0-34a4-435f-9e0b-264b2651f955', 'rel': 'self'}, {'href': 'http://localhost/deploy_templates/eb8e4ad0-34a4-435f-9e0b-264b2651f955', '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': '6d9a98f4-14d5-4f27-8ffb-a2e3c5763d1c', 'name': 'CUSTOM_DT1', 'links': [{'href': 'http://localhost/v1/deploy_templates/6d9a98f4-14d5-4f27-8ffb-a2e3c5763d1c', 'rel': 'self'}, {'href': 'http://localhost/deploy_templates/6d9a98f4-14d5-4f27-8ffb-a2e3c5763d1c', 'rel': 'bookmark'}]}]} DEBUG util.py:445: GET: /v1/deploy_templates?sort_key=name&detail=False {} DEBUG util.py:445: GOT:{'deploy_templates': [{'uuid': '64e40b50-e814-421c-86c0-b563a3c64010', 'name': 'CUSTOM_DT1', 'links': [{'href': 'http://localhost/v1/deploy_templates/64e40b50-e814-421c-86c0-b563a3c64010', 'rel': 'self'}, {'href': 'http://localhost/deploy_templates/64e40b50-e814-421c-86c0-b563a3c64010', 'rel': 'bookmark'}]}, {'uuid': 'b5567928-840d-40e3-9fbc-55f11b2de06a', 'name': 'CUSTOM_DT2', 'links': [{'href': 'http://localhost/v1/deploy_templates/b5567928-840d-40e3-9fbc-55f11b2de06a', 'rel': 'self'}, {'href': 'http://localhost/deploy_templates/b5567928-840d-40e3-9fbc-55f11b2de06a', 'rel': 'bookmark'}]}, {'uuid': 'babde38c-8d78-4a17-b7bc-38430b6aad82', 'name': 'CUSTOM_DT3', 'links': [{'href': 'http://localhost/v1/deploy_templates/babde38c-8d78-4a17-b7bc-38430b6aad82', 'rel': 'self'}, {'href': 'http://localhost/deploy_templates/babde38c-8d78-4a17-b7bc-38430b6aad82', 'rel': 'bookmark'}]}]} DEBUG util.py:445: PATCH: /v1/deploy_templates/42e41fba-4202-4524-97c4-b053b03fad4f [{'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: {0} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestPatch.test_add_multi [0.048865s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestPatch.test_add_too_high_index_step_fail [0.069483s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_driver.TestDriverProperties.test_driver_properties_hw_type [0.028026s] ... ok DEBUG util.py:445: POST: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/allocation {'candidate_nodes': [], 'extra': {}, 'name': None, 'resource_class': 'baremetal', 'traits': [], 'uuid': 'de6814c5-7358-40fe-b8ee-0988521f0929', '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': 'c225a0f2-1acf-451b-8d57-a655a9c1842e', '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/c225a0f2-1acf-451b-8d57-a655a9c1842e DEBUG util.py:445: Openstack-Request-Id: req-dfeb4fa9-5ef0-4580-93df-097736d88134 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.60 DEBUG util.py:445: {"uuid": "c225a0f2-1acf-451b-8d57-a655a9c1842e", "created_at": "2024-05-14T11:54:02.228801+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/c225a0f2-1acf-451b-8d57-a655a9c1842e", "rel": "self"}, {"href": "http://localhost/allocations/c225a0f2-1acf-451b-8d57-a655a9c1842e", "rel": "bookmark"}], "node_uuid": null} DEBUG util.py:445: GET: /v1/allocations/c225a0f2-1acf-451b-8d57-a655a9c1842e {} DEBUG util.py:445: GOT:{'uuid': 'c225a0f2-1acf-451b-8d57-a655a9c1842e', 'created_at': '2024-05-14T11:54:02.228801+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/c225a0f2-1acf-451b-8d57-a655a9c1842e', 'rel': 'self'}, {'href': 'http://localhost/allocations/c225a0f2-1acf-451b-8d57-a655a9c1842e', 'rel': 'bookmark'}], 'node_uuid': None} DEBUG util.py:445: GET: /v1/chassis?fields=extra,uuid {} DEBUG util.py:445: GOT:{'chassis': [{'uuid': '3f0ee4c1-1a63-4623-8b13-58835fe4b9bb', 'extra': {}, 'links': [{'href': 'http://localhost/v1/chassis/3f0ee4c1-1a63-4623-8b13-58835fe4b9bb', 'rel': 'self'}, {'href': 'http://localhost/chassis/3f0ee4c1-1a63-4623-8b13-58835fe4b9bb', 'rel': 'bookmark'}]}, {'uuid': '12a95f28-f8bf-4107-bf6e-dfdf4194ac50', 'extra': {}, 'links': [{'href': 'http://localhost/v1/chassis/12a95f28-f8bf-4107-bf6e-dfdf4194ac50', 'rel': 'self'}, {'href': 'http://localhost/chassis/12a95f28-f8bf-4107-bf6e-dfdf4194ac50', 'rel': 'bookmark'}]}, {'uuid': '97db7ff6-7649-426e-9e6f-70902ce8e9ac', 'extra': {}, 'links': [{'href': 'http://localhost/v1/chassis/97db7ff6-7649-426e-9e6f-70902ce8e9ac', 'rel': 'self'}, {'href': 'http://localhost/chassis/97db7ff6-7649-426e-9e6f-70902ce8e9ac', 'rel': 'bookmark'}]}], 'next': 'http://localhost/v1/chassis?sort_key=id&sort_dir=asc&fields=extra,uuid&limit=3&marker=97db7ff6-7649-426e-9e6f-70902ce8e9ac'} 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-f18a992a-ef68-4c7b-8c3a-3fce50991008 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.1 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Resource could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: GET: /v1/chassis?detail=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/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-b7382e7f-9412-47a7-abdc-a5e4617b2b40 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.1 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Request not acceptable.\", \"debuginfo\": null}"} DEBUG util.py:445: PATCH: /v1/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-f44280c4-7cb0-42ac-839b-f8a072826494 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.1 DEBUG util.py:445: {"uuid": "e74c40e0-d825-11e2-a28f-0800200c9a66", "created_at": "2024-05-14T11:54:02.376369+00:00", "updated_at": "2024-05-14T11:54:02.384564+00:00", "description": "data-center-1-chassis", "extra": {"foo1": "bar1", "foo2": "bar2"}, "links": [{"href": "http://localhost/v1/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66", "rel": "self"}, {"href": "http://localhost/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66", "rel": "bookmark"}], "nodes": [[{"href": "http://localhost/v1/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66/nodes", "rel": "self"}, {"href": "http://localhost/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66/nodes", "rel": "bookmark"}]]} DEBUG util.py:445: GET: /v1/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66 {} DEBUG util.py:445: GOT:{'uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'created_at': '2024-05-14T11:54:02.376369+00:00', 'updated_at': '2024-05-14T11:54:02.384564+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/388a8605-67c1-491a-953f-f1bc06778fde [{'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-e92a9bfc-68e4-420b-857c-569c0fea4b11 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.1 DEBUG util.py:445: {"uuid": "388a8605-67c1-491a-953f-f1bc06778fde", "created_at": "2024-05-14T11:54:02.422231+00:00", "updated_at": "2024-05-14T11:54:02.428630+00:00", "description": "data-center-1-chassis", "extra": {"foo1": "bar1", "foo2": "new value", "foo3": "bar3"}, "links": [{"href": "http://localhost/v1/chassis/388a8605-67c1-491a-953f-f1bc06778fde", "rel": "self"}, {"href": "http://localhost/chassis/388a8605-67c1-491a-953f-f1bc06778fde", "rel": "bookmark"}], "nodes": [[{"href": "http://localhost/v1/chassis/388a8605-67c1-491a-953f-f1bc06778fde/nodes", "rel": "self"}, {"href": "http://localhost/chassis/388a8605-67c1-491a-953f-f1bc06778fde/nodes", "rel": "bookmark"}]]} DEBUG util.py:445: GET: /v1/chassis/388a8605-67c1-491a-953f-f1bc06778fde {} DEBUG util.py:445: GOT:{'uuid': '388a8605-67c1-491a-953f-f1bc06778fde', 'created_at': '2024-05-14T11:54:02.422231+00:00', 'updated_at': '2024-05-14T11:54:02.428630+00:00', 'description': 'data-center-1-chassis', 'extra': {'foo1': 'bar1', 'foo2': 'new value', 'foo3': 'bar3'}, 'links': [{'href': 'http://localhost/v1/chassis/388a8605-67c1-491a-953f-f1bc06778fde', 'rel': 'self'}, {'href': 'http://localhost/chassis/388a8605-67c1-491a-953f-f1bc06778fde', 'rel': 'bookmark'}], 'nodes': [[{'href': 'http://localhost/v1/chassis/388a8605-67c1-491a-953f-f1bc06778fde/nodes', 'rel': 'self'}, {'href': 'http://localhost/chassis/388a8605-67c1-491a-953f-f1bc06778fde/nodes', 'rel': 'bookmark'}]]} 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-8e2fa67e-0213-4c03-abca-9f92a3915023 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.1 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"\", \"debuginfo\": null}"} DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_chassis.TestPost.test_create_chassis_error [0.099439s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_get_network_interface_fields_invalid_api_version [0.027290s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestPatch.test_remove_name [0.135014s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_driver.TestListDrivers.test_driver_type_hidden_in_lower_version [0.031461s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_driver.TestListDrivers.test_driver_vendor_passthru_get [0.030416s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_get_nodes_by_conductor_no_valid_host [0.053643s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_driver.TestListDrivers.test_driver_vendor_passthru_method_not_found [0.026904s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_chassis.TestPost.test_create_chassis_generate_uuid [0.109898s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestPatch.test_replace_duplicate_step [0.076989s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_driver.TestListDrivers.test_drivers_collection_custom_fields_with_detail_true [0.027405s] ... ok DEBUG util.py:445: GOT:{'nodes': [{'uuid': 'bede7ae7-c48f-446c-a3ea-2398f001122c', 'created_at': '2024-05-14T11:54:02.471384+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/bede7ae7-c48f-446c-a3ea-2398f001122c', 'rel': 'self'}, {'href': 'http://localhost/nodes/bede7ae7-c48f-446c-a3ea-2398f001122c', 'rel': 'bookmark'}], 'chassis_uuid': None, 'ports': [{'href': 'http://localhost/v1/nodes/bede7ae7-c48f-446c-a3ea-2398f001122c/ports', 'rel': 'self'}, {'href': 'http://localhost/nodes/bede7ae7-c48f-446c-a3ea-2398f001122c/ports', 'rel': 'bookmark'}], 'states': [{'href': 'http://localhost/v1/nodes/bede7ae7-c48f-446c-a3ea-2398f001122c/states', 'rel': 'self'}, {'href': 'http://localhost/nodes/bede7ae7-c48f-446c-a3ea-2398f001122c/states', 'rel': 'bookmark'}]}, {'uuid': '39d01614-f617-43cc-9bae-22961c5520da', 'created_at': '2024-05-14T11:54:02.468911+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/39d01614-f617-43cc-9bae-22961c5520da', 'rel': 'self'}, {'href': 'http://localhost/nodes/39d01614-f617-43cc-9bae-22961c5520da', 'rel': 'bookmark'}], 'chassis_uuid': None, 'ports': [{'href': 'http://localhost/v1/nodes/39d01614-f617-43cc-9bae-22961c5520da/ports', 'rel': 'self'}, {'href': 'http://localhost/nodes/39d01614-f617-43cc-9bae-22961c5520da/ports', 'rel': 'bookmark'}], 'states': [{'href': 'http://localhost/v1/nodes/39d01614-f617-43cc-9bae-22961c5520da/states', 'rel': 'self'}, {'href': 'http://localhost/nodes/39d01614-f617-43cc-9bae-22961c5520da/states', 'rel': 'bookmark'}]}, {'uuid': '4d624280-dd8c-458a-918a-233781df6100', 'created_at': '2024-05-14T11:54:02.466056+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/4d624280-dd8c-458a-918a-233781df6100', 'rel': 'self'}, {'href': 'http://localhost/nodes/4d624280-dd8c-458a-918a-233781df6100', 'rel': 'bookmark'}], 'chassis_uuid': None, 'ports': [{'href': 'http://localhost/v1/nodes/4d624280-dd8c-458a-918a-233781df6100/ports', 'rel': 'self'}, {'href': 'http://localhost/nodes/4d624280-dd8c-458a-918a-233781df6100/ports', 'rel': 'bookmark'}], 'states': [{'href': 'http://localhost/v1/nodes/4d624280-dd8c-458a-918a-233781df6100/states', 'rel': 'self'}, {'href': 'http://localhost/nodes/4d624280-dd8c-458a-918a-233781df6100/states', 'rel': 'bookmark'}]}]} 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-d8f42fa5-cedc-42ee-997f-39f4640b229c DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.20 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Request not acceptable.\", \"debuginfo\": null}"} DEBUG util.py:445: GET: /v1/nodes/detail?instance_uuid=9c7caa5d-a7b7-4112-8cf4-cea06e85ba57 {} DEBUG util.py:445: GOT:{'nodes': [{'uuid': '150d3372-3f97-4de9-9681-7cae90942e13', 'created_at': '2024-05-14T11:54:02.544090+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': '9c7caa5d-a7b7-4112-8cf4-cea06e85ba57', '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/150d3372-3f97-4de9-9681-7cae90942e13', 'rel': 'self'}, {'href': 'http://localhost/nodes/150d3372-3f97-4de9-9681-7cae90942e13', 'rel': 'bookmark'}], 'chassis_uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'ports': [{'href': 'http://localhost/v1/nodes/150d3372-3f97-4de9-9681-7cae90942e13/ports', 'rel': 'self'}, {'href': 'http://localhost/nodes/150d3372-3f97-4de9-9681-7cae90942e13/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/44ee9b26-6f2e-4298-bbd6-49a1c2e49965', 'rel': 'self'}, {'href': 'http://localhost/nodes/44ee9b26-6f2e-4298-bbd6-49a1c2e49965', 'rel': 'bookmark'}]}, {'name': None, 'links': [{'href': 'http://localhost/v1/nodes/1943e32a-7fc1-421a-a541-d0da0034536a', 'rel': 'self'}, {'href': 'http://localhost/nodes/1943e32a-7fc1-421a-a541-d0da0034536a', 'rel': 'bookmark'}]}], 'next': 'http://localhost/v1/nodes?sort_key=id&sort_dir=asc&fields=name&limit=2&marker=1943e32a-7fc1-421a-a541-d0da0034536a'} 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=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-5f5f28cb-ba78-41d5-bb5e-fae415681ad1 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.19 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Request not acceptable.\", \"debuginfo\": null}"} DEBUG util.py:445: GET: /v1/nodes?conductor=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-10907905-c798-4d81-ab40-a411b5df83c5 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.49 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Some unexpected thing happened\", \"debuginfo\": null}"} DEBUG util.py:445: GET: /v1/nodes?fault=somefake {} DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_get_nodes_by_fault_with_invalid_fault [0.024312s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_get_nodes_by_lessee [0.066262s] ... 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-05846693-490a-476c-a75b-67830aff196e DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Schema error for template: Additional properties are not allowed ('foo' was unexpected) Failed validating 'additionalProperties' in schema\", \"debuginfo\": null}"} DEBUG util.py:445: POST: /v1/deploy_templates {'name': 'CUSTOM_DT1', 'uuid': '5ae94f1a-7429-4e3b-abdc-e9d7b35fbcd0', '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-9f3b178b-431d-475f-a485-dde05a48f0b5 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Schema error for template: Additional properties are not allowed ('foo' was unexpected) Failed validating 'additionalProperties' in schema['properties']['steps']['items']\", \"debuginfo\": null}"} DEBUG util.py:445: POST: /v1/deploy_templates {'name': 'CUSTOM_XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX', 'uuid': '414536c9-830f-4c80-a277-a2c0a6894e32', '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/414536c9-830f-4c80-a277-a2c0a6894e32 DEBUG util.py:445: Openstack-Request-Id: req-4e29710b-b006-410e-b736-8343bdc17e18 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"uuid": "414536c9-830f-4c80-a277-a2c0a6894e32", "created_at": "2024-05-14T11:54:02.514736+00:00", "updated_at": null, "name": "CUSTOM_XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX", "extra": {}, "links": [{"href": "http://localhost/v1/deploy_templates/414536c9-830f-4c80-a277-a2c0a6894e32", "rel": "self"}, {"href": "http://localhost/deploy_templates/414536c9-830f-4c80-a277-a2c0a6894e32", "rel": "bookmark"}], "steps": [{"interface": "raid", "step": "create_configuration", "args": {"logical_disks": []}, "priority": 10}]} DEBUG util.py:445: POST: /v1/deploy_templates {'name': 'CUSTOM_XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX', 'uuid': 'e0557c25-aa2a-41f5-a1fe-8b13d5cf394b', '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-b8d59e7c-11ac-47c4-abbc-f89c09b9c9d5 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Schema error for template: 'CUSTOM_XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX' is too long Failed validating 'maxLength' in schema[0]\", \"debuginfo\": null}"} DEBUG util.py:445: POST: /v1/deploy_templates {'uuid': '36a0c399-6171-49a1-9417-e67047f5718a', '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-6ee265bd-9b22-4ecc-a696-edca32ddbaa5 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Schema error for template: 'name' is a required property Failed validating 'required' in schema\", \"debuginfo\": null}"} DEBUG util.py:445: POST: /v1/deploy_templates {'name': 'CUSTOM_DT1', 'uuid': 'd07b62e7-0d5e-4ac0-b05a-4405f68a7d1a', '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-ad161dea-ed85-4f5d-827f-48bd7a9c0f6f DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Schema error for template: 'step' is a required property Failed validating 'required' in schema['properties']['steps']['items']\", \"debuginfo\": null}"} DEBUG util.py:445: POST: /v1/deploy_templates {'name': 'CUSTOM_DT1', 'uuid': 'bb076dd9-3df6-42ef-b9da-f6f7e2261d06', 'steps': [{'interface': 'raid', 'step': 'create_configuration', 'args': {'logical_disks': []}, 'priority': '42'}], 'extra': {}} DEBUG util.py:445: GOT:Response: 201 Created DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Location: http://localhost/v1/deploy_templates/bb076dd9-3df6-42ef-b9da-f6f7e2261d06 DEBUG util.py:445: Openstack-Request-Id: req-cc3514b9-16ba-4b67-b970-6876309f52bc DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"uuid": "bb076dd9-3df6-42ef-b9da-f6f7e2261d06", "created_at": "2024-05-14T11:54:02.613021+00:00", "updated_at": null, "name": "CUSTOM_DT1", "extra": {}, "links": [{"href": "http://localhost/v1/deploy_templates/bb076dd9-3df6-42ef-b9da-f6f7e2261d06", "rel": "self"}, {"href": "http://localhost/deploy_templates/bb076dd9-3df6-42ef-b9da-f6f7e2261d06", "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/fake-hardware-type {} DEBUG util.py:445: GOT:{'name': 'fake-hardware-type', 'hosts': ['fake-host2', 'fake-host1'], 'links': [{'href': 'http://localhost/v1/drivers/fake-hardware-type', 'rel': 'self'}, {'href': 'http://localhost/drivers/fake-hardware-type', 'rel': 'bookmark'}], 'properties': [{'href': 'http://localhost/v1/drivers/fake-hardware-type/properties', 'rel': 'self'}, {'href': 'http://localhost/drivers/fake-hardware-type/properties', 'rel': 'bookmark'}]} DEBUG util.py:445: GET: /v1/drivers/fake-hardware-type/vendor_passthru/do_test {} DEBUG util.py:445: GOT:foo 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-d02fa7bf-e030-444b-b1a7-f782c775aded DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.1 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Missing mandatory parameter: method\", \"debuginfo\": null}"} DEBUG util.py:445: 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-7a72add6-c8b9-4978-bcf9-6111afea1af9 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.77 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Can not specify ?detail=True and fields in the same request.\", \"debuginfo\": null}"} DEBUG util.py:445: GET: /v1/drivers?type=classic {} DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_driver.TestListDrivers.test_drivers_type_filter_bad_version [0.020994s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_driver.TestListDrivers.test_get_custom_fields_invalid_api_version [0.037355s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestPatch.test_replace_invalid_name_not_a_trait [0.090380s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_conductor.TestListConductors.test_collection_links [0.119079s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestPatch.test_update_by_id [0.034802s] ... 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-c1024afd-518f-459c-b50b-523f521a0f90 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.42 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Unrecognized fault \\\"somefake\\\" is specified, allowed faults are ('power failure', 'clean failure', 'rescue abort failure')\", \"debuginfo\": null}"} DEBUG util.py:445: GET: /v1/nodes/detail?fault=somefake {} DEBUG util.py:445: GOT:Response: 400 Bad Request DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-b8f021eb-ecb6-4ca0-82b7-bb497a089849 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.42 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Unrecognized fault \\\"somefake\\\" is specified, allowed faults are ('power failure', 'clean failure', 'rescue abort failure')\", \"debuginfo\": null}"} DEBUG util.py:445: GET: /v1/nodes?lessee=project1 {} DEBUG util.py:445: GOT:{'nodes': [{'uuid': '7680260f-6b28-4d5e-bf25-8a995bfb1915', 'instance_uuid': None, 'maintenance': False, 'power_state': None, 'provision_state': 'available', 'name': None, 'links': [{'href': 'http://localhost/v1/nodes/7680260f-6b28-4d5e-bf25-8a995bfb1915', 'rel': 'self'}, {'href': 'http://localhost/nodes/7680260f-6b28-4d5e-bf25-8a995bfb1915', 'rel': 'bookmark'}]}]} DEBUG util.py:445: GET: /v1/nodes?lessee=project2 {} DEBUG util.py:445: GOT:{'nodes': [{'uuid': '5b723149-5ef2-4f7e-9a12-d7930cbbd421', 'instance_uuid': None, 'maintenance': False, 'power_state': None, 'provision_state': 'available', 'name': None, 'links': [{'href': 'http://localhost/v1/nodes/5b723149-5ef2-4f7e-9a12-d7930cbbd421', 'rel': 'self'}, {'href': 'http://localhost/nodes/5b723149-5ef2-4f7e-9a12-d7930cbbd421', 'rel': 'bookmark'}]}]} DEBUG util.py:445: GET: /v1/nodes/detail?lessee=project1 {} DEBUG util.py:445: GOT:{'nodes': [{'uuid': '7680260f-6b28-4d5e-bf25-8a995bfb1915', 'created_at': '2024-05-14T11:54:02.766324+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/7680260f-6b28-4d5e-bf25-8a995bfb1915', 'rel': 'self'}, {'href': 'http://localhost/nodes/7680260f-6b28-4d5e-bf25-8a995bfb1915', 'rel': 'bookmark'}], 'conductor': 'fake.conductor', 'allocation_uuid': None, 'chassis_uuid': None, 'ports': [{'href': 'http://localhost/v1/nodes/7680260f-6b28-4d5e-bf25-8a995bfb1915/ports', 'rel': 'self'}, {'href': 'http://localhost/nodes/7680260f-6b28-4d5e-bf25-8a995bfb1915/ports', 'rel': 'bookmark'}], 'states': [{'href': 'http://localhost/v1/nodes/7680260f-6b28-4d5e-bf25-8a995bfb1915/states', 'rel': 'self'}, {'href': 'http://localhost/nodes/7680260f-6b28-4d5e-bf25-8a995bfb1915/states', 'rel': 'bookmark'}], 'portgroups': [{'href': 'http://localhost/v1/nodes/7680260f-6b28-4d5e-bf25-8a995bfb1915/portgroups', 'rel': 'self'}, {'href': 'http://localhost/nodes/7680260f-6b28-4d5e-bf25-8a995bfb1915/portgroups', 'rel': 'bookmark'}], 'volume': [{'href': 'http://localhost/v1/nodes/7680260f-6b28-4d5e-bf25-8a995bfb1915/volume', 'rel': 'self'}, {'href': 'http://localhost/nodes/7680260f-6b28-4d5e-bf25-8a995bfb1915/volume', 'rel': 'bookmark'}]}]} DEBUG util.py:445: GET: /v1/nodes/detail?lessee=project2 {} DEBUG util.py:445: GOT:{'nodes': [{'uuid': '5b723149-5ef2-4f7e-9a12-d7930cbbd421', 'created_at': '2024-05-14T11:54:02.769159+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/5b723149-5ef2-4f7e-9a12-d7930cbbd421', 'rel': 'self'}, {'href': 'http://localhost/nodes/5b723149-5ef2-4f7e-9a12-d7930cbbd421', 'rel': 'bookmark'}], 'conductor': 'fake.conductor', 'allocation_uuid': None, 'chassis_uuid': None, 'ports': [{'href': 'http://localhost/v1/nodes/5b723149-5ef2-4f7e-9a12-d7930cbbd421/ports', 'rel': 'self'}, {'href': 'http://localhost/nodes/5b723149-5ef2-4f7e-9a12-d7930cbbd421/ports', 'rel': 'bookmark'}], 'states': [{'href': 'http://localhost/v1/nodes/5b723149-5ef2-4f7e-9a12-d7930cbbd421/states', 'rel': 'self'}, {'href': 'http://localhost/nodes/5b723149-5ef2-4f7e-9a12-d7930cbbd421/states', 'rel': 'bookmark'}], 'portgroups': [{'href': 'http://localhost/v1/nodes/5b723149-5ef2-4f7e-9a12-d7930cbbd421/portgroups', 'rel': 'self'}, {'href': 'http://localhost/nodes/5b723149-5ef2-4f7e-9a12-d7930cbbd421/portgroups', 'rel': 'bookmark'}], 'volume': [{'href': 'http://localhost/v1/nodes/5b723149-5ef2-4f7e-9a12-d7930cbbd421/volume', 'rel': 'self'}, {'href': 'http://localhost/nodes/5b723149-5ef2-4f7e-9a12-d7930cbbd421/volume', 'rel': 'bookmark'}]}]} DEBUG util.py:445: GET: /v1/nodes/detail?resource_class=foo {} DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_get_nodes_by_resource_class_detail [0.060271s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_get_nodes_by_resource_class_invalid_api_version [0.027593s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestPost.test_create [0.050458s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_get_nodes_by_resource_class_invalid_api_version_detail [0.041393s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_conductor.TestListConductors.test_list_with_invalid_api [0.086977s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestPost.test_create_complex_step_args [0.026076s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestDelete.test_delete_old_api_version [0.036324s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestPost.test_create_error [0.025116s] ... ok DEBUG util.py:443: /builddir/build/BUILD/ironic-18.3.1.dev11/ironic/db/sqlalchemy/api.py:1287: SAWarning: SELECT statement has a cartesian product between FROM element(s) "conductor_hardware_interfaces" and FROM element "conductors". Apply join condition(s) between each element to resolve. DEBUG util.py:443: return query.all() DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_get_one_configdrive_dict [0.058168s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_driver.TestListDrivers.test_get_one_invalid_custom_fields [0.172229s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_driver.TestListDrivers.test_links [0.034681s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_get_one_custom_fields_show_password [0.036088s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestListDeployTemplates.test_collection_links_default_limit [0.057932s] ... 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-83b17884-91e5-4f85-ae31-daf0ed382065 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"uuid": "42e41fba-4202-4524-97c4-b053b03fad4f", "created_at": "2024-05-14T11:54:02.438182+00:00", "updated_at": null, "name": "CUSTOM_DT1", "extra": {}, "links": [{"href": "http://localhost/v1/deploy_templates/42e41fba-4202-4524-97c4-b053b03fad4f", "rel": "self"}, {"href": "http://localhost/deploy_templates/42e41fba-4202-4524-97c4-b053b03fad4f", "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/8d1f016e-b8c5-4fbc-acfe-39e7fa59912f [{'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-2373ec87-c11e-4076-84a8-232fcfe8bb85 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Couldn't apply patch '{'path': '/steps/2', 'op': 'add', 'value': {'interface': 'bios', 'step': 'apply_configuration', 'args': {'foo': 'bar'}, 'priority': 42}}'. Reason: can't insert outside of list\", \"debuginfo\": null}"} DEBUG util.py:445: PATCH: /v1/deploy_templates/9a770cc9-387e-4c07-8bb6-8b0a765ea1bd [{'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-e1531bfa-fcfd-400b-91b2-86ecb9eafed0 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Schema error for patch: 'name' is a required property Failed validating 'required' in schema\", \"debuginfo\": null}"} DEBUG util.py:445: PATCH: /v1/deploy_templates/ff74b902-2288-419e-be52-8af850ebc25c [{'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-e6edcc30-9af3-4eb1-94ce-79fd9c22da59 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Deploy template invalid: Duplicate deploy steps. A deploy template cannot have multiple deploy steps with the same interface and step. Duplicates: interface: raid, step: create_configuration.\", \"debuginfo\": null}"} DEBUG util.py:445: PATCH: /v1/deploy_templates/e2a653eb-1c85-4168-81a9-30f4c08dda92 [{'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-54e87096-e790-4c25-8219-3c8bfde64ef8 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Schema error for patch: 'not-a-trait' does not match '^CUSTOM_[A-Z0-9_]+$' Failed validating 'pattern' in schema[0]\", \"debuginfo\": null}"} DEBUG util.py:445: PATCH: /v1/deploy_templates/e5a172b5-1406-446b-aac7-a769fc588f14 [{'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-6bc4df3a-4e87-4673-9084-018801d875c6 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"uuid": "e5a172b5-1406-446b-aac7-a769fc588f14", "created_at": "2024-05-14T11:54:02.857263+00:00", "updated_at": null, "name": "CUSTOM_DT2", "extra": {}, "links": [{"href": "http://localhost/v1/deploy_templates/e5a172b5-1406-446b-aac7-a769fc588f14", "rel": "self"}, {"href": "http://localhost/deploy_templates/e5a172b5-1406-446b-aac7-a769fc588f14", "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': '08d375dd-ffca-4c00-a5fe-bd31691a8d2a', '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/08d375dd-ffca-4c00-a5fe-bd31691a8d2a DEBUG util.py:445: Openstack-Request-Id: req-3151c268-ba58-4bfe-89b5-2876d1c8a30a DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"uuid": "08d375dd-ffca-4c00-a5fe-bd31691a8d2a", "created_at": "2000-01-01T00:00:00+00:00", "updated_at": null, "name": "CUSTOM_DT1", "extra": {}, "links": [{"href": "http://localhost/v1/deploy_templates/08d375dd-ffca-4c00-a5fe-bd31691a8d2a", "rel": "self"}, {"href": "http://localhost/deploy_templates/08d375dd-ffca-4c00-a5fe-bd31691a8d2a", "rel": "bookmark"}], "steps": [{"interface": "raid", "step": "create_configuration", "args": {"logical_disks": []}, "priority": 10}]} DEBUG util.py:445: GET: /v1/deploy_templates/08d375dd-ffca-4c00-a5fe-bd31691a8d2a {} DEBUG util.py:445: GOT:{'uuid': '08d375dd-ffca-4c00-a5fe-bd31691a8d2a', 'created_at': '2000-01-01T00:00:00+00:00', 'updated_at': None, 'name': 'CUSTOM_DT1', 'extra': {}, 'links': [{'href': 'http://localhost/v1/deploy_templates/08d375dd-ffca-4c00-a5fe-bd31691a8d2a', 'rel': 'self'}, {'href': 'http://localhost/deploy_templates/08d375dd-ffca-4c00-a5fe-bd31691a8d2a', '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': 'a630c80a-bf81-4a4f-8bbe-9ce9d952816d', 'steps': [{'interface': 'raid', 'step': 'create_configuration', 'args': {'foo': [{'bar': 'baz'}]}, 'priority': 10}], 'extra': {}} DEBUG util.py:445: GOT:Response: 201 Created DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Location: http://localhost/v1/deploy_templates/a630c80a-bf81-4a4f-8bbe-9ce9d952816d DEBUG util.py:445: Openstack-Request-Id: req-66e09f8c-9238-4064-af38-eb9c3d26b4f2 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"uuid": "a630c80a-bf81-4a4f-8bbe-9ce9d952816d", "created_at": "2024-05-14T11:54:02.947681+00:00", "updated_at": null, "name": "CUSTOM_DT1", "extra": {}, "links": [{"href": "http://localhost/v1/deploy_templates/a630c80a-bf81-4a4f-8bbe-9ce9d952816d", "rel": "self"}, {"href": "http://localhost/deploy_templates/a630c80a-bf81-4a4f-8bbe-9ce9d952816d", "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': 'a0004baf-2403-4336-9dfd-67a16a35d1f2', '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-7e85a9d8-a921-4d8a-a132-4a7f833c9dea DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"\", \"debuginfo\": null}"} DEBUG util.py:445: POST: /v1/deploy_templates {'name': None, 'uuid': '7978528b-cee4-418d-a651-bd166f7ae04f', 'steps': [{'interface': 'raid', 'step': 'create_configuration', 'args': {'logical_disks': []}, 'priority': 10}], 'extra': {}} DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestPost.test_create_invalid_field_name_none [0.026506s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_driver.TestListDrivers.test_links_public_url [0.040560s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestPost.test_create_invalid_step_field_args1 [0.056561s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestPost.test_create_invalid_step_field_args2 [0.038077s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_driver.TestListDrivers.test_raid_logical_disk_properties [0.040175s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestPost.test_create_invalid_step_field_priority [0.023639s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_driver.TestListDrivers.test_raid_logical_disk_properties_cached [0.039398s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestPost.test_create_name_invalid_not_a_trait [0.023372s] ... ok DEBUG util.py:445: GOT:{'nodes': [{'uuid': '5bf378fa-df3a-475c-b6de-89b0b53d6a5b', 'created_at': '2024-05-14T11:54:02.828822+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/5bf378fa-df3a-475c-b6de-89b0b53d6a5b', 'rel': 'self'}, {'href': 'http://localhost/nodes/5bf378fa-df3a-475c-b6de-89b0b53d6a5b', 'rel': 'bookmark'}], 'chassis_uuid': None, 'ports': [{'href': 'http://localhost/v1/nodes/5bf378fa-df3a-475c-b6de-89b0b53d6a5b/ports', 'rel': 'self'}, {'href': 'http://localhost/nodes/5bf378fa-df3a-475c-b6de-89b0b53d6a5b/ports', 'rel': 'bookmark'}], 'states': [{'href': 'http://localhost/v1/nodes/5bf378fa-df3a-475c-b6de-89b0b53d6a5b/states', 'rel': 'self'}, {'href': 'http://localhost/nodes/5bf378fa-df3a-475c-b6de-89b0b53d6a5b/states', 'rel': 'bookmark'}]}]} DEBUG util.py:445: GET: /v1/nodes/detail?resource_class=bar {} DEBUG util.py:445: GOT:{'nodes': [{'uuid': '49ad6750-1fd1-4361-9855-4d688252430d', 'created_at': '2024-05-14T11:54:02.833729+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/49ad6750-1fd1-4361-9855-4d688252430d', 'rel': 'self'}, {'href': 'http://localhost/nodes/49ad6750-1fd1-4361-9855-4d688252430d', 'rel': 'bookmark'}], 'chassis_uuid': None, 'ports': [{'href': 'http://localhost/v1/nodes/49ad6750-1fd1-4361-9855-4d688252430d/ports', 'rel': 'self'}, {'href': 'http://localhost/nodes/49ad6750-1fd1-4361-9855-4d688252430d/ports', 'rel': 'bookmark'}], 'states': [{'href': 'http://localhost/v1/nodes/49ad6750-1fd1-4361-9855-4d688252430d/states', 'rel': 'self'}, {'href': 'http://localhost/nodes/49ad6750-1fd1-4361-9855-4d688252430d/states', 'rel': 'bookmark'}]}]} DEBUG util.py:445: GET: /v1/nodes?resource_class=fake {} DEBUG util.py:445: GOT:Response: 406 Not Acceptable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-47f1326f-3cc7-4e7f-bb9d-18fd00cc9dd0 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.1 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Request not acceptable. The minimal required API version should be 1.21\", \"debuginfo\": null}"} DEBUG util.py:445: GET: /v1/nodes/detail?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-86077630-5561-4f1f-a9fd-f0bcf6b48168 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.1 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Request not acceptable. The minimal required API version should be 1.21\", \"debuginfo\": null}"} DEBUG util.py:445: GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 {} DEBUG util.py:445: GOT:{'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'created_at': '2024-05-14T11:54:02.982578+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=driver_info {} DEBUG util.py:445: GOT:{'driver_info': {'fake_password': '******'}, 'links': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'rel': 'bookmark'}]} DEBUG util.py:445: GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 {} DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_get_one_with_no_agent_secret [0.064531s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_get_owner_fields [0.047415s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_get_storage_interface_fields_invalid_api_version [0.029568s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_driver.TestListDrivers.test_raid_logical_disk_properties_iface_not_supported [0.033603s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestListDeployTemplates.test_detail_sort_key_allowed [0.149040s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_event.TestEventValidator.test_missing_mandatory_fields_network_port_event [0.017799s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_get_traits_fields [0.034587s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_event.TestPost.test_events [0.021640s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_event.TestPostRBAC.test_events_does_not_contain_event [0.020898s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_event.TestPostRBAC.test_multiple_events [0.024397s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestListDeployTemplates.test_get_collection_pagination_no_uuid [0.093179s] ... ok DEBUG util.py:445: GOT:{'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'created_at': '2024-05-14T11:54:03.076255+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-13ccbf58-d395-43b8-9e80-8d5740c64adb DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.32 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Request not acceptable.\", \"debuginfo\": null}"} DEBUG util.py:445: GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123?fields=traits {} DEBUG util.py:445: GOT:{'traits': [], 'links': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'rel': 'bookmark'}]} DEBUG util.py:445: GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 {} DEBUG util.py:445: GOT:{'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'created_at': '2024-05-14T11:54:03.232007+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: {2} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_hide_fields_in_newer_versions_description [0.044923s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_event.TestPostRBAC.test_network_bind_port_events [0.022783s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_hide_fields_in_newer_versions_interface_fields [0.053070s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_event.TestPostRBAC.test_network_port_event_invalid_mac_address [0.025644s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestPost.test_create_no_mandatory_field_steps [0.199305s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_node.TestAttachDetachVif.test_vif_attach [0.028102s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestPost.test_create_standard_trait_name [0.055658s] ... ok 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-38954070-4d90-4fdb-9e90-fd83ce92d39b DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.1 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"\", \"debuginfo\": null}"} DEBUG util.py:445: POST: /v1/chassis {'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/debb8a7a-7c5a-4943-9bea-7846cec2b24d DEBUG util.py:445: Openstack-Request-Id: req-8bdbbaf2-f6d2-448e-8108-cf320a3f9b74 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.1 DEBUG util.py:445: {"uuid": "debb8a7a-7c5a-4943-9bea-7846cec2b24d", "created_at": "2024-05-14T11:54:02.691922+00:00", "updated_at": null, "description": "data-center-1-chassis", "extra": {}, "links": [{"href": "http://localhost/v1/chassis/debb8a7a-7c5a-4943-9bea-7846cec2b24d", "rel": "self"}, {"href": "http://localhost/chassis/debb8a7a-7c5a-4943-9bea-7846cec2b24d", "rel": "bookmark"}], "nodes": [[{"href": "http://localhost/v1/chassis/debb8a7a-7c5a-4943-9bea-7846cec2b24d/nodes", "rel": "self"}, {"href": "http://localhost/chassis/debb8a7a-7c5a-4943-9bea-7846cec2b24d/nodes", "rel": "bookmark"}]]} DEBUG util.py:445: GET: /v1/chassis {} DEBUG util.py:445: GOT:{'chassis': [{'uuid': 'debb8a7a-7c5a-4943-9bea-7846cec2b24d', 'description': 'data-center-1-chassis', 'links': [{'href': 'http://localhost/v1/chassis/debb8a7a-7c5a-4943-9bea-7846cec2b24d', 'rel': 'self'}, {'href': 'http://localhost/chassis/debb8a7a-7c5a-4943-9bea-7846cec2b24d', 'rel': 'bookmark'}]}]} DEBUG util.py:445: GET: /v1/conductors/?limit=3 {} DEBUG util.py:445: GOT:{'conductors': [{'hostname': '6564d0a3-d6f5-44a1-9d44-b709df02d317', 'conductor_group': '', 'links': [{'href': 'http://localhost/v1/conductors/6564d0a3-d6f5-44a1-9d44-b709df02d317', 'rel': 'self'}, {'href': 'http://localhost/conductors/6564d0a3-d6f5-44a1-9d44-b709df02d317', 'rel': 'bookmark'}], 'alive': True}, {'hostname': '4f8e6929-6f89-4cb7-8bf1-5d7c135ef5c1', 'conductor_group': '', 'links': [{'href': 'http://localhost/v1/conductors/4f8e6929-6f89-4cb7-8bf1-5d7c135ef5c1', 'rel': 'self'}, {'href': 'http://localhost/conductors/4f8e6929-6f89-4cb7-8bf1-5d7c135ef5c1', 'rel': 'bookmark'}], 'alive': True}, {'hostname': '2a8fa914-1eb7-4236-8d3e-28574b8021e4', 'conductor_group': '', 'links': [{'href': 'http://localhost/v1/conductors/2a8fa914-1eb7-4236-8d3e-28574b8021e4', 'rel': 'self'}, {'href': 'http://localhost/conductors/2a8fa914-1eb7-4236-8d3e-28574b8021e4', 'rel': 'bookmark'}], 'alive': True}], 'next': 'http://localhost/v1/conductors?sort_key=id&sort_dir=asc&fields=hostname,conductor_group,alive&limit=3&marker=2a8fa914-1eb7-4236-8d3e-28574b8021e4'} 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-33f459ab-39c3-4894-bebd-c13251681e37 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.48 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Resource could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: 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 {} DEBUG util.py:445: GOT:{'deploy_templates': [{'uuid': '74b84a99-4d7d-49c5-8c4b-2422b8b76bbd', 'name': 'CUSTOM_DT0', 'links': [{'href': 'http://localhost/v1/deploy_templates/74b84a99-4d7d-49c5-8c4b-2422b8b76bbd', 'rel': 'self'}, {'href': 'http://localhost/deploy_templates/74b84a99-4d7d-49c5-8c4b-2422b8b76bbd', 'rel': 'bookmark'}]}, {'uuid': 'a534580a-df52-4a50-aade-45f143fb7de0', 'name': 'CUSTOM_DT1', 'links': [{'href': 'http://localhost/v1/deploy_templates/a534580a-df52-4a50-aade-45f143fb7de0', 'rel': 'self'}, {'href': 'http://localhost/deploy_templates/a534580a-df52-4a50-aade-45f143fb7de0', 'rel': 'bookmark'}]}, {'uuid': 'e4d4c9db-7e47-41e9-b974-549c6005aa48', 'name': 'CUSTOM_DT2', 'links': [{'href': 'http://localhost/v1/deploy_templates/e4d4c9db-7e47-41e9-b974-549c6005aa48', 'rel': 'self'}, {'href': 'http://localhost/deploy_templates/e4d4c9db-7e47-41e9-b974-549c6005aa48', 'rel': 'bookmark'}]}], 'next': 'http://localhost/v1/deploy_templates?sort_key=id&sort_dir=asc&fields=uuid,name&limit=3&marker=e4d4c9db-7e47-41e9-b974-549c6005aa48'} DEBUG util.py:445: GET: /v1/deploy_templates?sort_key=name&detail=True {} DEBUG util.py:445: GOT:{'deploy_templates': [{'uuid': '3d68f4d1-81d2-48f2-9685-2d79254d7b87', 'created_at': '2024-05-14T11:54:03.150490+00:00', 'updated_at': None, 'name': 'CUSTOM_DT1', 'extra': {}, 'links': [{'href': 'http://localhost/v1/deploy_templates/3d68f4d1-81d2-48f2-9685-2d79254d7b87', 'rel': 'self'}, {'href': 'http://localhost/deploy_templates/3d68f4d1-81d2-48f2-9685-2d79254d7b87', 'rel': 'bookmark'}], 'steps': [{'interface': 'raid', 'step': 'create_configuration', 'args': {'logical_disks': []}, 'priority': 10}]}, {'uuid': 'bcb025ab-add6-474d-bf78-ea6cfe470d19', 'created_at': '2024-05-14T11:54:03.148499+00:00', 'updated_at': None, 'name': 'CUSTOM_DT2', 'extra': {}, 'links': [{'href': 'http://localhost/v1/deploy_templates/bcb025ab-add6-474d-bf78-ea6cfe470d19', 'rel': 'self'}, {'href': 'http://localhost/deploy_templates/bcb025ab-add6-474d-bf78-ea6cfe470d19', 'rel': 'bookmark'}], 'steps': [{'interface': 'raid', 'step': 'create_configuration', 'args': {'logical_disks': []}, 'priority': 10}]}, {'uuid': '917131fd-cee2-4627-8ec8-6757d275b6a3', 'created_at': '2024-05-14T11:54:03.137119+00:00', 'updated_at': None, 'name': 'CUSTOM_DT3', 'extra': {}, 'links': [{'href': 'http://localhost/v1/deploy_templates/917131fd-cee2-4627-8ec8-6757d275b6a3', 'rel': 'self'}, {'href': 'http://localhost/deploy_templates/917131fd-cee2-4627-8ec8-6757d275b6a3', '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/16d0f1aa-8b71-4bf8-9fcb-bd5aff7c17d0', 'rel': 'self'}, {'href': 'http://localhost/deploy_templates/16d0f1aa-8b71-4bf8-9fcb-bd5aff7c17d0', 'rel': 'bookmark'}]}, {'name': 'CUSTOM_DT1', 'links': [{'href': 'http://localhost/v1/deploy_templates/43bfb6cd-c812-4575-9afb-730015c1bc68', 'rel': 'self'}, {'href': 'http://localhost/deploy_templates/43bfb6cd-c812-4575-9afb-730015c1bc68', 'rel': 'bookmark'}]}], 'next': 'http://localhost/v1/deploy_templates?sort_key=id&sort_dir=asc&fields=name&limit=2&marker=43bfb6cd-c812-4575-9afb-730015c1bc68'} DEBUG util.py:445: GET: /v1/deploy_templates {} DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestListDeployTemplates.test_many [0.120444s] ... ok DEBUG util.py:445: GOT:{'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'created_at': '2024-05-14T11:54:03.232007+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/detail {} DEBUG util.py:445: GOT:{'nodes': [{'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'created_at': '2024-05-14T11:54:03.283019+00:00', 'updated_at': None, 'clean_step': {}, 'console_enabled': False, 'driver': 'fake-hardware', 'driver_info': {'foo': 'bar', 'fake_password': '******'}, 'driver_internal_info': {'private_state': 'secret value'}, 'extra': {}, 'inspection_finished_at': None, 'inspection_started_at': None, 'instance_info': {'configdrive': '******', 'image_url': '******', 'foo': 'bar'}, 'instance_uuid': None, 'last_error': None, 'maintenance': False, 'maintenance_reason': None, 'name': None, 'network_interface': None, 'power_state': None, 'properties': {'cpu_arch': 'x86_64', 'cpus': '8', 'local_gb': '10', 'memory_mb': '4096'}, 'provision_state': 'available', 'provision_updated_at': None, 'raid_config': {}, 'reservation': None, 'resource_class': None, 'target_power_state': None, 'target_provision_state': None, 'target_raid_config': {}, 'links': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'rel': 'bookmark'}], 'chassis_uuid': None, 'ports': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports', 'rel': 'bookmark'}], 'states': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states', 'rel': 'bookmark'}], 'portgroups': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups', 'rel': 'bookmark'}]}]} DEBUG util.py:445: GET: /v1/nodes/detail {} DEBUG util.py:445: GOT:{'nodes': [{'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'created_at': '2024-05-14T11:54:03.283019+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/detail {} DEBUG util.py:445: GOT:{'nodes': [{'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'created_at': '2024-05-14T11:54:03.327412+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: {2} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_hide_fields_in_newer_versions_resource_class [0.042135s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_hide_fields_in_newer_versions_volume [0.037089s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestPost.test_create_steps_invalid_duplicate [0.060620s] ... 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-ea23bf8b-fbed-4c58-832f-8b5ef039a3a0 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.29 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Request not acceptable. The minimal required API version should be 1.30\", \"debuginfo\": null}"} DEBUG util.py:445: GET: /v1/drivers?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-96af9fbc-e72b-4ea2-a61d-4c370f5e987e DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.76 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Request not acceptable.\", \"debuginfo\": null}"} DEBUG util.py:445: GET: /v1/drivers/fake-hardware-type?fields=name,hosts {} DEBUG util.py:445: GOT:Response: 406 Not Acceptable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-4d554985-0faa-4438-a01e-ce0785c3d5a9 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.76 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Request not acceptable.\", \"debuginfo\": null}"} DEBUG util.py:445: GET: /v1/drivers/fake-hardware-type?fields=name,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-7ee3f785-94e6-436a-aad7-677caf272a6a DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.77 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Field(s) \\\"invalid\\\" are not valid\", \"debuginfo\": null}"} DEBUG util.py:445: GET: /v1/drivers/fake-hardware-type {} DEBUG util.py:445: GOT:{'name': 'fake-hardware-type', 'hosts': ['fake-host2', 'fake-host1'], 'links': [{'href': 'http://localhost/v1/drivers/fake-hardware-type', 'rel': 'self'}, {'href': 'http://localhost/drivers/fake-hardware-type', 'rel': 'bookmark'}]} DEBUG util.py:445: GET: /v1/drivers/fake-hardware-type {} DEBUG util.py:445: GOT:{'name': 'fake-hardware-type', 'hosts': ['fake-host2', 'fake-host1'], 'links': [{'href': 'http://localhost/v1/drivers/fake-hardware-type', 'rel': 'self'}, {'href': 'http://localhost/drivers/fake-hardware-type', 'rel': 'bookmark'}]} DEBUG util.py:445: GET: /drivers/fake-hardware-type {} DEBUG util.py:445: GOT:{'name': 'fake-hardware-type', 'hosts': ['fake-host2', 'fake-host1'], 'links': [{'href': 'http://localhost/v1/drivers/fake-hardware-type', 'rel': 'self'}, {'href': 'http://localhost/drivers/fake-hardware-type', 'rel': 'bookmark'}]} DEBUG util.py:445: GET: /v1/drivers/fake-hardware-type {} DEBUG util.py:445: GOT:{'name': 'fake-hardware-type', 'hosts': ['fake-host2', 'fake-host1'], 'links': [{'href': 'http://foo/v1/drivers/fake-hardware-type', 'rel': 'self'}, {'href': 'http://foo/drivers/fake-hardware-type', 'rel': 'bookmark'}]} DEBUG util.py:445: GET: /v1/drivers/fake-hardware-type {} DEBUG util.py:445: GOT:{'name': 'fake-hardware-type', 'hosts': ['fake-host2', 'fake-host1'], 'links': [{'href': 'http://foo/v1/drivers/fake-hardware-type', 'rel': 'self'}, {'href': 'http://foo/drivers/fake-hardware-type', 'rel': 'bookmark'}]} DEBUG util.py:445: GET: /drivers/fake-hardware-type {} DEBUG util.py:445: GOT:{'name': 'fake-hardware-type', 'hosts': ['fake-host2', 'fake-host1'], 'links': [{'href': 'http://foo/v1/drivers/fake-hardware-type', 'rel': 'self'}, {'href': 'http://foo/drivers/fake-hardware-type', 'rel': 'bookmark'}]} DEBUG util.py:445: GET: /v1/drivers/fake-hardware-type/raid/logical_disk_properties {} DEBUG util.py:445: GOT:{'foo': 'description of foo'} DEBUG util.py:445: GET: /v1/drivers/fake-hardware-type/raid/logical_disk_properties {} DEBUG util.py:445: GOT:{'foo': 'description of foo'} DEBUG util.py:445: GET: /v1/drivers/fake-hardware-type/raid/logical_disk_properties {} DEBUG util.py:445: GOT:{'foo': 'description of foo'} DEBUG util.py:445: GET: /v1/drivers/fake-hardware-type/raid/logical_disk_properties {} DEBUG util.py:445: GOT:{'foo': 'description of foo'} DEBUG util.py:445: GET: /v1/drivers/fake-hardware-type/raid/logical_disk_properties {} DEBUG util.py:445: GOT:Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-b712bd86-867c-4317-a410-fb609598de63 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.12 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Driver fake-hardware does not support raid (disabled or not implemented).\", \"debuginfo\": null}"} DEBUG util.py:445: POST: /v1/events {'events': [{'event': 'network.bind_port', 'port_id': '11111111-aaaa-bbbb-cccc-555555555555', 'mac_address': 'de:ad:ca:fe:ba:be', 'status': 'ACTIVE', 'device_id': '22222222-aaaa-bbbb-cccc-555555555555', 'binding:host_id': '22222222-aaaa-bbbb-cccc-555555555555', 'binding:vnic_type': 'baremetal'}]} DEBUG util.py:445: GOT:Response: 204 No Content DEBUG util.py:445: Openstack-Request-Id: req-640d3917-19a8-47f3-a884-36d700489623 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: POST: /v1/events {'events': [{'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-8895c1ce-cd52-4a0d-8861-4c6f825d3078 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Schema error for evts: 'event' is a required property Failed validating 'required' in schema['properties']['events']['items']\", \"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-b74bfd82-fa3c-4e1d-bfbd-a011937aa86e DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: POST: /v1/events {'events': [{'event': 'network.bind_port', 'port_id': '11111111-aaaa-bbbb-cccc-555555555555', 'mac_address': 'de:ad:ca:fe:ba:be', 'status': 'ACTIVE', 'device_id': '22222222-aaaa-bbbb-cccc-555555555555', 'binding:host_id': '22222222-aaaa-bbbb-cccc-555555555555', 'binding:vnic_type': 'baremetal'}]} DEBUG util.py:445: GOT:Response: 204 No Content DEBUG util.py:445: Openstack-Request-Id: req-df45ebdb-2f09-4a78-9ba0-a70a0ec0a2ab DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: POST: /v1/events {'events': [{'event': 'network.bind_port', 'port_id': '11111111-aaaa-bbbb-cccc-555555555555', 'mac_address': '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-5058acef-3665-45da-8150-151c2becf7bd DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Expected valid MAC address for mac_address: INVALID_MAC_ADDRESS\", \"debuginfo\": null}"} DEBUG util.py:445: POST: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/vifs {'id': '21539286-37e6-4a16-a80b-64329109f2eb'} DEBUG util.py:445: GOT:Response: 204 No Content DEBUG util.py:445: Openstack-Request-Id: req-a3378fe1-492a-40e9-ae70-063b0facb854 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.28 DEBUG util.py:445: POST: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/vifs {'id': 'invalid%id^'} DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_node.TestAttachDetachVif.test_vif_attach_invalid_vif_id [0.030490s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_node.TestAttachDetachVif.test_vif_attach_no_vif_id [0.027390s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_node.TestAttachDetachVif.test_vif_attach_node_locked [0.038728s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_node.TestAttachDetachVif.test_vif_attach_node_not_found [0.033471s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestListDeployTemplates.test_sort_key [0.096930s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_driver.TestListDrivers.test_driver_vendor_passthru_async [0.057060s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_node.TestBIOS.test_get_bios_fields [0.041306s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_node.TestBIOS.test_get_one_bios_fails_with_bad_version [0.027911s] ... ok DEBUG util.py:445: GOT:{'nodes': [{'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'created_at': '2024-05-14T11:54:03.327412+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/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 {} DEBUG util.py:445: GOT:{'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'created_at': '2024-05-14T11:54:03.371075+00:00', 'updated_at': None, 'boot_interface': None, 'clean_step': {}, 'console_enabled': False, 'console_interface': None, 'deploy_interface': None, 'driver': 'fake-hardware', 'driver_info': {'foo': 'bar', 'fake_password': '******'}, 'driver_internal_info': {'private_state': 'secret value'}, 'extra': {}, 'inspection_finished_at': None, 'inspection_started_at': None, 'inspect_interface': None, 'instance_info': {'configdrive': '******', 'image_url': '******', 'foo': 'bar'}, 'instance_uuid': None, 'last_error': None, 'maintenance': False, 'maintenance_reason': None, 'management_interface': None, 'name': None, 'network_interface': None, 'power_interface': None, 'power_state': None, 'properties': {'cpu_arch': 'x86_64', 'cpus': '8', 'local_gb': '10', 'memory_mb': '4096'}, 'provision_state': 'available', 'provision_updated_at': None, 'raid_config': {}, 'raid_interface': None, 'reservation': None, 'resource_class': None, 'target_power_state': None, 'target_provision_state': None, 'target_raid_config': {}, 'vendor_interface': None, 'links': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'rel': 'bookmark'}], 'chassis_uuid': None, 'ports': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports', 'rel': 'bookmark'}], 'states': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states', 'rel': 'bookmark'}], 'portgroups': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups', 'rel': 'bookmark'}]} DEBUG util.py:445: GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 {} DEBUG util.py:445: GOT:{'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'created_at': '2024-05-14T11:54:03.371075+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/4a102b4d-eec8-4cf9-a54e-cd91db616ce3 {} DEBUG util.py:445: GOT:{'uuid': '4a102b4d-eec8-4cf9-a54e-cd91db616ce3', 'created_at': '2024-05-14T11:54:03.406623+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/4a102b4d-eec8-4cf9-a54e-cd91db616ce3', 'rel': 'self'}, {'href': 'http://localhost/nodes/4a102b4d-eec8-4cf9-a54e-cd91db616ce3', 'rel': 'bookmark'}], 'chassis_uuid': None, 'ports': [{'href': 'http://localhost/v1/nodes/4a102b4d-eec8-4cf9-a54e-cd91db616ce3/ports', 'rel': 'self'}, {'href': 'http://localhost/nodes/4a102b4d-eec8-4cf9-a54e-cd91db616ce3/ports', 'rel': 'bookmark'}]} DEBUG util.py:445: GET: /v1/nodes/4a102b4d-eec8-4cf9-a54e-cd91db616ce3 {} DEBUG util.py:445: GOT:{'uuid': '4a102b4d-eec8-4cf9-a54e-cd91db616ce3', 'created_at': '2024-05-14T11:54:03.406623+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/4a102b4d-eec8-4cf9-a54e-cd91db616ce3', 'rel': 'self'}, {'href': 'http://localhost/nodes/4a102b4d-eec8-4cf9-a54e-cd91db616ce3', 'rel': 'bookmark'}], 'chassis_uuid': None, 'ports': [{'href': 'http://localhost/v1/nodes/4a102b4d-eec8-4cf9-a54e-cd91db616ce3/ports', 'rel': 'self'}, {'href': 'http://localhost/nodes/4a102b4d-eec8-4cf9-a54e-cd91db616ce3/ports', 'rel': 'bookmark'}]} DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_links [0.049807s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_many_list_all_forbid_project_mismatch [0.023740s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_many_list_all_forbidden_no_project [0.024246s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_mask_available_state [0.039617s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_driver.TestListDrivers.test_drivers_collection_custom_fields [0.035156s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_node_automated_clean_false_field [0.034871s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestListDeployTemplates.test_sort_key_invalid [0.062206s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_node.TestBIOS.test_get_one_bios_no_registry [0.041604s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_driver.TestListDrivers.test_drivers_no_active_conductor [0.036051s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_node.TestCheckCleanSteps.test__check_clean_steps_valid [0.015412s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_driver.TestListDrivers.test_drivers_type_filter_bad_value [0.023148s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_node.TestDelete.test_delete_node_by_name_unsupported [0.024938s] ... ok DEBUG util.py:445: GET: /nodes/4a102b4d-eec8-4cf9-a54e-cd91db616ce3 {} DEBUG util.py:445: GOT:{'uuid': '4a102b4d-eec8-4cf9-a54e-cd91db616ce3', 'created_at': '2024-05-14T11:54:03.406623+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/4a102b4d-eec8-4cf9-a54e-cd91db616ce3', 'rel': 'self'}, {'href': 'http://localhost/nodes/4a102b4d-eec8-4cf9-a54e-cd91db616ce3', 'rel': 'bookmark'}], 'chassis_uuid': None, 'ports': [{'href': 'http://localhost/v1/nodes/4a102b4d-eec8-4cf9-a54e-cd91db616ce3/ports', 'rel': 'self'}, {'href': 'http://localhost/nodes/4a102b4d-eec8-4cf9-a54e-cd91db616ce3/ports', 'rel': 'bookmark'}]} DEBUG util.py:445: GET: /v1/nodes?project=54321 {} DEBUG util.py:445: GOT:Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-b1b728eb-0ffe-494a-99d5-70835055b1ca DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.50 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: fake\", \"debuginfo\": null}"} DEBUG util.py:445: GET: /v1/nodes {} DEBUG util.py:445: GOT:Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-e05018be-da43-460c-b5c4-b212da295ce3 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.49 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: fake\", \"debuginfo\": null}"} DEBUG util.py:445: GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 {} DEBUG util.py:445: GOT:{'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'created_at': '2024-05-14T11:54:03.508412+00:00', 'updated_at': None, 'console_enabled': False, 'driver': 'fake-hardware', 'driver_info': {'foo': 'bar', 'fake_password': '******'}, 'extra': {}, 'instance_info': {'configdrive': '******', 'image_url': '******', 'foo': 'bar'}, 'instance_uuid': None, 'last_error': None, 'maintenance': False, 'maintenance_reason': None, 'power_state': None, 'properties': {'cpu_arch': 'x86_64', 'cpus': '8', 'local_gb': '10', 'memory_mb': '4096'}, 'provision_state': None, 'provision_updated_at': None, 'reservation': None, 'target_power_state': None, 'target_provision_state': None, 'links': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'rel': 'bookmark'}], 'chassis_uuid': None, 'ports': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports', 'rel': 'bookmark'}]} DEBUG util.py:445: GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 {} DEBUG util.py:445: GOT:{'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'created_at': '2024-05-14T11:54:03.508412+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/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 {} DEBUG util.py:445: GOT:{'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'created_at': '2024-05-14T11:54:03.545916+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: {2} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_node_bios_hidden_in_lower_version [0.045326s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestPatch.test_remove_non_existent_property_fail [0.079462s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_node_by_instance_uuid [0.043123s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_driver.TestListDrivers.test_drivers_type_filter_dynamic [0.041270s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_node_by_instance_uuid_invalid_uuid [0.023965s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestPatch.test_remove_non_existent_step_fail [0.045836s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_associated_nodes_insensitive [0.070117s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestPatch.test_remove_non_existent_step_property_fail [0.045312s] ... 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-135c7ad7-5272-43a4-8445-999eae1b4d9f DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Schema error for template: None is not of type 'string' Failed validating 'type' in schema[0]\", \"debuginfo\": null}"} DEBUG util.py:445: POST: /v1/deploy_templates {'name': 'CUSTOM_DT1', 'uuid': '0da0dc95-aea1-4950-8ae4-b0b0b538e22e', '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-7c17b748-0d40-43e0-8f77-2e4d64afd869 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Schema error for template: 'not a dict' is not of type 'object' Failed validating 'type' in schema['properties']['steps']['items']['properties']['args']\", \"debuginfo\": null}"} DEBUG util.py:445: POST: /v1/deploy_templates {'name': 'CUSTOM_DT1', 'uuid': 'd85c55ab-aae9-4d09-b950-bc02537dd0b2', '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-870d2f0c-6a68-40c2-ad2a-a1f66d920627 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Schema error for template: [] is not of type 'object' Failed validating 'type' in schema['properties']['steps']['items']['properties']['args']\", \"debuginfo\": null}"} DEBUG util.py:445: POST: /v1/deploy_templates {'name': 'CUSTOM_DT1', 'uuid': 'b53acfa5-09bb-4d35-9e66-478100d425ac', '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-509155e0-930f-40ef-8e5e-522631a463e9 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Schema error for template: 'not a number' is not of type 'integer' Failed validating 'type' in schema[0]\", \"debuginfo\": null}"} DEBUG util.py:445: POST: /v1/deploy_templates {'name': 'not-a-trait', 'uuid': '92ab8a16-57b9-4bb6-b34b-8200958560ac', '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-b0b38c36-3718-46fe-880b-6ba7d85b0664 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Schema error for template: 'not-a-trait' does not match '^CUSTOM_[A-Z0-9_]+$' Failed validating 'pattern' in schema[0]\", \"debuginfo\": null}"} DEBUG util.py:445: POST: /v1/deploy_templates {'name': 'CUSTOM_DT1', 'uuid': '3ecda70b-c30b-4eb8-9c8e-43bcd04444d5', '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-ea7ce33c-46e9-4305-ab9f-3aa3d96a8ed5 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Schema error for template: 'steps' is a required property Failed validating 'required' in schema\", \"debuginfo\": null}"} DEBUG util.py:445: POST: /v1/deploy_templates {'name': 'HW_CPU_X86_VMX', 'uuid': '5c7603c6-f0dc-47a9-baa1-59e95f23e360', '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/5c7603c6-f0dc-47a9-baa1-59e95f23e360 DEBUG util.py:445: Openstack-Request-Id: req-ae68ef47-e30c-4fbb-85ec-27b2f98b3b23 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"uuid": "5c7603c6-f0dc-47a9-baa1-59e95f23e360", "created_at": "2024-05-14T11:54:03.375639+00:00", "updated_at": null, "name": "HW_CPU_X86_VMX", "extra": {}, "links": [{"href": "http://localhost/v1/deploy_templates/5c7603c6-f0dc-47a9-baa1-59e95f23e360", "rel": "self"}, {"href": "http://localhost/deploy_templates/5c7603c6-f0dc-47a9-baa1-59e95f23e360", "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': '4c81fa6c-5e06-4c47-b4c5-87078e6a272d', '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-be6e5927-2744-4a1a-bfae-84bab24ff834 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Deploy template invalid: Duplicate deploy steps. A deploy template cannot have multiple deploy steps with the same interface and step. Duplicates: interface: raid, step: create_configuration.\", \"debuginfo\": null}"} DEBUG util.py:445: 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-453b271b-d608-453f-a7e8-d099ace7b9fb DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.1 DEBUG util.py:445: GET: /v1/drivers?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 {} DEBUG util.py:445: GOT:{'drivers': []} DEBUG util.py:445: GET: /v1/drivers?type=working {} DEBUG util.py:445: GOT:Response: 400 Bad Request DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-19a4a92b-2a75-4a81-8458-c25ebc57cadd DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.30 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"\\\"type\\\" filter must be one of \\\"classic\\\" or \\\"dynamic\\\", if specified.\", \"debuginfo\": null}"} DEBUG util.py:445: GET: /v1/drivers?type=dynamic {} DEBUG util.py:445: GOT:{'drivers': [{'name': 'fake-hardware-type', 'hosts': ['fake-host1', 'fake-host2'], 'links': [{'href': 'http://localhost/v1/drivers/fake-hardware-type', 'rel': 'self'}, {'href': 'http://localhost/drivers/fake-hardware-type', 'rel': 'bookmark'}], 'properties': [{'href': 'http://localhost/v1/drivers/fake-hardware-type/properties', 'rel': 'self'}, {'href': 'http://localhost/drivers/fake-hardware-type/properties', 'rel': 'bookmark'}], 'type': 'dynamic'}, {'name': 'fake-hardware-type-2', 'hosts': ['fake-host1'], 'links': [{'href': 'http://localhost/v1/drivers/fake-hardware-type-2', 'rel': 'self'}, {'href': 'http://localhost/drivers/fake-hardware-type-2', 'rel': 'bookmark'}], 'properties': [{'href': 'http://localhost/v1/drivers/fake-hardware-type-2/properties', 'rel': 'self'}, {'href': 'http://localhost/drivers/fake-hardware-type-2/properties', 'rel': 'bookmark'}], 'type': 'dynamic'}]} DEBUG util.py:445: GET: /v1/drivers {} DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_driver.TestListDrivers.test_drivers_with_dynamic [0.085829s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_collection_links [0.070328s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestPatch.test_replace_invalid_name_too_long [0.052974s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestPatch.test_replace_multi [0.052482s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_driver.TestListDrivers.test_drivers_with_dynamic_detailed [0.102870s] ... 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-857d62ed-2fa6-48ba-85a7-5b794b5abe23 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.28 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Expected UUID or name for id: invalid%id^\", \"debuginfo\": null}"} DEBUG util.py:445: POST: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/vifs {'bad_id': '00572b61-5e1d-4099-9582-375234d95533'} DEBUG util.py:445: GOT:Response: 400 Bad Request DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-4752b6f5-ac63-489b-9b53-7f0806c2e54c DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.28 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Schema error for vif: 'id' is a required property Failed validating 'required' in schema\", \"debuginfo\": null}"} DEBUG util.py:445: POST: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/vifs {'id': '8fb91aee-99bb-4546-9e67-faa27b0d2aed'} DEBUG util.py:445: GOT:Response: 409 Conflict DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-9eee2ceb-b80b-4fbf-a7bd-65faf1eda1d0 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.28 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node is locked by host , please retry after the current operation is completed.\", \"debuginfo\": null}"} DEBUG util.py:445: POST: /v1/nodes/doesntexist/vifs {'id': '4bcc358e-4aa4-4eee-bbac-97dae2cd2990'} DEBUG util.py:445: GOT:Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-80cf3881-c0fc-4796-bcfa-e2fe8ac3fae2 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.28 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node doesntexist could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/bios?fields=name,read_only {} DEBUG util.py:445: GOT:{'bios': [{'created_at': '2024-05-14T11:54:03.500580+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:Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: {"error_message": "{\"code\": 404, \"title\": \"Not Found\", \"description\": \"\"}"} DEBUG util.py:445: GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/bios/virtualization {} DEBUG util.py:445: GOT:{'virtualization': {'created_at': '2024-05-14T11:54:03.569446+00:00', 'updated_at': None, 'name': 'virtualization', 'value': 'on', 'links': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/bios/virtualization', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/bios/virtualization', 'rel': 'bookmark'}]}} DEBUG util.py:445: DELETE: /v1/nodes/foo DEBUG util.py:445: GOT:Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-8e4e1cd4-d7e7-43ee-b350-a729016e119e DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.1 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node foo could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: GET: /v1/nodes?associated=true {} DEBUG util.py:445: GOT:{'nodes': [{'uuid': '87b48b57-81ce-4368-887c-f77826098c84', 'instance_uuid': '7e4a7b70-793b-4e21-984e-44d4942246c7', 'maintenance': False, 'power_state': None, 'provision_state': None, 'links': [{'href': 'http://localhost/v1/nodes/87b48b57-81ce-4368-887c-f77826098c84', 'rel': 'self'}, {'href': 'http://localhost/nodes/87b48b57-81ce-4368-887c-f77826098c84', 'rel': 'bookmark'}]}, {'uuid': '66d607c1-40b3-46b8-b9d0-051d88b0af93', 'instance_uuid': '139b21fe-c7f0-44c3-8d97-053bf38aafa9', 'maintenance': False, 'power_state': None, 'provision_state': None, 'links': [{'href': 'http://localhost/v1/nodes/66d607c1-40b3-46b8-b9d0-051d88b0af93', 'rel': 'self'}, {'href': 'http://localhost/nodes/66d607c1-40b3-46b8-b9d0-051d88b0af93', 'rel': 'bookmark'}]}, {'uuid': '26d7cc9e-6764-44f1-9953-70da42f3a56d', 'instance_uuid': 'daba4ce0-c07b-40ad-8c05-554f9c6efb20', 'maintenance': False, 'power_state': None, 'provision_state': None, 'links': [{'href': 'http://localhost/v1/nodes/26d7cc9e-6764-44f1-9953-70da42f3a56d', 'rel': 'self'}, {'href': 'http://localhost/nodes/26d7cc9e-6764-44f1-9953-70da42f3a56d', 'rel': 'bookmark'}]}, {'uuid': 'd38abbcf-b52d-4564-9fb0-ba8728cc0650', 'instance_uuid': '41141934-425d-47ad-834d-ca4b40864f2a', 'maintenance': False, 'power_state': None, 'provision_state': None, 'links': [{'href': 'http://localhost/v1/nodes/d38abbcf-b52d-4564-9fb0-ba8728cc0650', 'rel': 'self'}, {'href': 'http://localhost/nodes/d38abbcf-b52d-4564-9fb0-ba8728cc0650', 'rel': 'bookmark'}]}]} DEBUG util.py:445: GET: /v1/nodes?associated=True {} DEBUG util.py:445: GOT:{'nodes': [{'uuid': '87b48b57-81ce-4368-887c-f77826098c84', 'instance_uuid': '7e4a7b70-793b-4e21-984e-44d4942246c7', 'maintenance': False, 'power_state': None, 'provision_state': None, 'links': [{'href': 'http://localhost/v1/nodes/87b48b57-81ce-4368-887c-f77826098c84', 'rel': 'self'}, {'href': 'http://localhost/nodes/87b48b57-81ce-4368-887c-f77826098c84', 'rel': 'bookmark'}]}, {'uuid': '66d607c1-40b3-46b8-b9d0-051d88b0af93', 'instance_uuid': '139b21fe-c7f0-44c3-8d97-053bf38aafa9', 'maintenance': False, 'power_state': None, 'provision_state': None, 'links': [{'href': 'http://localhost/v1/nodes/66d607c1-40b3-46b8-b9d0-051d88b0af93', 'rel': 'self'}, {'href': 'http://localhost/nodes/66d607c1-40b3-46b8-b9d0-051d88b0af93', 'rel': 'bookmark'}]}, {'uuid': '26d7cc9e-6764-44f1-9953-70da42f3a56d', 'instance_uuid': 'daba4ce0-c07b-40ad-8c05-554f9c6efb20', 'maintenance': False, 'power_state': None, 'provision_state': None, 'links': [{'href': 'http://localhost/v1/nodes/26d7cc9e-6764-44f1-9953-70da42f3a56d', 'rel': 'self'}, {'href': 'http://localhost/nodes/26d7cc9e-6764-44f1-9953-70da42f3a56d', 'rel': 'bookmark'}]}, {'uuid': 'd38abbcf-b52d-4564-9fb0-ba8728cc0650', 'instance_uuid': '41141934-425d-47ad-834d-ca4b40864f2a', 'maintenance': False, 'power_state': None, 'provision_state': None, 'links': [{'href': 'http://localhost/v1/nodes/d38abbcf-b52d-4564-9fb0-ba8728cc0650', 'rel': 'self'}, {'href': 'http://localhost/nodes/d38abbcf-b52d-4564-9fb0-ba8728cc0650', 'rel': 'bookmark'}]}]} DEBUG util.py:445: GET: /v1/nodes/?limit=3 {} DEBUG util.py:445: GOT:{'nodes': [{'uuid': '7266e4ef-c432-4ded-a98d-4e8f426b2cdf', 'instance_uuid': None, 'maintenance': False, 'power_state': None, 'provision_state': None, 'links': [{'href': 'http://localhost/v1/nodes/7266e4ef-c432-4ded-a98d-4e8f426b2cdf', 'rel': 'self'}, {'href': 'http://localhost/nodes/7266e4ef-c432-4ded-a98d-4e8f426b2cdf', 'rel': 'bookmark'}]}, {'uuid': '49aa6e73-432b-49f9-a6d9-7720ab9ca8ef', 'instance_uuid': None, 'maintenance': False, 'power_state': None, 'provision_state': None, 'links': [{'href': 'http://localhost/v1/nodes/49aa6e73-432b-49f9-a6d9-7720ab9ca8ef', 'rel': 'self'}, {'href': 'http://localhost/nodes/49aa6e73-432b-49f9-a6d9-7720ab9ca8ef', 'rel': 'bookmark'}]}, {'uuid': 'd891a802-1046-4e81-a431-6d39f80a3172', 'instance_uuid': None, 'maintenance': False, 'power_state': None, 'provision_state': None, 'links': [{'href': 'http://localhost/v1/nodes/d891a802-1046-4e81-a431-6d39f80a3172', 'rel': 'self'}, {'href': 'http://localhost/nodes/d891a802-1046-4e81-a431-6d39f80a3172', '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=d891a802-1046-4e81-a431-6d39f80a3172'} DEBUG util.py:445: GET: /v1/nodes/detail {} DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_detail [0.036550s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_detail_list_all_forbid_project_mismatch [0.021906s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_detail_list_all_forbidden_no_project [0.024789s] ... ok DEBUG util.py:443: /builddir/build/BUILD/ironic-18.3.1.dev11/ironic/db/sqlalchemy/api.py:1287: SAWarning: SELECT statement has a cartesian product between FROM element(s) "conductor_hardware_interfaces" and FROM element "conductors". Apply join condition(s) between each element to resolve. DEBUG util.py:443: return query.all() DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_detail_using_query_false_and_fields [0.038161s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_driver.TestListDrivers.test_get_one_custom_fields [0.042140s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_get_all_interface_fields_invalid_api_version [0.027265s] ... ok DEBUG util.py:445: GOT:{'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'created_at': '2024-05-14T11:54:03.585873+00:00', 'updated_at': None, 'boot_interface': None, 'clean_step': {}, 'console_enabled': False, 'console_interface': None, 'deploy_interface': None, 'driver': 'fake-hardware', 'driver_info': {'foo': 'bar', 'fake_password': '******'}, 'driver_internal_info': {'private_state': 'secret value'}, 'extra': {}, 'inspection_finished_at': None, 'inspection_started_at': None, 'inspect_interface': None, 'instance_info': {'configdrive': '******', 'image_url': '******', 'foo': 'bar'}, 'instance_uuid': None, 'last_error': None, 'maintenance': False, 'maintenance_reason': None, 'management_interface': None, 'name': None, 'network_interface': None, 'power_interface': None, 'power_state': None, 'properties': {'cpu_arch': 'x86_64', 'cpus': '8', 'local_gb': '10', 'memory_mb': '4096'}, 'provision_state': 'available', 'provision_updated_at': None, 'raid_config': {}, 'raid_interface': None, 'rescue_interface': None, 'reservation': None, 'resource_class': None, 'storage_interface': None, 'target_power_state': None, 'target_provision_state': None, 'target_raid_config': {}, 'traits': [], 'vendor_interface': None, 'links': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'rel': 'bookmark'}], 'chassis_uuid': None, 'ports': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports', 'rel': 'bookmark'}], 'states': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states', 'rel': 'bookmark'}], 'portgroups': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups', 'rel': 'bookmark'}], 'volume': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume', 'rel': 'bookmark'}]} DEBUG util.py:445: GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 {} DEBUG util.py:445: GOT:{'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'created_at': '2024-05-14T11:54:03.585873+00:00', 'updated_at': None, 'bios_interface': None, 'boot_interface': None, 'clean_step': {}, 'console_enabled': False, 'console_interface': None, 'deploy_interface': None, 'driver': 'fake-hardware', 'driver_info': {'foo': 'bar', 'fake_password': '******'}, 'driver_internal_info': {'private_state': 'secret value'}, 'extra': {}, 'inspection_finished_at': None, 'inspection_started_at': None, 'inspect_interface': None, 'instance_info': {'configdrive': '******', 'image_url': '******', 'foo': 'bar'}, 'instance_uuid': None, 'last_error': None, 'maintenance': False, 'maintenance_reason': None, 'management_interface': None, 'name': None, 'network_interface': None, 'power_interface': None, 'power_state': None, 'properties': {'cpu_arch': 'x86_64', 'cpus': '8', 'local_gb': '10', 'memory_mb': '4096'}, 'provision_state': 'available', 'provision_updated_at': None, 'raid_config': {}, 'raid_interface': None, 'rescue_interface': None, 'reservation': None, 'resource_class': None, 'storage_interface': None, 'target_power_state': None, 'target_provision_state': None, 'target_raid_config': {}, 'traits': [], 'vendor_interface': None, 'links': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'rel': 'bookmark'}], 'chassis_uuid': None, 'ports': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports', 'rel': 'bookmark'}], 'states': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states', 'rel': 'bookmark'}], 'portgroups': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups', 'rel': 'bookmark'}], 'volume': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume', 'rel': 'bookmark'}]} DEBUG util.py:445: GET: /v1/nodes?instance_uuid=34a057b9-8cb2-493d-86d8-ab3bbdd3a9b0 {} DEBUG util.py:445: GOT:{'nodes': [{'uuid': '8528930d-440f-4c76-bda0-93c10a5d6486', 'instance_uuid': '34a057b9-8cb2-493d-86d8-ab3bbdd3a9b0', 'maintenance': False, 'power_state': None, 'provision_state': 'available', 'name': None, 'links': [{'href': 'http://localhost/v1/nodes/8528930d-440f-4c76-bda0-93c10a5d6486', 'rel': 'self'}, {'href': 'http://localhost/nodes/8528930d-440f-4c76-bda0-93c10a5d6486', '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-d152eef9-3431-44f1-a060-4dd1a99fb2bb DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.1 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Expected UUID for instance_uuid: fake\", \"debuginfo\": null}"} DEBUG util.py:445: GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 {} DEBUG util.py:445: GOT:{'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'created_at': '2024-05-14T11:54:03.864203+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: {2} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_node_fault_hidden_in_lower_version [0.208982s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_node_lessee_null_field [0.031865s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_node_owner_present [0.035985s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_get_boot_device [0.032287s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_driver.TestListDrivers.test_raid_logical_disk_properties_older_version [0.026608s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_event.TestEventValidator.test_invalid_event_type [0.015241s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_event.TestEventValidator.test_invalid_mac_network_port_event [0.014556s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_event.TestPost.test_events_does_not_contain_event [0.030671s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_get_collection_custom_fields [0.043698s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_event.TestPost.test_events_invalid_event [0.024675s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_get_indicator_state_iface_not_supported [0.036876s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_get_indicator_state_versioning [0.035363s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_event.TestPost.test_network_port_event_invalid_port_id [0.034991s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_get_network_interface_fields [0.032296s] ... ok DEBUG util.py:445: GOT:{'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'created_at': '2024-05-14T11:54:03.864203+00:00', 'updated_at': None, 'bios_interface': None, 'boot_interface': None, 'clean_step': {}, 'console_enabled': False, 'console_interface': None, 'deploy_interface': None, 'driver': 'fake-hardware', 'driver_info': {'foo': 'bar', 'fake_password': '******'}, 'driver_internal_info': {'private_state': 'secret value'}, 'extra': {}, 'fault': None, 'inspection_finished_at': None, 'inspection_started_at': None, 'inspect_interface': None, 'instance_info': {'configdrive': '******', 'image_url': '******', 'foo': 'bar'}, 'instance_uuid': None, 'last_error': None, 'maintenance': False, 'maintenance_reason': None, 'management_interface': None, 'name': None, 'network_interface': None, 'power_interface': None, 'power_state': None, 'properties': {'cpu_arch': 'x86_64', 'cpus': '8', 'local_gb': '10', 'memory_mb': '4096'}, 'provision_state': 'available', 'provision_updated_at': None, 'raid_config': {}, 'raid_interface': None, 'rescue_interface': None, 'reservation': None, 'resource_class': None, 'storage_interface': None, 'target_power_state': None, 'target_provision_state': None, 'target_raid_config': {}, 'traits': [], 'vendor_interface': None, 'links': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'rel': 'bookmark'}], 'chassis_uuid': None, 'ports': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports', 'rel': 'bookmark'}], 'states': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states', 'rel': 'bookmark'}], 'portgroups': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups', 'rel': 'bookmark'}], 'volume': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume', 'rel': 'bookmark'}]} DEBUG util.py:445: GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 {} DEBUG util.py:445: GOT:{'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'created_at': '2024-05-14T11:54:03.902729+00:00', 'updated_at': None, 'automated_clean': None, 'bios_interface': None, 'boot_interface': None, 'clean_step': {}, 'conductor_group': '', 'console_enabled': False, 'console_interface': None, 'deploy_interface': None, 'deploy_step': {}, 'description': None, 'driver': 'fake-hardware', 'driver_info': {'foo': 'bar', 'fake_password': '******'}, 'driver_internal_info': {'private_state': 'secret value'}, 'extra': {}, 'fault': None, 'inspection_finished_at': None, 'inspection_started_at': None, 'inspect_interface': None, 'instance_info': {'configdrive': '******', 'image_url': '******', 'foo': 'bar'}, 'instance_uuid': None, 'last_error': None, 'lessee': None, 'maintenance': False, 'maintenance_reason': None, 'management_interface': None, 'name': None, 'network_interface': None, 'owner': None, 'power_interface': None, 'power_state': None, 'properties': {'cpu_arch': 'x86_64', 'cpus': '8', 'local_gb': '10', 'memory_mb': '4096'}, 'protected': False, 'protected_reason': None, 'provision_state': 'available', 'provision_updated_at': None, 'raid_config': {}, 'raid_interface': None, 'rescue_interface': None, 'reservation': None, 'resource_class': None, 'retired': False, 'retired_reason': None, 'storage_interface': None, 'target_power_state': None, 'target_provision_state': None, 'target_raid_config': {}, 'traits': [], 'vendor_interface': None, 'links': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'rel': 'bookmark'}], 'conductor': 'fake.conductor', 'allocation_uuid': None, 'chassis_uuid': None, 'ports': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports', 'rel': 'bookmark'}], 'states': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states', 'rel': 'bookmark'}], 'portgroups': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups', 'rel': 'bookmark'}], 'volume': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume', 'rel': 'bookmark'}]} DEBUG util.py:445: GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 {} DEBUG util.py:445: GOT:{'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'created_at': '2024-05-14T11:54:03.934778+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/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 {} DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_node_protected_with_reason [0.055782s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_node_retired [0.072550s] ... ok DEBUG util.py:445: GOT:{'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'created_at': '2024-05-14T11:54:03.980929+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/4647f653-84f0-4b3c-a816-fd91352f9a55 {} DEBUG util.py:445: GOT:{'uuid': '4647f653-84f0-4b3c-a816-fd91352f9a55', 'created_at': '2024-05-14T11:54:04.025752+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/4647f653-84f0-4b3c-a816-fd91352f9a55', 'rel': 'self'}, {'href': 'http://localhost/nodes/4647f653-84f0-4b3c-a816-fd91352f9a55', 'rel': 'bookmark'}], 'conductor': 'fake.conductor', 'allocation_uuid': None, 'chassis_uuid': None, 'ports': [{'href': 'http://localhost/v1/nodes/4647f653-84f0-4b3c-a816-fd91352f9a55/ports', 'rel': 'self'}, {'href': 'http://localhost/nodes/4647f653-84f0-4b3c-a816-fd91352f9a55/ports', 'rel': 'bookmark'}], 'states': [{'href': 'http://localhost/v1/nodes/4647f653-84f0-4b3c-a816-fd91352f9a55/states', 'rel': 'self'}, {'href': 'http://localhost/nodes/4647f653-84f0-4b3c-a816-fd91352f9a55/states', 'rel': 'bookmark'}], 'portgroups': [{'href': 'http://localhost/v1/nodes/4647f653-84f0-4b3c-a816-fd91352f9a55/portgroups', 'rel': 'self'}, {'href': 'http://localhost/nodes/4647f653-84f0-4b3c-a816-fd91352f9a55/portgroups', 'rel': 'bookmark'}], 'volume': [{'href': 'http://localhost/v1/nodes/4647f653-84f0-4b3c-a816-fd91352f9a55/volume', 'rel': 'self'}, {'href': 'http://localhost/nodes/4647f653-84f0-4b3c-a816-fd91352f9a55/volume', 'rel': 'bookmark'}]} DEBUG util.py:445: GET: /v1/nodes/09205166-4337-4d4c-bebc-91b8c0cd68e0 {} DEBUG util.py:445: GOT:{'uuid': '09205166-4337-4d4c-bebc-91b8c0cd68e0', 'created_at': '2024-05-14T11:54:04.050960+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/09205166-4337-4d4c-bebc-91b8c0cd68e0', 'rel': 'self'}, {'href': 'http://localhost/nodes/09205166-4337-4d4c-bebc-91b8c0cd68e0', 'rel': 'bookmark'}], 'conductor': 'fake.conductor', 'allocation_uuid': None, 'chassis_uuid': None, 'ports': [{'href': 'http://localhost/v1/nodes/09205166-4337-4d4c-bebc-91b8c0cd68e0/ports', 'rel': 'self'}, {'href': 'http://localhost/nodes/09205166-4337-4d4c-bebc-91b8c0cd68e0/ports', 'rel': 'bookmark'}], 'states': [{'href': 'http://localhost/v1/nodes/09205166-4337-4d4c-bebc-91b8c0cd68e0/states', 'rel': 'self'}, {'href': 'http://localhost/nodes/09205166-4337-4d4c-bebc-91b8c0cd68e0/states', 'rel': 'bookmark'}], 'portgroups': [{'href': 'http://localhost/v1/nodes/09205166-4337-4d4c-bebc-91b8c0cd68e0/portgroups', 'rel': 'self'}, {'href': 'http://localhost/nodes/09205166-4337-4d4c-bebc-91b8c0cd68e0/portgroups', 'rel': 'bookmark'}], 'volume': [{'href': 'http://localhost/v1/nodes/09205166-4337-4d4c-bebc-91b8c0cd68e0/volume', 'rel': 'self'}, {'href': 'http://localhost/nodes/09205166-4337-4d4c-bebc-91b8c0cd68e0/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_retired_reason_hidden_in_lower_version [0.090574s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_node_states [0.045484s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_node_states_raid [0.033407s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_one_field_specific_santization [0.029884s] ... 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'}, {'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_inspect_interface': None, 'enabled_inspect_interfaces': [], 'default_vendor_interface': None, 'enabled_vendor_interfaces': [], 'default_boot_interface': None, 'enabled_boot_interfaces': [], 'default_network_interface': None, 'enabled_network_interfaces': [], 'default_deploy_interface': 'direct', 'enabled_deploy_interfaces': ['ansible', 'direct'], 'default_console_interface': None, 'enabled_console_interfaces': [], 'default_raid_interface': None, 'enabled_raid_interfaces': [], 'default_management_interface': None, 'enabled_management_interfaces': [], 'default_power_interface': None, 'enabled_power_interfaces': []}, {'name': 'fake-hardware-type-2', 'hosts': ['fake-host1'], 'links': [{'href': 'http://localhost/v1/drivers/fake-hardware-type-2', 'rel': 'self'}, {'href': 'http://localhost/drivers/fake-hardware-type-2', 'rel': 'bookmark'}], 'properties': [{'href': 'http://localhost/v1/drivers/fake-hardware-type-2/properties', 'rel': 'self'}, {'href': 'http://localhost/drivers/fake-hardware-type-2/properties', 'rel': 'bookmark'}], 'type': 'dynamic', 'default_inspect_interface': None, 'enabled_inspect_interfaces': [], 'default_vendor_interface': None, 'enabled_vendor_interfaces': [], 'default_boot_interface': None, 'enabled_boot_interfaces': [], 'default_network_interface': None, 'enabled_network_interfaces': [], 'default_deploy_interface': None, 'enabled_deploy_interfaces': [], 'default_console_interface': None, 'enabled_console_interfaces': [], 'default_raid_interface': None, 'enabled_raid_interfaces': [], 'default_management_interface': None, 'enabled_management_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-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?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/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-f60790dd-11ea-4bf8-b497-86cdaf5b022d DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.4 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Request not acceptable.\", \"debuginfo\": null}"} DEBUG util.py:445: POST: /v1/events {'events': [{'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-e70696a9-49ca-439a-82f0-d3f153dbbf0d DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Schema error for evts: 'event' is a required property Failed validating 'required' in schema['properties']['events']['items']\", \"debuginfo\": null}"} DEBUG util.py:445: POST: /v1/events {'events': [{'event': 'invalid.event'}]} DEBUG util.py:445: GOT:Response: 400 Bad Request DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-ce38ed41-52ba-4c00-8bc4-e30cfcac1620 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Schema error for evts: 'invalid.event' is not one of ['network.bind_port', 'network.unbind_port', 'network.delete_port'] Failed validating 'enum' in schema['properties']['events']['items']['properties']['event']\", \"debuginfo\": null}"} DEBUG util.py:445: POST: /v1/events {'events': [{'event': 'network.bind_port', 'port_id': '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-f5bacfc0-7735-4b29-8ab5-be6b360e4a33 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Expected UUID for port_id: PORT_ID_SHOULD_BE_UUID\", \"debuginfo\": null}"} DEBUG util.py:445: POST: /v1/events {'events': [{'event': 'network.bind_port', 'port_id': '11111111-aaaa-bbbb-cccc-555555555555', 'mac_address': 'de:ad:ca:fe:ba:be', 'status': ['status', 'SHOULD', 'BE', 'TEXT'], 'device_id': '22222222-aaaa-bbbb-cccc-555555555555', 'binding:host_id': '22222222-aaaa-bbbb-cccc-555555555555', 'binding:vnic_type': 'baremetal'}]} DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_event.TestPost.test_network_port_event_invalid_status [0.023787s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_event.TestPost.test_network_unbind_port_events [0.024820s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_event.TestPostRBAC.test_network_delete_port_events [0.030908s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_event.TestPostRBAC.test_network_port_event_invalid_device_id [0.020616s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_event.TestPostRBAC.test_network_port_event_invalid_port_id [0.051709s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_event.TestPostRBAC.test_network_unbind_port_events [0.025119s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_node.TestAttachDetachVif.test_vif_attach_port_uuid_and_portgroup_uuid_old [0.029135s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_node.TestAttachDetachVif.test_vif_detach_by_node_name [0.044294s] ... ok DEBUG util.py:445: GOT:{'nodes': [{'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'created_at': '2024-05-14T11:54:03.786814+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?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-d3a8485a-e3d8-4a0d-a3d2-d39dc0517a8c DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.50 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: fake\", \"debuginfo\": null}"} DEBUG util.py:445: GET: /v1/nodes/detail {} DEBUG util.py:445: GOT:Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-f6f273f8-c23a-44a8-9597-99ec1927d6d1 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.49 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: fake\", \"debuginfo\": null}"} DEBUG util.py:445: GET: /v1/nodes?detail=False&fields=name {} DEBUG util.py:445: GOT:{'nodes': [{'name': None, 'links': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'rel': 'bookmark'}]}]} DEBUG util.py:445: GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123?fields=boot_interface,console_interface,deploy_interface,inspect_interface,management_interface,power_interface,raid_interface,vendor_interface {} DEBUG util.py:445: GOT:Response: 406 Not Acceptable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-22d7c2f9-de30-4d30-b930-a623c09ec173 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.30 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Request not acceptable.\", \"debuginfo\": null}"} DEBUG util.py:445: GET: /v1/nodes/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': '8ccb28db-40fe-4127-b2d4-123adf3c0348', 'instance_info': {'configdrive': '******', 'image_url': '******', 'foo': 'bar'}, 'links': [{'href': 'http://localhost/v1/nodes/8ccb28db-40fe-4127-b2d4-123adf3c0348', 'rel': 'self'}, {'href': 'http://localhost/nodes/8ccb28db-40fe-4127-b2d4-123adf3c0348', 'rel': 'bookmark'}]}, {'uuid': '8ff094fc-e6ec-4116-b3a0-27295493512f', 'instance_info': {'configdrive': '******', 'image_url': '******', 'foo': 'bar'}, 'links': [{'href': 'http://localhost/v1/nodes/8ff094fc-e6ec-4116-b3a0-27295493512f', 'rel': 'self'}, {'href': 'http://localhost/nodes/8ff094fc-e6ec-4116-b3a0-27295493512f', 'rel': 'bookmark'}]}, {'uuid': 'a77bba30-34bb-4203-b1e3-abeb697d13e3', 'instance_info': {'configdrive': '******', 'image_url': '******', 'foo': 'bar'}, 'links': [{'href': 'http://localhost/v1/nodes/a77bba30-34bb-4203-b1e3-abeb697d13e3', 'rel': 'self'}, {'href': 'http://localhost/nodes/a77bba30-34bb-4203-b1e3-abeb697d13e3', '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-9cec6b0e-bda2-43e0-a2f5-75cb1cfa2b94 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.1 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Driver test-driver does not support management (disabled or not implemented).\", \"debuginfo\": null}"} DEBUG util.py:445: GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/management/indicators/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?conductor_group=group1 {} DEBUG util.py:445: GOT:{'nodes': [{'uuid': 'd8b4decc-fe1f-4826-91e7-6a0cb2f8108f', 'instance_uuid': None, 'maintenance': False, 'power_state': None, 'provision_state': 'available', 'name': None, 'links': [{'href': 'http://localhost/v1/nodes/d8b4decc-fe1f-4826-91e7-6a0cb2f8108f', 'rel': 'self'}, {'href': 'http://localhost/nodes/d8b4decc-fe1f-4826-91e7-6a0cb2f8108f', 'rel': 'bookmark'}]}]} DEBUG util.py:445: GET: /v1/nodes?conductor_group=group2 {} DEBUG util.py:445: GOT:{'nodes': [{'uuid': '00658660-fdce-44ff-994f-8db13a79b00d', 'instance_uuid': None, 'maintenance': False, 'power_state': None, 'provision_state': 'available', 'name': None, 'links': [{'href': 'http://localhost/v1/nodes/00658660-fdce-44ff-994f-8db13a79b00d', 'rel': 'self'}, {'href': 'http://localhost/nodes/00658660-fdce-44ff-994f-8db13a79b00d', 'rel': 'bookmark'}]}]} DEBUG util.py:445: GET: /v1/nodes/detail?conductor_group=group1 {} DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_get_nodes_by_conductor_group [0.053807s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_get_nodes_by_conductor_not_allowed [0.027296s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_get_nodes_by_driver_invalid_api_version [0.023692s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_get_nodes_by_invalid_resource_class [0.032492s] ... ok DEBUG util.py:445: GOT:{'deploy_templates': [{'uuid': '56bedd46-9125-4f50-9c11-80c72e266d5b', 'name': 'CUSTOM_DT0', 'links': [{'href': 'http://localhost/v1/deploy_templates/56bedd46-9125-4f50-9c11-80c72e266d5b', 'rel': 'self'}, {'href': 'http://localhost/deploy_templates/56bedd46-9125-4f50-9c11-80c72e266d5b', 'rel': 'bookmark'}]}, {'uuid': 'f12e0a28-97ed-4590-bf3e-d2f29ce1d4ad', 'name': 'CUSTOM_DT1', 'links': [{'href': 'http://localhost/v1/deploy_templates/f12e0a28-97ed-4590-bf3e-d2f29ce1d4ad', 'rel': 'self'}, {'href': 'http://localhost/deploy_templates/f12e0a28-97ed-4590-bf3e-d2f29ce1d4ad', 'rel': 'bookmark'}]}, {'uuid': 'aff280d1-a100-44ef-b36b-bb26d4b3b06c', 'name': 'CUSTOM_DT2', 'links': [{'href': 'http://localhost/v1/deploy_templates/aff280d1-a100-44ef-b36b-bb26d4b3b06c', 'rel': 'self'}, {'href': 'http://localhost/deploy_templates/aff280d1-a100-44ef-b36b-bb26d4b3b06c', 'rel': 'bookmark'}]}, {'uuid': 'c05726dc-6fca-4a96-96c8-050aa4ea41ec', 'name': 'CUSTOM_DT3', 'links': [{'href': 'http://localhost/v1/deploy_templates/c05726dc-6fca-4a96-96c8-050aa4ea41ec', 'rel': 'self'}, {'href': 'http://localhost/deploy_templates/c05726dc-6fca-4a96-96c8-050aa4ea41ec', 'rel': 'bookmark'}]}, {'uuid': 'ce5371ab-b468-41ce-aee9-9a2c362eac4b', 'name': 'CUSTOM_DT4', 'links': [{'href': 'http://localhost/v1/deploy_templates/ce5371ab-b468-41ce-aee9-9a2c362eac4b', 'rel': 'self'}, {'href': 'http://localhost/deploy_templates/ce5371ab-b468-41ce-aee9-9a2c362eac4b', 'rel': 'bookmark'}]}]} DEBUG util.py:445: GET: /v1/deploy_templates?sort_key=uuid {} DEBUG util.py:445: GOT:{'deploy_templates': [{'uuid': '0b8e71f6-77ee-494d-a96f-a4d5d0e27ec6', 'name': 'CUSTOM_DT1', 'links': [{'href': 'http://localhost/v1/deploy_templates/0b8e71f6-77ee-494d-a96f-a4d5d0e27ec6', 'rel': 'self'}, {'href': 'http://localhost/deploy_templates/0b8e71f6-77ee-494d-a96f-a4d5d0e27ec6', 'rel': 'bookmark'}]}, {'uuid': '204795d4-18fb-4ef8-a672-18cc44de7a6a', 'name': 'CUSTOM_DT0', 'links': [{'href': 'http://localhost/v1/deploy_templates/204795d4-18fb-4ef8-a672-18cc44de7a6a', 'rel': 'self'}, {'href': 'http://localhost/deploy_templates/204795d4-18fb-4ef8-a672-18cc44de7a6a', 'rel': 'bookmark'}]}, {'uuid': 'a0e35e40-dd64-4824-82f2-8a4711ad6be1', 'name': 'CUSTOM_DT2', 'links': [{'href': 'http://localhost/v1/deploy_templates/a0e35e40-dd64-4824-82f2-8a4711ad6be1', 'rel': 'self'}, {'href': 'http://localhost/deploy_templates/a0e35e40-dd64-4824-82f2-8a4711ad6be1', '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-b2224ea6-8e27-4005-ba44-2dea78f59799 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"The sort_key value extra is an invalid field for sorting\", \"debuginfo\": null}"} DEBUG util.py:445: GET: /v1/deploy_templates?sort_key=foo {} DEBUG util.py:445: GOT:Response: 400 Bad Request DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-c474af34-5842-412b-a1c0-3c155a967431 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"The sort_key value \\\"foo\\\" is an invalid field for sorting\", \"debuginfo\": null}"} DEBUG util.py:445: GET: /v1/deploy_templates?sort_key=steps {} DEBUG util.py:445: GOT:Response: 400 Bad Request DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-a658be38-8fce-4998-b7e0-ff548d0e1082 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"The sort_key value steps is an invalid field for sorting\", \"debuginfo\": null}"} DEBUG util.py:445: PATCH: /v1/deploy_templates/1f2db66c-e461-403d-9d61-a76bd3e56791 [{'path': '/non-existent', 'op': 'remove'}] DEBUG util.py:445: GOT:Response: 400 Bad Request DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-1543ef0d-9e3c-4afd-bf84-03f1ee902ec7 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Cannot patch /non-existent. Only the following can be updated: extra, name, steps, description\", \"debuginfo\": null}"} DEBUG util.py:445: PATCH: /v1/deploy_templates/5ac7b07c-be63-43f9-984e-eb1da4406619 [{'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-f183415f-cd8e-4dc4-9c4d-02d220f7ddae DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Couldn't apply patch '{'path': '/steps/1', 'op': 'remove'}'. Reason: can't remove non-existent object '1'\", \"debuginfo\": null}"} DEBUG util.py:445: PATCH: /v1/deploy_templates/7a790e78-49f3-48bd-85b7-9171df96a395 [{'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-0950d0c7-b239-4dde-a63e-b9e0aafcb6d7 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Couldn't apply patch '{'path': '/steps/0/non-existent', 'op': 'remove'}'. Reason: can't remove non-existent object 'non-existent'\", \"debuginfo\": null}"} DEBUG util.py:445: PATCH: /v1/deploy_templates/e15734b6-5675-45cc-b2e5-1b47f2f6615a [{'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-e86a9f93-34ad-462b-bc86-845f4dece26a DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Schema error for patch: 'CUSTOM_XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX' is too long Failed validating 'maxLength' in schema[0]\", \"debuginfo\": null}"} DEBUG util.py:445: PATCH: /v1/deploy_templates/24a716d7-91a5-4af9-9c9b-1e282dbc3bbc [{'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-e8467d93-10d6-43bc-bf35-91146fa48d43 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"uuid": "24a716d7-91a5-4af9-9c9b-1e282dbc3bbc", "created_at": "2024-05-14T11:54:03.815309+00:00", "updated_at": null, "name": "CUSTOM_DT2", "extra": {}, "links": [{"href": "http://localhost/v1/deploy_templates/24a716d7-91a5-4af9-9c9b-1e282dbc3bbc", "rel": "self"}, {"href": "http://localhost/deploy_templates/24a716d7-91a5-4af9-9c9b-1e282dbc3bbc", "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/1c75d33a-6431-4120-b273-8dd10da00df8 [{'path': '/steps/0/interface', 'op': 'replace', 'value': 'foo'}] DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestPatch.test_replace_step_invalid_interface [0.107351s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestPatch.test_update_invalid_name [0.045914s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestPost.test_create_invalid_field_empty_steps [0.035325s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestPost.test_create_invalid_field_steps [0.048259s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestPost.test_create_invalid_step_field_interface1 [0.073588s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestPost.test_create_invalid_step_field_interface2 [0.040640s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestPost.test_create_no_mandatory_step_field_args [0.046634s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestPost.test_create_no_mandatory_step_field_priority [0.070991s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_get_nodes_by_invalid_resource_class_detail [0.028756s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_ports_subresource [0.055649s] ... ok DEBUG util.py:445: GOT:{'nodes': [{'uuid': 'd8b4decc-fe1f-4826-91e7-6a0cb2f8108f', 'created_at': '2024-05-14T11:54:04.118003+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/d8b4decc-fe1f-4826-91e7-6a0cb2f8108f', 'rel': 'self'}, {'href': 'http://localhost/nodes/d8b4decc-fe1f-4826-91e7-6a0cb2f8108f', 'rel': 'bookmark'}], 'chassis_uuid': None, 'ports': [{'href': 'http://localhost/v1/nodes/d8b4decc-fe1f-4826-91e7-6a0cb2f8108f/ports', 'rel': 'self'}, {'href': 'http://localhost/nodes/d8b4decc-fe1f-4826-91e7-6a0cb2f8108f/ports', 'rel': 'bookmark'}], 'states': [{'href': 'http://localhost/v1/nodes/d8b4decc-fe1f-4826-91e7-6a0cb2f8108f/states', 'rel': 'self'}, {'href': 'http://localhost/nodes/d8b4decc-fe1f-4826-91e7-6a0cb2f8108f/states', 'rel': 'bookmark'}], 'portgroups': [{'href': 'http://localhost/v1/nodes/d8b4decc-fe1f-4826-91e7-6a0cb2f8108f/portgroups', 'rel': 'self'}, {'href': 'http://localhost/nodes/d8b4decc-fe1f-4826-91e7-6a0cb2f8108f/portgroups', 'rel': 'bookmark'}], 'volume': [{'href': 'http://localhost/v1/nodes/d8b4decc-fe1f-4826-91e7-6a0cb2f8108f/volume', 'rel': 'self'}, {'href': 'http://localhost/nodes/d8b4decc-fe1f-4826-91e7-6a0cb2f8108f/volume', 'rel': 'bookmark'}]}]} DEBUG util.py:445: GET: /v1/nodes/detail?conductor_group=group2 {} DEBUG util.py:445: GOT:{'nodes': [{'uuid': '00658660-fdce-44ff-994f-8db13a79b00d', 'created_at': '2024-05-14T11:54:04.121300+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/00658660-fdce-44ff-994f-8db13a79b00d', 'rel': 'self'}, {'href': 'http://localhost/nodes/00658660-fdce-44ff-994f-8db13a79b00d', 'rel': 'bookmark'}], 'chassis_uuid': None, 'ports': [{'href': 'http://localhost/v1/nodes/00658660-fdce-44ff-994f-8db13a79b00d/ports', 'rel': 'self'}, {'href': 'http://localhost/nodes/00658660-fdce-44ff-994f-8db13a79b00d/ports', 'rel': 'bookmark'}], 'states': [{'href': 'http://localhost/v1/nodes/00658660-fdce-44ff-994f-8db13a79b00d/states', 'rel': 'self'}, {'href': 'http://localhost/nodes/00658660-fdce-44ff-994f-8db13a79b00d/states', 'rel': 'bookmark'}], 'portgroups': [{'href': 'http://localhost/v1/nodes/00658660-fdce-44ff-994f-8db13a79b00d/portgroups', 'rel': 'self'}, {'href': 'http://localhost/nodes/00658660-fdce-44ff-994f-8db13a79b00d/portgroups', 'rel': 'bookmark'}], 'volume': [{'href': 'http://localhost/v1/nodes/00658660-fdce-44ff-994f-8db13a79b00d/volume', 'rel': 'self'}, {'href': 'http://localhost/nodes/00658660-fdce-44ff-994f-8db13a79b00d/volume', 'rel': 'bookmark'}]}]} 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-ed7a1fb0-ccef-4216-8972-c0c3567e1904 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.48 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Request not acceptable. The minimal required API version should be 1.49\", \"debuginfo\": null}"} DEBUG util.py:445: GET: /v1/nodes?driver=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-3e92827e-7a9d-475b-a403-85aa3e99dfdd DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.1 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Request not acceptable. The minimal required API version should be 1.16\", \"debuginfo\": null}"} DEBUG util.py:445: GET: /v1/nodes?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:{'nodes': [{'uuid': '68b2a047-7ccc-43b5-9463-c6160b4d0e2a', 'instance_uuid': None, 'maintenance': False, 'power_state': None, 'provision_state': 'available', 'name': None, 'links': [{'href': 'http://localhost/v1/nodes/68b2a047-7ccc-43b5-9463-c6160b4d0e2a', 'rel': 'self'}, {'href': 'http://localhost/nodes/68b2a047-7ccc-43b5-9463-c6160b4d0e2a', 'rel': 'bookmark'}]}]} DEBUG util.py:445: GET: /v1/nodes?owner=bob {} DEBUG util.py:445: GOT:{'nodes': [{'uuid': '6306c9be-f93a-49f6-981a-dbd259f9b3d7', 'instance_uuid': None, 'maintenance': False, 'power_state': None, 'provision_state': 'available', 'name': None, 'links': [{'href': 'http://localhost/v1/nodes/6306c9be-f93a-49f6-981a-dbd259f9b3d7', 'rel': 'self'}, {'href': 'http://localhost/nodes/6306c9be-f93a-49f6-981a-dbd259f9b3d7', 'rel': 'bookmark'}]}]} DEBUG util.py:445: GET: /v1/nodes/detail?owner=fred {} DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_get_nodes_by_owner [0.051425s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_get_nodes_by_owner_not_allowed [0.028059s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_get_nodes_by_provision_state_not_allowed [0.021794s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_node.TestBIOS.test_get_all_bios_detail_old_version [0.087651s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_driver.TestDriverProperties.test_driver_properties_cached [0.078301s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_get_one_custom_fields [0.031170s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_driver.TestDriverProperties.test_driver_properties_invalid_driver_name [0.026909s] ... ok DEBUG util.py:445: GOT:{'nodes': [{'uuid': '68b2a047-7ccc-43b5-9463-c6160b4d0e2a', 'created_at': '2024-05-14T11:54:04.284601+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/68b2a047-7ccc-43b5-9463-c6160b4d0e2a', 'rel': 'self'}, {'href': 'http://localhost/nodes/68b2a047-7ccc-43b5-9463-c6160b4d0e2a', 'rel': 'bookmark'}], 'conductor': 'fake.conductor', 'chassis_uuid': None, 'ports': [{'href': 'http://localhost/v1/nodes/68b2a047-7ccc-43b5-9463-c6160b4d0e2a/ports', 'rel': 'self'}, {'href': 'http://localhost/nodes/68b2a047-7ccc-43b5-9463-c6160b4d0e2a/ports', 'rel': 'bookmark'}], 'states': [{'href': 'http://localhost/v1/nodes/68b2a047-7ccc-43b5-9463-c6160b4d0e2a/states', 'rel': 'self'}, {'href': 'http://localhost/nodes/68b2a047-7ccc-43b5-9463-c6160b4d0e2a/states', 'rel': 'bookmark'}], 'portgroups': [{'href': 'http://localhost/v1/nodes/68b2a047-7ccc-43b5-9463-c6160b4d0e2a/portgroups', 'rel': 'self'}, {'href': 'http://localhost/nodes/68b2a047-7ccc-43b5-9463-c6160b4d0e2a/portgroups', 'rel': 'bookmark'}], 'volume': [{'href': 'http://localhost/v1/nodes/68b2a047-7ccc-43b5-9463-c6160b4d0e2a/volume', 'rel': 'self'}, {'href': 'http://localhost/nodes/68b2a047-7ccc-43b5-9463-c6160b4d0e2a/volume', 'rel': 'bookmark'}]}]} DEBUG util.py:445: GET: /v1/nodes/detail?owner=bob {} DEBUG util.py:445: GOT:{'nodes': [{'uuid': '6306c9be-f93a-49f6-981a-dbd259f9b3d7', 'created_at': '2024-05-14T11:54:04.287360+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/6306c9be-f93a-49f6-981a-dbd259f9b3d7', 'rel': 'self'}, {'href': 'http://localhost/nodes/6306c9be-f93a-49f6-981a-dbd259f9b3d7', 'rel': 'bookmark'}], 'conductor': 'fake.conductor', 'chassis_uuid': None, 'ports': [{'href': 'http://localhost/v1/nodes/6306c9be-f93a-49f6-981a-dbd259f9b3d7/ports', 'rel': 'self'}, {'href': 'http://localhost/nodes/6306c9be-f93a-49f6-981a-dbd259f9b3d7/ports', 'rel': 'bookmark'}], 'states': [{'href': 'http://localhost/v1/nodes/6306c9be-f93a-49f6-981a-dbd259f9b3d7/states', 'rel': 'self'}, {'href': 'http://localhost/nodes/6306c9be-f93a-49f6-981a-dbd259f9b3d7/states', 'rel': 'bookmark'}], 'portgroups': [{'href': 'http://localhost/v1/nodes/6306c9be-f93a-49f6-981a-dbd259f9b3d7/portgroups', 'rel': 'self'}, {'href': 'http://localhost/nodes/6306c9be-f93a-49f6-981a-dbd259f9b3d7/portgroups', 'rel': 'bookmark'}], 'volume': [{'href': 'http://localhost/v1/nodes/6306c9be-f93a-49f6-981a-dbd259f9b3d7/volume', 'rel': 'self'}, {'href': 'http://localhost/nodes/6306c9be-f93a-49f6-981a-dbd259f9b3d7/volume', 'rel': 'bookmark'}]}]} DEBUG util.py:445: GET: /v1/nodes?owner=fred {} DEBUG util.py:445: GOT:Response: 406 Not Acceptable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-dbd5c740-ae5e-4476-a4b9-34db5a0b2f56 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.48 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Request not acceptable. The minimal required API version should be 1.50\", \"debuginfo\": null}"} DEBUG util.py:445: GET: /v1/nodes/detail?owner=fred {} DEBUG util.py:445: GOT:Response: 406 Not Acceptable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-4946be1b-177d-46f4-8023-e1c6b3090865 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.48 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Request not acceptable. The minimal required API version should be 1.50\", \"debuginfo\": null}"} DEBUG util.py:445: GET: /v1/nodes?provision_state=test {} DEBUG util.py:445: GOT:Response: 406 Not Acceptable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-bef06e43-9593-4893-849c-da51a77eebc6 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.8 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Request not acceptable.\", \"debuginfo\": null}"} DEBUG util.py:445: GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123?fields=extra,instance_info {} DEBUG util.py:445: GOT:{'extra': {}, 'instance_info': {'configdrive': '******', 'image_url': '******', 'foo': 'bar'}, 'links': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'rel': 'bookmark'}]} DEBUG util.py:445: GET: /v1/nodes/node.json.json {} DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_get_one_with_double_json [0.031111s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_get_one_with_json [0.041497s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_driver.TestListDrivers.test_driver_vendor_passthru_put [0.052544s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_node.TestBIOS.test_get_all_bios_with_detail [0.122266s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_get_retired_fields [0.030799s] ... ok DEBUG util.py:445: GOT:{'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'created_at': '2024-05-14T11:54:04.138199+00:00', 'updated_at': None, 'automated_clean': None, 'bios_interface': None, 'boot_interface': None, 'clean_step': {}, 'conductor_group': '', 'console_enabled': False, 'console_interface': None, 'deploy_interface': None, 'deploy_step': {}, 'description': None, 'driver': 'fake-hardware', 'driver_info': {'foo': 'bar', 'fake_password': '******'}, 'driver_internal_info': {'private_state': 'secret value'}, 'extra': {}, 'fault': None, 'inspection_finished_at': None, 'inspection_started_at': None, 'inspect_interface': None, 'instance_info': {'configdrive': '******', 'image_url': '******', 'foo': 'bar'}, 'instance_uuid': None, 'last_error': None, 'maintenance': False, 'maintenance_reason': None, 'management_interface': None, 'name': None, 'network_interface': None, 'owner': None, 'power_interface': None, 'power_state': None, 'properties': {'cpu_arch': 'x86_64', 'cpus': '8', 'local_gb': '10', 'memory_mb': '4096'}, 'protected': False, 'protected_reason': None, 'provision_state': 'available', 'provision_updated_at': None, 'raid_config': {}, 'raid_interface': None, 'rescue_interface': None, 'reservation': None, 'resource_class': None, 'storage_interface': None, 'target_power_state': None, 'target_provision_state': None, 'target_raid_config': {}, 'traits': [], 'vendor_interface': None, 'links': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'rel': 'bookmark'}], 'conductor': 'fake.conductor', 'allocation_uuid': None, 'chassis_uuid': None, 'ports': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports', 'rel': 'bookmark'}], 'states': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states', 'rel': 'bookmark'}], 'portgroups': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups', 'rel': 'bookmark'}], 'volume': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume', 'rel': 'bookmark'}]} DEBUG util.py:445: GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 {} DEBUG util.py:445: GOT:{'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'created_at': '2024-05-14T11:54:04.138199+00:00', 'updated_at': None, 'automated_clean': None, 'bios_interface': None, 'boot_interface': None, 'clean_step': {}, 'conductor_group': '', 'console_enabled': False, 'console_interface': None, 'deploy_interface': None, 'deploy_step': {}, 'description': None, 'driver': 'fake-hardware', 'driver_info': {'foo': 'bar', 'fake_password': '******'}, 'driver_internal_info': {'private_state': 'secret value'}, 'extra': {}, 'fault': None, 'inspection_finished_at': None, 'inspection_started_at': None, 'inspect_interface': None, 'instance_info': {'configdrive': '******', 'image_url': '******', 'foo': 'bar'}, 'instance_uuid': None, 'last_error': None, 'maintenance': False, 'maintenance_reason': None, 'management_interface': None, 'name': None, 'network_interface': None, 'owner': None, 'power_interface': None, 'power_state': None, 'properties': {'cpu_arch': 'x86_64', 'cpus': '8', 'local_gb': '10', 'memory_mb': '4096'}, 'protected': False, 'protected_reason': None, 'provision_state': 'available', 'provision_updated_at': None, 'raid_config': {}, 'raid_interface': None, 'rescue_interface': None, 'reservation': None, 'resource_class': None, 'retired': False, 'retired_reason': None, 'storage_interface': None, 'target_power_state': None, 'target_provision_state': None, 'target_raid_config': {}, 'traits': [], 'vendor_interface': None, 'links': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'rel': 'bookmark'}], 'conductor': 'fake.conductor', 'allocation_uuid': None, 'chassis_uuid': None, 'ports': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports', 'rel': 'bookmark'}], 'states': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states', 'rel': 'bookmark'}], 'portgroups': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups', 'rel': 'bookmark'}], 'volume': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume', 'rel': 'bookmark'}]} DEBUG util.py:445: GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states {} DEBUG util.py:445: GOT:{'console_enabled': False, 'last_error': 'fake-error', 'power_state': 'fake-state', 'provision_state': 'fake-state', 'target_power_state': 'fake-state', 'target_provision_state': 'fake-state', 'provision_updated_at': '2000-01-01T00:00:00+00:00'} DEBUG util.py:445: GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/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?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/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports {} DEBUG util.py:445: GOT:{'ports': [{'uuid': '83672e39-519c-4b4c-aaf5-a6643ebdd3cf', 'address': '52:54:00:cf:2d:30', 'links': [{'href': 'http://localhost/v1/ports/83672e39-519c-4b4c-aaf5-a6643ebdd3cf', 'rel': 'self'}, {'href': 'http://localhost/ports/83672e39-519c-4b4c-aaf5-a6643ebdd3cf', 'rel': 'bookmark'}]}, {'uuid': 'c2d60728-92f9-4317-901c-6e70d2cc0a23', 'address': '52:54:00:cf:2d:31', 'links': [{'href': 'http://localhost/v1/ports/c2d60728-92f9-4317-901c-6e70d2cc0a23', 'rel': 'self'}, {'href': 'http://localhost/ports/c2d60728-92f9-4317-901c-6e70d2cc0a23', 'rel': 'bookmark'}]}]} DEBUG util.py:445: GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports?limit=1 {} DEBUG util.py:445: GOT:{'ports': [{'uuid': '83672e39-519c-4b4c-aaf5-a6643ebdd3cf', 'address': '52:54:00:cf:2d:30', 'links': [{'href': 'http://localhost/v1/ports/83672e39-519c-4b4c-aaf5-a6643ebdd3cf', 'rel': 'self'}, {'href': 'http://localhost/ports/83672e39-519c-4b4c-aaf5-a6643ebdd3cf', 'rel': 'bookmark'}]}], 'next': 'http://localhost/v1/ports?sort_key=id&sort_dir=asc&fields=uuid,address&limit=1&marker=83672e39-519c-4b4c-aaf5-a6643ebdd3cf'} DEBUG util.py:445: GET: /v1/nodes?sort_key=resource_class {} DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_sort_key_allowed [0.091880s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_validate_by_name [0.051513s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_node.TestCheckCleanSteps.test__check_clean_steps_step_not_dict [0.025779s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_driver.TestListDrivers.test_driver_vendor_passthru_sync [0.070307s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_get_storage_interface_fields [0.034551s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_volume_targets_subresource_node_not_found [0.089777s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_get_supported_indicators_iface_not_supported [0.033588s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_node.TestDelete.test_delete_node_maintenance_mode [0.068023s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_node.TestDelete.test_delete_node_not_found_by_name [0.034999s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_get_with_allocation [0.071519s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_node.TestNodeHistory.test_get_all_history [0.084553s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_node.TestDelete.test_delete_volume_connectors_subresource [0.086511s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_node.TestNodeHistory.test_get_all_history_returns_entries [0.058337s] ... ok DEBUG util.py:445: GOT:{'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'created_at': '2024-05-14T11:54:04.417439+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.json {} DEBUG util.py:445: GOT:{'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'created_at': '2024-05-14T11:54:04.458490+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=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?fields=storage_interface {} DEBUG util.py:445: GOT:{'storage_interface': None, 'links': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'rel': 'bookmark'}]} DEBUG util.py:445: GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/management/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-78fd1d51-7cc0-4064-b30f-a354e445e96e DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.1 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Driver test-driver does not support management (disabled or not implemented).\", \"debuginfo\": null}"} DEBUG util.py:445: GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123?fields=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': '51dd42e4-429c-43e7-91ee-2830b7cfdf75'} DEBUG util.py:445: GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 {} DEBUG util.py:445: GOT:{'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'created_at': '2024-05-14T11:54:04.662751+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: {1} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_hide_fields_in_newer_versions_clean_step [0.053544s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_hide_fields_in_newer_versions_network_interface [0.045410s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_driver.TestListDrivers.test_drivers [0.215519s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_node.TestDelete.test_delete_volume_targets_subresource [0.087425s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_node.TestNodeHistory.test_get_history_item [0.072894s] ... ok DEBUG util.py:445: GOT:{'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'created_at': '2024-05-14T11:54:04.662751+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/detail {} DEBUG util.py:445: GOT:{'nodes': [{'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'created_at': '2024-05-14T11:54:04.717650+00:00', 'updated_at': None, 'clean_step': {}, 'console_enabled': False, 'driver': 'fake-hardware', 'driver_info': {'foo': 'bar', 'fake_password': '******'}, 'driver_internal_info': {'private_state': 'secret value'}, 'extra': {}, 'inspection_finished_at': None, 'inspection_started_at': None, 'instance_info': {'configdrive': '******', 'image_url': '******', 'foo': 'bar'}, 'instance_uuid': None, 'last_error': None, 'maintenance': False, 'maintenance_reason': None, 'name': None, 'power_state': None, 'properties': {'cpu_arch': 'x86_64', 'cpus': '8', 'local_gb': '10', 'memory_mb': '4096'}, 'provision_state': 'available', 'provision_updated_at': None, 'raid_config': {}, 'reservation': None, 'target_power_state': None, 'target_provision_state': None, 'target_raid_config': {}, 'links': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'rel': 'bookmark'}], 'chassis_uuid': None, 'ports': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports', 'rel': 'bookmark'}], 'states': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states', 'rel': 'bookmark'}]}]} DEBUG util.py:445: GET: /v1/nodes/detail {} DEBUG util.py:445: GOT:{'nodes': [{'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'created_at': '2024-05-14T11:54:04.717650+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': '2024-05-14T11:54:04.773178+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: {1} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_hide_fields_in_newer_versions_storage_interface [0.048911s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_maintenance_nodes [0.070677s] ... 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-6b6e96c8-1397-441e-97db-5c4d73cef312 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Schema error for patch: 'foo' is not one of ['power', 'management', 'deploy', 'bios', 'raid'] Failed validating 'enum' in schema['properties']['interface']\", \"debuginfo\": null}"} DEBUG util.py:445: PATCH: /v1/deploy_templates/4bc057e2-a7d3-4859-bcaa-a30b349f40cf [{'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-f66034f8-7e44-494f-9633-4a5532ad01d1 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Schema error for patch: 'aa:bb_cc' does not match '^CUSTOM_[A-Z0-9_]+$' Failed validating 'pattern' in schema[0]\", \"debuginfo\": null}"} DEBUG util.py:445: POST: /v1/deploy_templates {'name': 'CUSTOM_DT1', 'uuid': 'e429fa20-8cf1-4c14-9635-b19037d9caf6', '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-12b5a624-c140-41c1-be62-4f98416335f8 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Schema error for template: [] is too short Failed validating 'minItems' in schema['properties']['steps']\", \"debuginfo\": null}"} DEBUG util.py:445: POST: /v1/deploy_templates {'name': 'CUSTOM_DT1', 'uuid': '8c96800f-19f7-47e6-8722-a44023301163', '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-53e5d3fa-cdfc-46a2-b537-e33953d0590d DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Schema error for template: {} is not of type 'array' Failed validating 'type' in schema['properties']['steps']\", \"debuginfo\": null}"} DEBUG util.py:445: POST: /v1/deploy_templates {'name': 'CUSTOM_DT1', 'uuid': '9a810c4b-f7c5-4c1e-b508-b5ea813944b0', '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-a1242ad1-c316-455a-a544-6b79871053b4 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Schema error for template: [3] is not of type 'string' Failed validating 'type' in schema['properties']['steps']['items']['properties']['interface']\", \"debuginfo\": null}"} DEBUG util.py:445: POST: /v1/deploy_templates {'name': 'CUSTOM_DT1', 'uuid': 'f2e63688-df2e-493e-a0c9-fe7caf66f010', '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-25893a71-2593-46ae-b328-2b0473e89f71 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Schema error for template: 'foo' is not one of ['power', 'management', 'deploy', 'bios', 'raid'] Failed validating 'enum' in schema['properties']['steps']['items']['properties']['interface']\", \"debuginfo\": null}"} DEBUG util.py:445: POST: /v1/deploy_templates {'name': 'CUSTOM_DT1', 'uuid': '443ea41c-50ec-4778-8efc-981203edbc6b', '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-86e87a37-6f13-4fff-8e43-70986f4da31b DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Schema error for template: 'args' is a required property Failed validating 'required' in schema['properties']['steps']['items']\", \"debuginfo\": null}"} DEBUG util.py:445: POST: /v1/deploy_templates {'name': 'CUSTOM_DT1', 'uuid': '1c3ad743-e6dd-42ec-8284-7192b60e16f4', '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-a3a8190e-ed44-4bd7-b2e7-34d2b20fc806 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Schema error for template: 'priority' is a required property Failed validating 'required' in schema['properties']['steps']['items']\", \"debuginfo\": null}"} DEBUG util.py:445: GET: /v1/drivers/manual-management/properties {} DEBUG util.py:445: GOT:{'prop1': 'Property 1. Required.'} DEBUG util.py:445: GET: /v1/drivers/manual-management/properties {} DEBUG util.py:445: GOT:{'prop1': 'Property 1. Required.'} DEBUG util.py:445: GET: /v1/drivers/manual-management/properties {} DEBUG util.py:445: GOT:{'prop1': 'Property 1. Required.'} DEBUG util.py:445: GET: /v1/drivers/bad_driver/properties {} DEBUG util.py:445: GOT:Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-41ea9d74-1df7-46f7-85e1-f36870e15f31 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.1 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Could not find the following driver(s) or hardware type(s): bad_driver.\", \"debuginfo\": null}"} DEBUG util.py:445: 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-54d66fd8-8d3e-4dc7-84c2-2371494ef25f DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.1 DEBUG util.py:445: POST: /v1/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-5f6b82d2-1242-4cb1-8922-c442e084b38b DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.1 DEBUG util.py:445: {"return_key": "return_value"} DEBUG util.py:445: GET: /v1/drivers {} DEBUG util.py:445: GOT:{'drivers': [{'name': 'fake-hardware-type', 'hosts': ['fake-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/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: {3} ironic.tests.unit.api.controllers.v1.test_driver.TestListDrivers.test_drivers_detail_bad_version [0.020492s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_driver.TestListDrivers.test_drivers_detail_bad_version_false [0.017807s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_driver.TestListDrivers.test_drivers_get_one_ok_dynamic_latest_interfaces [0.048888s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_many_forbidden [0.021152s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_driver.TestListDrivers.test_drivers_with_dynamic_detailed_storage_interface [0.050814s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_event.TestEventValidator.test_event_missing_madatory_field [0.014367s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_event.TestEventValidator.test_simple_event_type [0.012751s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test__update_changed_fields_remove_chassis_uuid [0.144903s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_many_have_names [0.048664s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_associated_nodes_error [0.146201s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_event.TestPost.test_events_unsupported_api_version [0.030487s] ... ok DEBUG util.py:445: GOT:{'nodes': [{'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'created_at': '2024-05-14T11:54:04.773178+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?maintenance=true {} DEBUG util.py:445: GOT:{'nodes': [{'uuid': '2107c93f-2d6b-46b6-839d-c133ec622256', 'instance_uuid': None, 'maintenance': True, 'power_state': None, 'provision_state': None, 'links': [{'href': 'http://localhost/v1/nodes/2107c93f-2d6b-46b6-839d-c133ec622256', 'rel': 'self'}, {'href': 'http://localhost/nodes/2107c93f-2d6b-46b6-839d-c133ec622256', 'rel': 'bookmark'}]}, {'uuid': 'c75f46ec-eb83-4eab-910a-4a2a56722e30', 'instance_uuid': None, 'maintenance': True, 'power_state': None, 'provision_state': None, 'links': [{'href': 'http://localhost/v1/nodes/c75f46ec-eb83-4eab-910a-4a2a56722e30', 'rel': 'self'}, {'href': 'http://localhost/nodes/c75f46ec-eb83-4eab-910a-4a2a56722e30', 'rel': 'bookmark'}]}]} DEBUG util.py:445: GET: /v1/nodes?maintenance=false {} DEBUG util.py:445: GOT:{'nodes': [{'uuid': 'd209aab5-e046-4d1f-9b6a-a1e5a57d0fb1', 'instance_uuid': None, 'maintenance': False, 'power_state': None, 'provision_state': None, 'links': [{'href': 'http://localhost/v1/nodes/d209aab5-e046-4d1f-9b6a-a1e5a57d0fb1', 'rel': 'self'}, {'href': 'http://localhost/nodes/d209aab5-e046-4d1f-9b6a-a1e5a57d0fb1', 'rel': 'bookmark'}]}, {'uuid': '39951a40-65c0-4833-b93c-58a1c79e2b7e', 'instance_uuid': None, 'maintenance': False, 'power_state': None, 'provision_state': None, 'links': [{'href': 'http://localhost/v1/nodes/39951a40-65c0-4833-b93c-58a1c79e2b7e', 'rel': 'self'}, {'href': 'http://localhost/nodes/39951a40-65c0-4833-b93c-58a1c79e2b7e', 'rel': 'bookmark'}]}, {'uuid': 'c6134ebe-f4f9-40f9-a305-5cc7ff853815', 'instance_uuid': None, 'maintenance': False, 'power_state': None, 'provision_state': None, 'links': [{'href': 'http://localhost/v1/nodes/c6134ebe-f4f9-40f9-a305-5cc7ff853815', 'rel': 'self'}, {'href': 'http://localhost/nodes/c6134ebe-f4f9-40f9-a305-5cc7ff853815', '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-ef03401d-4bf6-4c7c-addc-e992640ac1f7 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.50 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: fake\", \"debuginfo\": null}"} DEBUG util.py:445: GET: /v1/nodes {} DEBUG util.py:445: GOT:{'nodes': [{'uuid': 'ebb33739-8596-4b96-b204-bd33276b5424', 'instance_uuid': None, 'maintenance': False, 'power_state': None, 'provision_state': 'available', 'name': 'node-0', 'links': [{'href': 'http://localhost/v1/nodes/ebb33739-8596-4b96-b204-bd33276b5424', 'rel': 'self'}, {'href': 'http://localhost/nodes/ebb33739-8596-4b96-b204-bd33276b5424', 'rel': 'bookmark'}]}, {'uuid': 'a1a4d9f9-f8da-4d95-aa03-4fb0886801ed', 'instance_uuid': None, 'maintenance': False, 'power_state': None, 'provision_state': 'available', 'name': 'node-1', 'links': [{'href': 'http://localhost/v1/nodes/a1a4d9f9-f8da-4d95-aa03-4fb0886801ed', 'rel': 'self'}, {'href': 'http://localhost/nodes/a1a4d9f9-f8da-4d95-aa03-4fb0886801ed', 'rel': 'bookmark'}]}, {'uuid': 'b0a64e9b-644e-43db-86ba-ba2b2b529b0e', 'instance_uuid': None, 'maintenance': False, 'power_state': None, 'provision_state': 'available', 'name': 'node-2', 'links': [{'href': 'http://localhost/v1/nodes/b0a64e9b-644e-43db-86ba-ba2b2b529b0e', 'rel': 'self'}, {'href': 'http://localhost/nodes/b0a64e9b-644e-43db-86ba-ba2b2b529b0e', 'rel': 'bookmark'}]}, {'uuid': '0586e11c-591c-46d1-af92-b6b862862f76', 'instance_uuid': None, 'maintenance': False, 'power_state': None, 'provision_state': 'available', 'name': 'node-3', 'links': [{'href': 'http://localhost/v1/nodes/0586e11c-591c-46d1-af92-b6b862862f76', 'rel': 'self'}, {'href': 'http://localhost/nodes/0586e11c-591c-46d1-af92-b6b862862f76', 'rel': 'bookmark'}]}, {'uuid': 'e176ed2e-4e22-45ab-8860-c302b928fcd7', 'instance_uuid': None, 'maintenance': False, 'power_state': None, 'provision_state': 'available', 'name': 'node-4', 'links': [{'href': 'http://localhost/v1/nodes/e176ed2e-4e22-45ab-8860-c302b928fcd7', 'rel': 'self'}, {'href': 'http://localhost/nodes/e176ed2e-4e22-45ab-8860-c302b928fcd7', '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_automated_clean_hidden_in_lower_version [0.040493s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_node_automated_clean_null_field [0.030118s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_add_chassis_id [0.119514s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_detail_using_query_and_fields [0.109470s] ... 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-10c2802e-5de7-4bfc-a8f8-2a2b39e70212 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.29 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Request not acceptable. The minimal required API version should be 1.30\", \"debuginfo\": null}"} DEBUG util.py:445: GET: /v1/drivers?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-b9f0a0ad-128b-4a92-a3ba-c46dd095d54d DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.29 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Request not acceptable. The minimal required API version should be 1.30\", \"debuginfo\": null}"} DEBUG util.py:445: GET: /v1/drivers/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'}], 'type': 'dynamic', 'default_storage_interface': None, 'enabled_storage_interfaces': [], 'default_deploy_interface': 'direct', 'enabled_deploy_interfaces': ['ansible', 'direct'], 'default_bios_interface': None, 'enabled_bios_interfaces': [], 'default_rescue_interface': None, 'enabled_rescue_interfaces': [], 'default_console_interface': None, 'enabled_console_interfaces': [], 'default_network_interface': None, 'enabled_network_interfaces': [], 'default_management_interface': None, 'enabled_management_interfaces': [], 'default_power_interface': None, 'enabled_power_interfaces': [], 'default_vendor_interface': None, 'enabled_vendor_interfaces': [], 'default_inspect_interface': None, 'enabled_inspect_interfaces': [], 'default_raid_interface': None, 'enabled_raid_interfaces': [], 'default_boot_interface': None, 'enabled_boot_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/properties {} DEBUG util.py:445: GET: /drivers/fake-hardware-type/properties {} 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_storage_interface': None, 'enabled_storage_interfaces': [], 'default_deploy_interface': 'direct', 'enabled_deploy_interfaces': ['ansible', 'direct'], 'default_bios_interface': None, 'enabled_bios_interfaces': [], 'default_rescue_interface': None, 'enabled_rescue_interfaces': [], 'default_console_interface': None, 'enabled_console_interfaces': [], 'default_network_interface': None, 'enabled_network_interfaces': [], 'default_management_interface': None, 'enabled_management_interfaces': [], 'default_power_interface': None, 'enabled_power_interfaces': [], 'default_vendor_interface': None, 'enabled_vendor_interfaces': [], 'default_inspect_interface': None, 'enabled_inspect_interfaces': [], 'default_raid_interface': None, 'enabled_raid_interfaces': [], 'default_boot_interface': None, 'enabled_boot_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_storage_interface': None, 'enabled_storage_interfaces': [], 'default_deploy_interface': None, 'enabled_deploy_interfaces': [], 'default_bios_interface': None, 'enabled_bios_interfaces': [], 'default_rescue_interface': None, 'enabled_rescue_interfaces': [], 'default_console_interface': None, 'enabled_console_interfaces': [], 'default_network_interface': None, 'enabled_network_interfaces': [], 'default_management_interface': None, 'enabled_management_interfaces': [], 'default_power_interface': None, 'enabled_power_interfaces': [], 'default_vendor_interface': None, 'enabled_vendor_interfaces': [], 'default_inspect_interface': None, 'enabled_inspect_interfaces': [], 'default_raid_interface': None, 'enabled_raid_interfaces': [], 'default_boot_interface': None, 'enabled_boot_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: 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-a41db3d1-512c-49bd-a8b9-6471f8f0c798 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.50 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Resource could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: POST: /v1/events {'events': [{'event': 'network.bind_port', 'port_id': '11111111-aaaa-bbbb-cccc-555555555555', 'mac_address': 'de:ad:ca:fe:ba:be', 'status': 'ACTIVE', 'device_id': '22222222-aaaa-bbbb-cccc-555555555555', 'binding:host_id': '22222222-aaaa-bbbb-cccc-555555555555', 'binding:vnic_type': 'baremetal'}, {'event': 'network.bind_port', 'port_id': '11111111-aaaa-bbbb-cccc-555555555555', 'mac_address': 'de:ad:ca:fe:ba:be', 'status': 'ACTIVE', 'device_id': '22222222-aaaa-bbbb-cccc-555555555555', 'binding:host_id': '22222222-aaaa-bbbb-cccc-555555555555', 'binding:vnic_type': 'baremetal'}, {'event': 'network.bind_port', 'port_id': '11111111-aaaa-bbbb-cccc-555555555555', 'mac_address': 'de:ad:ca:fe:ba:be', 'status': 'ACTIVE', 'device_id': '22222222-aaaa-bbbb-cccc-555555555555', 'binding:host_id': '22222222-aaaa-bbbb-cccc-555555555555', 'binding:vnic_type': 'baremetal'}]} DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_event.TestPost.test_multiple_events [0.029114s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_event.TestPost.test_network_bind_port_events [0.024338s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_event.TestPost.test_network_port_event_invalid_binding_host_id [0.019644s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_event.TestPost.test_network_port_event_invalid_binding_vnic_type [0.018705s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_event.TestPost.test_network_unknown_event_property [0.018533s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_event.TestPostRBAC.test_events_invalid_event [0.018365s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_event.TestPostRBAC.test_events_unsupported_api_version [0.018637s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_event.TestPostRBAC.test_network_port_event_invalid_binding_vnic_type [0.026411s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_event.TestPostRBAC.test_network_unknown_event_property [0.019321s] ... ok DEBUG util.py:445: GOT:{'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'created_at': '2024-05-14T11:54:04.956048+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': '2024-05-14T11:54:04.956048+00:00', 'updated_at': None, 'automated_clean': None, 'bios_interface': None, 'boot_interface': None, 'clean_step': {}, 'conductor_group': '', 'console_enabled': False, 'console_interface': None, 'deploy_interface': None, 'deploy_step': {}, 'driver': 'fake-hardware', 'driver_info': {'foo': 'bar', 'fake_password': '******'}, 'driver_internal_info': {'private_state': 'secret value'}, 'extra': {}, 'fault': None, 'inspection_finished_at': None, 'inspection_started_at': None, 'inspect_interface': None, 'instance_info': {'configdrive': '******', 'image_url': '******', 'foo': 'bar'}, 'instance_uuid': None, 'last_error': None, 'maintenance': False, 'maintenance_reason': None, 'management_interface': None, 'name': None, 'network_interface': None, 'power_interface': None, 'power_state': None, 'properties': {'cpu_arch': 'x86_64', 'cpus': '8', 'local_gb': '10', 'memory_mb': '4096'}, 'provision_state': 'available', 'provision_updated_at': None, 'raid_config': {}, 'raid_interface': None, 'rescue_interface': None, 'reservation': None, 'resource_class': None, 'storage_interface': None, 'target_power_state': None, 'target_provision_state': None, 'target_raid_config': {}, 'traits': [], 'vendor_interface': None, 'links': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'rel': 'bookmark'}], 'chassis_uuid': None, 'ports': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports', 'rel': 'bookmark'}], 'states': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states', 'rel': 'bookmark'}], 'portgroups': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups', 'rel': 'bookmark'}], 'volume': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume', 'rel': 'bookmark'}]} DEBUG util.py:445: GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 {} DEBUG util.py:445: GOT:{'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'created_at': '2024-05-14T11:54:04.991622+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: {1} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_node_boot_mode_hidden_in_lower_version [0.035691s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_node_boot_mode_null_field [0.035117s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_node_by_instance_uuid_wrong_uuid [0.032149s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_node.TestAttachDetachVif.test_vif_attach_conductor_unavailable [0.024373s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_add_root_non_existent [0.135184s] ... 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-5f6d0786-2d57-4bec-b9c7-2b91f48e4435 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Schema error for evts: ['status', 'SHOULD', 'BE', 'TEXT'] is not of type 'string' Failed validating 'type' in schema['properties']['status']\", \"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-3d3373bf-c66a-412c-bf62-16f9701844f1 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: POST: /v1/events {'events': [{'event': 'network.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-60f0324b-94c5-42a9-b9f8-91c0b6d118bf DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: POST: /v1/events {'events': [{'event': 'network.bind_port', 'port_id': '11111111-aaaa-bbbb-cccc-555555555555', 'mac_address': 'de:ad:ca:fe:ba:be', 'status': 'ACTIVE', 'device_id': '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-0b85f099-c047-4f54-a85d-acc1257446d5 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Expected UUID for device_id: DEVICE_ID_SHOULD_BE_UUID\", \"debuginfo\": null}"} DEBUG util.py:445: POST: /v1/events {'events': [{'event': 'network.bind_port', 'port_id': '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-cd1aec74-dc07-4202-8325-696be7f8056d DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Expected UUID for port_id: PORT_ID_SHOULD_BE_UUID\", \"debuginfo\": null}"} DEBUG util.py:445: POST: /v1/events {'events': [{'event': 'network.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-1a16a4bd-c483-4057-affb-6177db917e39 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: POST: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/vifs {'id': '44e04538-1a85-4a0c-bc21-7786c30588ea', '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-39173e4f-3060-4a82-b1ad-055b763e48a0 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.28 DEBUG util.py:445: DELETE: /v1/nodes/node-39/vifs/0fa32742-1564-4e8f-aae7-f381adf55581 DEBUG util.py:445: GOT:Response: 204 No Content DEBUG util.py:445: Openstack-Request-Id: req-15051baa-5e49-4c14-9918-f66bac3bfcd6 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.28 DEBUG util.py:445: GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/bios?detail=True {} DEBUG util.py:445: GOT:Response: 400 Bad Request DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-d94badee-3bf9-4130-ad9c-b2a57895f32e DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.73 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Invalid query parameter ?detail=True received.\", \"debuginfo\": null}"} DEBUG util.py:445: GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/bios?detail=True {} DEBUG util.py:445: GOT:{'bios': [{'created_at': '2024-05-14T11:54:04.454791+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/maintenance DEBUG util.py:445: GOT:Response: 202 Accepted DEBUG util.py:445: Openstack-Request-Id: req-3e9e427a-4f6a-40e2-8fd5-70d29dfdecac DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.1 DEBUG util.py:445: DELETE: /v1/nodes/foo DEBUG util.py:445: GOT:Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-b970c2e2-e724-42ee-965a-557218036396 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.5 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node foo could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: DELETE: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume/connectors/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 DEBUG util.py:445: GOT:Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-0fc61edf-63d3-4dc9-913e-f64e6719afd2 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Operation not permitted.\", \"debuginfo\": null}"} DEBUG util.py:445: 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-dbbfdaaa-ab08-4c21-b299-e739fbd585ad DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Operation not permitted.\", \"debuginfo\": null}"} DEBUG util.py:445: GET: /v1/nodes?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-22d04a4e-e5c1-4984-88ac-24a909be2325 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.1 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Invalid associated: Unrecognized value 'blah', acceptable values are: '0', '1', 'f', 'false', 'n', 'no', 'off', 'on', 't', 'true', 'y', 'yes'\", \"debuginfo\": null}"} DEBUG util.py:445: GET: /v1/nodes?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-0d6c52d3-43d7-4efe-8b04-92d6dac16dcd DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Can not specify ?detail=True and fields in the same request.\", \"debuginfo\": null}"} DEBUG util.py:445: GET: /v1/nodes?detail=True {} DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_detail_using_query_old_version [0.052600s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_node.TestAttachDetachVif.test_vif_detach_node_not_found [0.035146s] ... ok DEBUG util.py:445: GOT:{'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'created_at': '2024-05-14T11:54:05.021727+00:00', 'updated_at': None, 'automated_clean': None, 'bios_interface': None, 'boot_interface': None, 'clean_step': {}, 'conductor_group': '', 'console_enabled': False, 'console_interface': None, 'deploy_interface': None, 'deploy_step': {}, 'description': None, 'driver': 'fake-hardware', 'driver_info': {'foo': 'bar', 'fake_password': '******'}, 'driver_internal_info': {'private_state': 'secret value'}, 'extra': {}, 'fault': None, 'inspection_finished_at': None, 'inspection_started_at': None, 'inspect_interface': None, 'instance_info': {'configdrive': '******', 'image_url': '******', 'foo': 'bar'}, 'instance_uuid': None, 'last_error': None, 'lessee': None, 'maintenance': False, 'maintenance_reason': None, 'management_interface': None, 'name': None, 'network_data': {}, 'network_interface': None, 'owner': None, 'power_interface': None, 'power_state': None, 'properties': {'cpu_arch': 'x86_64', 'cpus': '8', 'local_gb': '10', 'memory_mb': '4096'}, 'protected': False, 'protected_reason': None, 'provision_state': 'available', 'provision_updated_at': None, 'raid_config': {}, 'raid_interface': None, 'rescue_interface': None, 'reservation': None, 'resource_class': None, 'retired': False, 'retired_reason': None, 'storage_interface': None, 'target_power_state': None, 'target_provision_state': None, 'target_raid_config': {}, 'traits': [], 'vendor_interface': None, 'links': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'rel': 'bookmark'}], 'conductor': 'fake.conductor', 'allocation_uuid': None, 'chassis_uuid': None, 'ports': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports', 'rel': 'bookmark'}], 'states': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states', 'rel': 'bookmark'}], 'portgroups': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups', 'rel': 'bookmark'}], 'volume': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume', 'rel': 'bookmark'}]} DEBUG util.py:445: GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 {} DEBUG util.py:445: GOT:{'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'created_at': '2024-05-14T11:54:05.021727+00:00', 'updated_at': None, 'automated_clean': None, 'bios_interface': None, 'boot_interface': None, 'boot_mode': None, 'clean_step': {}, 'conductor_group': '', 'console_enabled': False, 'console_interface': None, 'deploy_interface': None, 'deploy_step': {}, 'description': None, 'driver': 'fake-hardware', 'driver_info': {'foo': 'bar', 'fake_password': '******'}, 'driver_internal_info': {'private_state': 'secret value'}, 'extra': {}, 'fault': None, 'inspection_finished_at': None, 'inspection_started_at': None, 'inspect_interface': None, 'instance_info': {'configdrive': '******', 'image_url': '******', 'foo': 'bar'}, 'instance_uuid': None, 'last_error': None, 'lessee': None, 'maintenance': False, 'maintenance_reason': None, 'management_interface': None, 'name': None, 'network_data': {}, 'network_interface': None, 'owner': None, 'power_interface': None, 'power_state': None, 'properties': {'cpu_arch': 'x86_64', 'cpus': '8', 'local_gb': '10', 'memory_mb': '4096'}, 'protected': False, 'protected_reason': None, 'provision_state': 'available', 'provision_updated_at': None, 'raid_config': {}, 'raid_interface': None, 'rescue_interface': None, 'reservation': None, 'resource_class': None, 'retired': False, 'retired_reason': None, 'secure_boot': None, 'storage_interface': None, 'target_power_state': None, 'target_provision_state': None, 'target_raid_config': {}, 'traits': [], 'vendor_interface': None, 'links': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'rel': 'bookmark'}], 'conductor': 'fake.conductor', 'allocation_uuid': None, 'chassis_uuid': None, 'ports': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports', 'rel': 'bookmark'}], 'states': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states', 'rel': 'bookmark'}], 'portgroups': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups', 'rel': 'bookmark'}], 'volume': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume', 'rel': 'bookmark'}]} DEBUG util.py:445: GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 {} DEBUG util.py:445: GOT:{'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'created_at': '2024-05-14T11:54:05.057455+00:00', 'updated_at': None, 'automated_clean': None, 'bios_interface': None, 'boot_interface': None, 'boot_mode': None, 'clean_step': {}, 'conductor_group': '', 'console_enabled': False, 'console_interface': None, 'deploy_interface': None, 'deploy_step': {}, 'description': None, 'driver': 'fake-hardware', 'driver_info': {'foo': 'bar', 'fake_password': '******'}, 'driver_internal_info': {'private_state': 'secret value'}, 'extra': {}, 'fault': None, 'inspection_finished_at': None, 'inspection_started_at': None, 'inspect_interface': None, 'instance_info': {'configdrive': '******', 'image_url': '******', 'foo': 'bar'}, 'instance_uuid': None, 'last_error': None, 'lessee': None, 'maintenance': False, 'maintenance_reason': None, 'management_interface': None, 'name': None, 'network_data': {}, 'network_interface': None, 'owner': None, 'power_interface': None, 'power_state': None, 'properties': {'cpu_arch': 'x86_64', 'cpus': '8', 'local_gb': '10', 'memory_mb': '4096'}, 'protected': False, 'protected_reason': None, 'provision_state': 'available', 'provision_updated_at': None, 'raid_config': {}, 'raid_interface': None, 'rescue_interface': None, 'reservation': None, 'resource_class': None, 'retired': False, 'retired_reason': None, 'secure_boot': None, 'storage_interface': None, 'target_power_state': None, 'target_provision_state': None, 'target_raid_config': {}, 'traits': [], 'vendor_interface': None, 'links': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'rel': 'bookmark'}], 'conductor': 'fake.conductor', 'allocation_uuid': None, 'chassis_uuid': None, 'ports': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports', 'rel': 'bookmark'}], 'states': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states', 'rel': 'bookmark'}], 'portgroups': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups', 'rel': 'bookmark'}], 'volume': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume', 'rel': 'bookmark'}]} DEBUG util.py:445: GET: /v1/nodes?instance_uuid=6704c92d-6297-4fa6-b2d8-a7cc6716290d {} DEBUG util.py:445: GOT:{'nodes': []} 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_conductor_group_hidden_in_lower_version [0.045389s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_detail_with_association_filter [0.138161s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_node.TestAttachDetachVif.test_vif_list [0.032040s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_node.TestAttachDetachVif.test_vif_subcontroller_old_version [0.022788s] ... ok DEBUG util.py:445: GOT:{'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'created_at': '2024-05-14T11:54:05.132887+00:00', 'updated_at': None, 'bios_interface': None, 'boot_interface': None, 'clean_step': {}, 'console_enabled': False, 'console_interface': None, 'deploy_interface': None, 'deploy_step': {}, 'driver': 'fake-hardware', 'driver_info': {'foo': 'bar', 'fake_password': '******'}, 'driver_internal_info': {'private_state': 'secret value'}, 'extra': {}, 'fault': None, 'inspection_finished_at': None, 'inspection_started_at': None, 'inspect_interface': None, 'instance_info': {'configdrive': '******', 'image_url': '******', 'foo': 'bar'}, 'instance_uuid': None, 'last_error': None, 'maintenance': False, 'maintenance_reason': None, 'management_interface': None, 'name': None, 'network_interface': None, 'power_interface': None, 'power_state': None, 'properties': {'cpu_arch': 'x86_64', 'cpus': '8', 'local_gb': '10', 'memory_mb': '4096'}, 'provision_state': 'available', 'provision_updated_at': None, 'raid_config': {}, 'raid_interface': None, 'rescue_interface': None, 'reservation': None, 'resource_class': None, 'storage_interface': None, 'target_power_state': None, 'target_provision_state': None, 'target_raid_config': {}, 'traits': [], 'vendor_interface': None, 'links': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'rel': 'bookmark'}], 'chassis_uuid': None, 'ports': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports', 'rel': 'bookmark'}], 'states': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states', 'rel': 'bookmark'}], 'portgroups': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups', 'rel': 'bookmark'}], 'volume': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume', 'rel': 'bookmark'}]} DEBUG util.py:445: GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 {} DEBUG util.py:445: GOT:{'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'created_at': '2024-05-14T11:54:05.132887+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': '2024-05-14T11:54:05.185710+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: {1} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_node_conductor_hidden_in_lower_version [0.051453s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_node_description_null_field [0.037496s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_node.TestBIOS.test_get_all_bios_detail_false [0.035449s] ... ok DEBUG util.py:445: GOT:{'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'created_at': '2024-05-14T11:54:05.185710+00:00', 'updated_at': None, 'automated_clean': None, 'bios_interface': None, 'boot_interface': None, 'clean_step': {}, 'conductor_group': '', 'console_enabled': False, 'console_interface': None, 'deploy_interface': None, 'deploy_step': {}, 'driver': 'fake-hardware', 'driver_info': {'foo': 'bar', 'fake_password': '******'}, 'driver_internal_info': {'private_state': 'secret value'}, 'extra': {}, 'fault': None, 'inspection_finished_at': None, 'inspection_started_at': None, 'inspect_interface': None, 'instance_info': {'configdrive': '******', 'image_url': '******', 'foo': 'bar'}, 'instance_uuid': None, 'last_error': None, 'maintenance': False, 'maintenance_reason': None, 'management_interface': None, 'name': None, 'network_interface': None, 'power_interface': None, 'power_state': None, 'properties': {'cpu_arch': 'x86_64', 'cpus': '8', 'local_gb': '10', 'memory_mb': '4096'}, 'protected': False, 'protected_reason': None, 'provision_state': 'available', 'provision_updated_at': None, 'raid_config': {}, 'raid_interface': None, 'rescue_interface': None, 'reservation': None, 'resource_class': None, 'storage_interface': None, 'target_power_state': None, 'target_provision_state': None, 'target_raid_config': {}, 'traits': [], 'vendor_interface': None, 'links': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'rel': 'bookmark'}], 'conductor': 'fake.conductor', 'chassis_uuid': None, 'ports': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports', 'rel': 'bookmark'}], 'states': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states', 'rel': 'bookmark'}], 'portgroups': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups', 'rel': 'bookmark'}], 'volume': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume', 'rel': 'bookmark'}]} DEBUG util.py:445: GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 {} DEBUG util.py:445: GOT:{'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'created_at': '2024-05-14T11:54:05.229458+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': '2024-05-14T11:54:05.262474+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: {1} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_node_inspect_wait_state_between_api_versions [0.040398s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_node_lessee_present [0.041356s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_add_state_in_deployfail [0.134824s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_node.TestBIOS.test_get_all_bios_fails_with_bad_version [0.035282s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_get_all_interface_fields [0.085196s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_get_automated_clean_fields [0.036418s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_node.TestBIOS.test_get_bios_detail_and_fields [0.037363s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_node.TestCheckCleanSteps.test__check_clean_steps_not_list [0.013718s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_node.TestCheckCleanSteps.test__check_clean_steps_step_key_invalid [0.014041s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_node.TestCheckCleanSteps.test__check_clean_steps_step_min_length_step_value [0.012240s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_get_boot_device_by_name [0.030547s] ... ok DEBUG util.py:445: GOT:{'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'created_at': '2024-05-14T11:54:05.262474+00:00', 'updated_at': None, 'boot_interface': None, 'clean_step': {}, 'console_enabled': False, 'console_interface': None, 'deploy_interface': None, 'driver': 'fake-hardware', 'driver_info': {'foo': 'bar', 'fake_password': '******'}, 'driver_internal_info': {'private_state': 'secret value'}, 'extra': {}, 'inspection_finished_at': None, 'inspection_started_at': None, 'inspect_interface': None, 'instance_info': {'configdrive': '******', 'image_url': '******', 'foo': 'bar'}, 'instance_uuid': None, 'last_error': None, 'maintenance': False, 'maintenance_reason': None, 'management_interface': None, 'name': None, 'network_interface': None, 'power_interface': None, 'power_state': None, 'properties': {'cpu_arch': 'x86_64', 'cpus': '8', 'local_gb': '10', 'memory_mb': '4096'}, 'provision_state': 'inspect wait', 'provision_updated_at': None, 'raid_config': {}, 'raid_interface': None, 'rescue_interface': None, 'reservation': None, 'resource_class': None, 'storage_interface': None, 'target_power_state': None, 'target_provision_state': None, 'target_raid_config': {}, 'traits': [], 'vendor_interface': None, 'links': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'rel': 'bookmark'}], 'chassis_uuid': None, 'ports': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports', 'rel': 'bookmark'}], 'states': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states', 'rel': 'bookmark'}], 'portgroups': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups', 'rel': 'bookmark'}], 'volume': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume', 'rel': 'bookmark'}]} DEBUG util.py:445: GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 {} DEBUG util.py:445: GOT:{'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'created_at': '2024-05-14T11:54:05.305026+00:00', 'updated_at': None, 'automated_clean': None, 'bios_interface': None, 'boot_interface': None, 'clean_step': {}, 'conductor_group': '', 'console_enabled': False, 'console_interface': None, 'deploy_interface': None, 'deploy_step': {}, 'description': None, 'driver': 'fake-hardware', 'driver_info': {'foo': 'bar', 'fake_password': '******'}, 'driver_internal_info': {'private_state': 'secret value'}, 'extra': {}, 'fault': None, 'inspection_finished_at': None, 'inspection_started_at': None, 'inspect_interface': None, 'instance_info': {'configdrive': '******', 'image_url': '******', 'foo': 'bar'}, 'instance_uuid': None, 'last_error': None, 'lessee': 'some-lucky-project', 'maintenance': False, 'maintenance_reason': None, 'management_interface': None, 'name': None, 'network_interface': None, 'owner': None, 'power_interface': None, 'power_state': None, 'properties': {'cpu_arch': 'x86_64', 'cpus': '8', 'local_gb': '10', 'memory_mb': '4096'}, 'protected': False, 'protected_reason': None, 'provision_state': 'available', 'provision_updated_at': None, 'raid_config': {}, 'raid_interface': None, 'rescue_interface': None, 'reservation': None, 'resource_class': None, 'retired': False, 'retired_reason': None, 'storage_interface': None, 'target_power_state': None, 'target_provision_state': None, 'target_raid_config': {}, 'traits': [], 'vendor_interface': None, 'links': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'rel': 'bookmark'}], 'conductor': 'fake.conductor', 'allocation_uuid': None, 'chassis_uuid': None, 'ports': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports', 'rel': 'bookmark'}], 'states': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states', 'rel': 'bookmark'}], 'portgroups': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups', 'rel': 'bookmark'}], 'volume': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume', 'rel': 'bookmark'}]} DEBUG util.py:445: GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 {} DEBUG util.py:445: GOT:{'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'created_at': '2024-05-14T11:54:05.364899+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: {1} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_node_network_data_hidden_in_lower_version [0.070555s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_patch_allocation_forbidden [0.084911s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_get_collection_fields_for_nova [0.047804s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_node_owner_hidden_in_lower_version [0.077879s] ... ok DEBUG util.py:445: GOT:Response: 204 No Content DEBUG util.py:445: Openstack-Request-Id: req-e63087d7-73d5-4d19-a1a5-4aa4d8627d69 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: POST: /v1/events {'events': [{'event': 'network.bind_port', 'port_id': '11111111-aaaa-bbbb-cccc-555555555555', 'mac_address': 'de:ad:ca:fe:ba:be', 'status': 'ACTIVE', 'device_id': '22222222-aaaa-bbbb-cccc-555555555555', 'binding:host_id': '22222222-aaaa-bbbb-cccc-555555555555', 'binding:vnic_type': 'baremetal'}]} DEBUG util.py:445: GOT:Response: 204 No Content DEBUG util.py:445: Openstack-Request-Id: req-d9698c9b-a36b-406d-b9e3-ad132ff9dbf2 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: POST: /v1/events {'events': [{'event': 'network.bind_port', 'port_id': '11111111-aaaa-bbbb-cccc-555555555555', 'mac_address': 'de:ad:ca:fe:ba:be', 'status': 'ACTIVE', 'device_id': '22222222-aaaa-bbbb-cccc-555555555555', 'binding:host_id': ['binding:host_id', 'IS', 'NODE_UUID', 'IN', 'IRONIC'], 'binding:vnic_type': 'baremetal'}]} DEBUG util.py:445: GOT:Response: 400 Bad Request DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-d0ef5ece-c7ef-42e0-b33d-8fbba0db5188 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Schema error for evts: ['binding:host_id', 'IS', 'NODE_UUID', 'IN', 'IRONIC'] is not of type 'string', 'null' Failed validating 'type' in schema['properties']['binding:host_id']\", \"debuginfo\": null}"} DEBUG util.py:445: POST: /v1/events {'events': [{'event': 'network.bind_port', 'port_id': '11111111-aaaa-bbbb-cccc-555555555555', 'mac_address': 'de:ad:ca:fe:ba:be', 'status': 'ACTIVE', 'device_id': '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-80d09356-0bd4-4487-8181-9e11b1ebb257 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Schema error for evts: ['binding:vnic_type', 'SHOULD', 'BE', 'TEXT'] is not of type 'string', 'null' Failed validating 'type' in schema['properties']['binding:vnic_type']\", \"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-238fbbe6-8f5c-49f1-ab86-5b2447e7c063 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Schema error for evts: 'port_id' is a required property Failed validating 'required' in schema\", \"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-4745cdd2-df93-4bb3-96af-70108db95aeb DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Schema error for evts: 'invalid.event' is not one of ['network.bind_port', 'network.unbind_port', 'network.delete_port'] Failed validating 'enum' in schema['properties']['events']['items']['properties']['event']\", \"debuginfo\": null}"} DEBUG util.py:445: POST: /v1/events {'events': [{'event': 'network.bind_port', 'port_id': '11111111-aaaa-bbbb-cccc-555555555555', 'mac_address': 'de:ad:ca:fe:ba:be', 'status': 'ACTIVE', 'device_id': '22222222-aaaa-bbbb-cccc-555555555555', 'binding:host_id': '22222222-aaaa-bbbb-cccc-555555555555', 'binding:vnic_type': 'baremetal'}]} DEBUG util.py:445: GOT:Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-5d7d3068-6949-4652-8175-cb074fb0b8ca DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.50 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Resource could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: POST: /v1/events {'events': [{'event': 'network.bind_port', 'port_id': '11111111-aaaa-bbbb-cccc-555555555555', 'mac_address': 'de:ad:ca:fe:ba:be', 'status': 'ACTIVE', 'device_id': '22222222-aaaa-bbbb-cccc-555555555555', 'binding:host_id': '22222222-aaaa-bbbb-cccc-555555555555', 'binding:vnic_type': ['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-533c28aa-8e93-4901-9839-9fa0ea231026 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Schema error for evts: ['binding:vnic_type', 'SHOULD', 'BE', 'TEXT'] is not of type 'string', 'null' Failed validating 'type' in schema['properties']['binding:vnic_type']\", \"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-f692d12f-d630-422e-9975-e441f5eff9cb DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Schema error for evts: 'port_id' is a required property Failed validating 'required' in schema\", \"debuginfo\": null}"} DEBUG util.py:445: POST: /v1/nodes/node-39/vifs {'id': '4f98c6d9-bc72-4f4d-9770-9e2615ac3632'} DEBUG util.py:445: GOT:Response: 400 Bad Request DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-4d3dbc64-5361-43c4-9936-fbf3523a8475 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.28 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"boom\", \"debuginfo\": null}"} DEBUG util.py:445: DELETE: /v1/nodes/doesntexist/vifs/e5db71d3-9b23-4363-8b9a-8f9e94048cca DEBUG util.py:445: GOT:Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-e13eafe0-e13f-4d9e-af41-e6dc352c418f DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.28 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node doesntexist could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/vifs {} DEBUG util.py:445: GOT:{'vifs': []} DEBUG util.py:445: GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/vifs {} DEBUG util.py:445: GOT:Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: {"error_message": "{\"code\": 404, \"title\": \"Not Found\", \"description\": \"\"}"} DEBUG util.py:445: GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/bios?detail=False {} DEBUG util.py:445: GOT:{'bios': [{'created_at': '2024-05-14T11:54:05.281890+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-e1aba56b-63c1-4d59-aebe-2d1f4ba4cfec DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.74 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Invalid detail: Unrecognized value 'True?fields=name,read_only', acceptable values are: '0', '1', 'f', 'false', 'n', 'no', 'off', 'on', 't', 'true', 'y', 'yes'\", \"debuginfo\": null}"} DEBUG util.py:445: DELETE: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_node.TestDelete.test_delete_associated [0.029302s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_node.TestDelete.test_delete_node [0.026984s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_get_conductor_field [0.035841s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_node.TestDelete.test_delete_node_maintenance_mode_by_name [0.042957s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_node.TestDelete.test_delete_portgroup_subresource [0.038171s] ... ok DEBUG util.py:445: GOT:{'nodes': [{'uuid': '8c2d4d2d-0df6-4a81-b884-35dd9f76e62e', 'instance_uuid': None, 'maintenance': False, 'power_state': None, 'provision_state': 'available', 'name': None, 'links': [{'href': 'http://localhost/v1/nodes/8c2d4d2d-0df6-4a81-b884-35dd9f76e62e', 'rel': 'self'}, {'href': 'http://localhost/nodes/8c2d4d2d-0df6-4a81-b884-35dd9f76e62e', 'rel': 'bookmark'}]}, {'uuid': '66c847d4-f3cb-420a-8c11-85044ba724da', 'instance_uuid': None, 'maintenance': False, 'power_state': None, 'provision_state': 'available', 'name': None, 'links': [{'href': 'http://localhost/v1/nodes/66c847d4-f3cb-420a-8c11-85044ba724da', 'rel': 'self'}, {'href': 'http://localhost/nodes/66c847d4-f3cb-420a-8c11-85044ba724da', 'rel': 'bookmark'}]}, {'uuid': '4d150589-2012-4a80-b28c-c383536631ee', 'instance_uuid': None, 'maintenance': False, 'power_state': None, 'provision_state': 'available', 'name': None, 'links': [{'href': 'http://localhost/v1/nodes/4d150589-2012-4a80-b28c-c383536631ee', 'rel': 'self'}, {'href': 'http://localhost/nodes/4d150589-2012-4a80-b28c-c383536631ee', 'rel': 'bookmark'}]}]} DEBUG util.py:445: GET: /v1/nodes/validate?node=spam {} DEBUG util.py:445: GOT:{} 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-5738e6a3-b72b-4376-9b16-49eb283d8aba DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node eeeeeeee-cccc-aaaa-bbbb-cccccccccccc could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/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': 'a21d2967-46b8-4218-a03d-8f39b365b69b', 'created_at': '2024-05-14T11:54:04.678769+00:00', 'severity': None, 'event': 'meow', 'links': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/history/a21d2967-46b8-4218-a03d-8f39b365b69b', 'rel': 'self'}]}, {'uuid': '43322157-2283-41b6-a9fa-fda795f9056d', 'created_at': '2024-05-14T11:54:04.702395+00:00', 'severity': None, 'event': 'purr', 'links': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/history/43322157-2283-41b6-a9fa-fda795f9056d', 'rel': 'self'}]}, {'uuid': '11128852-b7f5-410d-aa1b-dac3ad13026b', 'created_at': '2024-05-14T11:54:04.703494+00:00', 'severity': None, 'event': 'grrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrr...', 'links': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/history/11128852-b7f5-410d-aa1b-dac3ad13026b', 'rel': 'self'}]}]} DEBUG util.py:445: GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/history/a60b12d9-3a54-4f98-ba8a-e5ad85a50182 {} DEBUG util.py:445: GOT:{'uuid': 'a60b12d9-3a54-4f98-ba8a-e5ad85a50182', 'created_at': '2024-05-14T11:54:04.763555+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/a60b12d9-3a54-4f98-ba8a-e5ad85a50182', 'rel': 'self'}]} DEBUG util.py:445: PATCH: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 [{'path': '/chassis_id', 'value': '1', 'op': 'add'}] DEBUG util.py:445: GOT:Response: 400 Bad Request DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-cafd3437-c0c6-425e-86a5-5fcc5161fddd DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.1 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Cannot patch /chassis_id. Only the following can be updated: automated_clean, bios_interface, boot_interface, chassis_uuid, conductor_group, console_interface, deploy_interface, description, driver, driver_info, extra, inspect_interface, instance_info, instance_uuid, lessee, maintenance, management_interface, name, network_data, network_interface, owner, power_interface, properties, protected, protected_reason, raid_interface, rescue_interface, resource_class, retired, retired_reason, storage_interface, vendor_interface\", \"debuginfo\": null}"} DEBUG util.py:445: PATCH: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 [{'path': '/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-94004364-ed29-4b0b-976a-0a10afe3ef40 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.1 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Cannot patch /foo. Only the following can be updated: automated_clean, bios_interface, boot_interface, chassis_uuid, conductor_group, console_interface, deploy_interface, description, driver, driver_info, extra, inspect_interface, instance_info, instance_uuid, lessee, maintenance, management_interface, name, network_data, network_interface, owner, power_interface, properties, protected, protected_reason, raid_interface, rescue_interface, resource_class, retired, retired_reason, storage_interface, vendor_interface\", \"debuginfo\": null}"} DEBUG util.py:445: PATCH: /v1/nodes/11f0530b-eaab-45bb-a1df-6e750bea0f9f [{'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-bb9fb830-1478-4edf-b641-2472e691977e DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.1 DEBUG util.py:445: {"uuid": "11f0530b-eaab-45bb-a1df-6e750bea0f9f", "created_at": "2024-05-14T11:54:05.267407+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/11f0530b-eaab-45bb-a1df-6e750bea0f9f", "rel": "self"}, {"href": "http://localhost/nodes/11f0530b-eaab-45bb-a1df-6e750bea0f9f", "rel": "bookmark"}], "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/11f0530b-eaab-45bb-a1df-6e750bea0f9f/ports", "rel": "self"}, {"href": "http://localhost/nodes/11f0530b-eaab-45bb-a1df-6e750bea0f9f/ports", "rel": "bookmark"}]} DEBUG util.py:445: PATCH: /v1/nodes/2773fa70-aef5-4093-8143-419aa041ede4 [{'path': '/allocation_uuid', 'op': 'replace', 'value': '78d26a13-b50d-471d-9dab-8654a60c9d8b'}] DEBUG util.py:445: GOT:Response: 400 Bad Request DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-609673f9-81ef-4e97-a78a-15cb5d0083bb DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Cannot patch /allocation_uuid. Only the following can be updated: automated_clean, bios_interface, boot_interface, chassis_uuid, conductor_group, console_interface, deploy_interface, description, driver, driver_info, extra, inspect_interface, instance_info, instance_uuid, lessee, maintenance, management_interface, name, network_data, network_interface, owner, power_interface, properties, protected, protected_reason, raid_interface, rescue_interface, resource_class, retired, retired_reason, storage_interface, vendor_interface\", \"debuginfo\": null}"} DEBUG util.py:445: PATCH: /v1/nodes/c575cc98-8b23-4d67-9cc2-43f552d52cb6 [{'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-54fbd40e-688c-42ad-b9e1-9b6c278c54e0 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.5 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"this-is-my-node\", \"debuginfo\": null}"} DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_patch_duplicate_name [0.110136s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_node.TestDelete.test_delete_volume_connectors_subresource_no_connector_id [0.025507s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_collection_links_default_limit [0.048665s] ... ok DEBUG util.py:445: GOT:{'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'created_at': '2024-05-14T11:54:05.364899+00:00', 'updated_at': None, 'automated_clean': None, 'bios_interface': None, 'boot_interface': None, 'clean_step': {}, 'conductor_group': '', 'console_enabled': False, 'console_interface': None, 'deploy_interface': None, 'deploy_step': {}, 'description': None, 'driver': 'fake-hardware', 'driver_info': {'foo': 'bar', 'fake_password': '******'}, 'driver_internal_info': {'private_state': 'secret value'}, 'extra': {}, 'fault': None, 'inspection_finished_at': None, 'inspection_started_at': None, 'inspect_interface': None, 'instance_info': {'configdrive': '******', 'image_url': '******', 'foo': 'bar'}, 'instance_uuid': None, 'last_error': None, 'lessee': None, 'maintenance': False, 'maintenance_reason': None, 'management_interface': None, 'name': None, 'network_data': {}, 'network_interface': None, 'owner': None, 'power_interface': None, 'power_state': None, 'properties': {'cpu_arch': 'x86_64', 'cpus': '8', 'local_gb': '10', 'memory_mb': '4096'}, 'protected': False, 'protected_reason': None, 'provision_state': 'available', 'provision_updated_at': None, 'raid_config': {}, 'raid_interface': None, 'rescue_interface': None, 'reservation': None, 'resource_class': None, 'retired': False, 'retired_reason': None, 'storage_interface': None, 'target_power_state': None, 'target_provision_state': None, 'target_raid_config': {}, 'traits': [], 'vendor_interface': None, 'links': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'rel': 'bookmark'}], 'conductor': 'fake.conductor', 'allocation_uuid': None, 'chassis_uuid': None, 'ports': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports', 'rel': 'bookmark'}], 'states': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states', 'rel': 'bookmark'}], 'portgroups': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups', 'rel': 'bookmark'}], 'volume': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume', 'rel': 'bookmark'}]} DEBUG util.py:445: GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 {} DEBUG util.py:445: GOT:{'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'created_at': '2024-05-14T11:54:05.427011+00:00', 'updated_at': None, 'automated_clean': None, 'bios_interface': None, 'boot_interface': None, 'clean_step': {}, 'conductor_group': '', 'console_enabled': False, 'console_interface': None, 'deploy_interface': None, 'deploy_step': {}, 'driver': 'fake-hardware', 'driver_info': {'foo': 'bar', 'fake_password': '******'}, 'driver_internal_info': {'private_state': 'secret value'}, 'extra': {}, 'fault': None, 'inspection_finished_at': None, 'inspection_started_at': None, 'inspect_interface': None, 'instance_info': {'configdrive': '******', 'image_url': '******', 'foo': 'bar'}, 'instance_uuid': None, 'last_error': None, 'maintenance': False, 'maintenance_reason': None, 'management_interface': None, 'name': None, 'network_interface': None, 'power_interface': None, 'power_state': None, 'properties': {'cpu_arch': 'x86_64', 'cpus': '8', 'local_gb': '10', 'memory_mb': '4096'}, 'protected': False, 'protected_reason': None, 'provision_state': 'available', 'provision_updated_at': None, 'raid_config': {}, 'raid_interface': None, 'rescue_interface': None, 'reservation': None, 'resource_class': None, 'storage_interface': None, 'target_power_state': None, 'target_provision_state': None, 'target_raid_config': {}, 'traits': [], 'vendor_interface': None, 'links': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'rel': 'bookmark'}], 'conductor': 'fake.conductor', 'chassis_uuid': None, 'ports': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports', 'rel': 'bookmark'}], 'states': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states', 'rel': 'bookmark'}], 'portgroups': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups', 'rel': 'bookmark'}], 'volume': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume', 'rel': 'bookmark'}]} DEBUG util.py:445: GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 {} DEBUG util.py:445: GOT:{'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'created_at': '2024-05-14T11:54:05.427011+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/a2e7fb54-63dc-463e-9de3-5292178cba5d {} DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_node_protected [0.084916s] ... 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-4e734cb8-9089-428e-af15-e47e8f024c8d DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.1 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Invalid query parameter ?detail=True received.\", \"debuginfo\": null}"} DEBUG util.py:445: GET: /v1/nodes/detail?associated=true {} DEBUG util.py:445: GOT:{'nodes': [{'uuid': 'b4e7b3ec-0968-45e6-b065-703dab2de0d8', 'created_at': '2024-05-14T11:54:05.226192+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': '8172024d-52ff-46a6-a26e-85dabcf3a599', '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/b4e7b3ec-0968-45e6-b065-703dab2de0d8', 'rel': 'self'}, {'href': 'http://localhost/nodes/b4e7b3ec-0968-45e6-b065-703dab2de0d8', 'rel': 'bookmark'}], 'chassis_uuid': None, 'ports': [{'href': 'http://localhost/v1/nodes/b4e7b3ec-0968-45e6-b065-703dab2de0d8/ports', 'rel': 'self'}, {'href': 'http://localhost/nodes/b4e7b3ec-0968-45e6-b065-703dab2de0d8/ports', 'rel': 'bookmark'}]}, {'uuid': '6d1eddd5-dfd9-4d2d-ba2a-734513213aaf', 'created_at': '2024-05-14T11:54:05.228728+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': '1627e69a-623c-40b7-bda6-a731162d3bd6', '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/6d1eddd5-dfd9-4d2d-ba2a-734513213aaf', 'rel': 'self'}, {'href': 'http://localhost/nodes/6d1eddd5-dfd9-4d2d-ba2a-734513213aaf', 'rel': 'bookmark'}], 'chassis_uuid': None, 'ports': [{'href': 'http://localhost/v1/nodes/6d1eddd5-dfd9-4d2d-ba2a-734513213aaf/ports', 'rel': 'self'}, {'href': 'http://localhost/nodes/6d1eddd5-dfd9-4d2d-ba2a-734513213aaf/ports', 'rel': 'bookmark'}]}, {'uuid': 'e67bc704-9670-4ffe-bcec-932d606508e5', 'created_at': '2024-05-14T11:54:05.234724+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': '017228e0-084f-4e05-98a5-3973bef33e1a', '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/e67bc704-9670-4ffe-bcec-932d606508e5', 'rel': 'self'}, {'href': 'http://localhost/nodes/e67bc704-9670-4ffe-bcec-932d606508e5', 'rel': 'bookmark'}], 'chassis_uuid': None, 'ports': [{'href': 'http://localhost/v1/nodes/e67bc704-9670-4ffe-bcec-932d606508e5/ports', 'rel': 'self'}, {'href': 'http://localhost/nodes/e67bc704-9670-4ffe-bcec-932d606508e5/ports', 'rel': 'bookmark'}]}, {'uuid': '3017dd75-59a5-4f70-a2a0-5bb56e0c72de', 'created_at': '2024-05-14T11:54:05.237256+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': '372667c7-fdba-4783-b5f1-a6efff7885ff', '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/3017dd75-59a5-4f70-a2a0-5bb56e0c72de', 'rel': 'self'}, {'href': 'http://localhost/nodes/3017dd75-59a5-4f70-a2a0-5bb56e0c72de', 'rel': 'bookmark'}], 'chassis_uuid': None, 'ports': [{'href': 'http://localhost/v1/nodes/3017dd75-59a5-4f70-a2a0-5bb56e0c72de/ports', 'rel': 'self'}, {'href': 'http://localhost/nodes/3017dd75-59a5-4f70-a2a0-5bb56e0c72de/ports', 'rel': 'bookmark'}]}]} DEBUG util.py:445: GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123?fields=boot_interface,console_interface,deploy_interface,inspect_interface,management_interface,power_interface,raid_interface,vendor_interface {} DEBUG util.py:445: GOT:{'boot_interface': None, 'console_interface': None, 'deploy_interface': None, 'inspect_interface': None, 'management_interface': None, 'power_interface': None, 'raid_interface': None, 'vendor_interface': None, 'links': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'rel': 'bookmark'}]} DEBUG util.py:445: GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123?fields=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/spam/management/boot_device {} DEBUG util.py:445: GOT:{'boot_device': 'pxe', 'persistent': True} 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': '46c4bdc5-3243-4ea2-8235-be839180105b', 'power_state': None, 'target_power_state': None, 'provision_state': 'available', 'target_provision_state': None, 'last_error': None, 'maintenance': False, 'instance_uuid': '580212b2-f807-4208-8e00-0858bf1dcde3', 'traits': ['CUSTOM_RAID5', 'CUSTOM_TRAIT1'], 'resource_class': None, 'links': [{'href': 'http://localhost/v1/nodes/46c4bdc5-3243-4ea2-8235-be839180105b', 'rel': 'self'}, {'href': 'http://localhost/nodes/46c4bdc5-3243-4ea2-8235-be839180105b', 'rel': 'bookmark'}]}, {'uuid': '6fb9e58e-0960-4853-aafe-d501adf08b27', 'power_state': None, 'target_power_state': None, 'provision_state': 'available', 'target_provision_state': None, 'last_error': None, 'maintenance': False, 'instance_uuid': '268c9be4-fba5-4695-bca2-65cd88f17eee', 'traits': ['CUSTOM_RAID5', 'CUSTOM_TRAIT1'], 'resource_class': None, 'links': [{'href': 'http://localhost/v1/nodes/6fb9e58e-0960-4853-aafe-d501adf08b27', 'rel': 'self'}, {'href': 'http://localhost/nodes/6fb9e58e-0960-4853-aafe-d501adf08b27', 'rel': 'bookmark'}]}, {'uuid': '97cae2ef-4e90-461b-a552-b0ba9468476d', 'power_state': None, 'target_power_state': None, 'provision_state': 'available', 'target_provision_state': None, 'last_error': None, 'maintenance': False, 'instance_uuid': 'ada0fe73-42a2-4fe8-9717-b06d61a45e15', 'traits': ['CUSTOM_RAID5', 'CUSTOM_TRAIT1'], 'resource_class': None, 'links': [{'href': 'http://localhost/v1/nodes/97cae2ef-4e90-461b-a552-b0ba9468476d', 'rel': 'self'}, {'href': 'http://localhost/nodes/97cae2ef-4e90-461b-a552-b0ba9468476d', '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: {0} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_get_conductor_group_fields [0.053503s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_get_console_information_by_name [0.049879s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_get_custom_fields_invalid_api_version [0.030733s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_get_description_field [0.029929s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_collection_links_instance_uuid_param [0.041892s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_patch_policy_update_extra [0.153521s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_detail_against_single [0.028640s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_detail_instance_uuid_project_not_match [0.032313s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_get_indicator_state [0.048952s] ... ok DEBUG util.py:445: GOT:{'uuid': 'a2e7fb54-63dc-463e-9de3-5292178cba5d', 'created_at': '2024-05-14T11:54:05.524122+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/a2e7fb54-63dc-463e-9de3-5292178cba5d', 'rel': 'self'}, {'href': 'http://localhost/nodes/a2e7fb54-63dc-463e-9de3-5292178cba5d', 'rel': 'bookmark'}], 'chassis_uuid': None, 'ports': [{'href': 'http://localhost/v1/nodes/a2e7fb54-63dc-463e-9de3-5292178cba5d/ports', 'rel': 'self'}, {'href': 'http://localhost/nodes/a2e7fb54-63dc-463e-9de3-5292178cba5d/ports', 'rel': 'bookmark'}], 'states': [{'href': 'http://localhost/v1/nodes/a2e7fb54-63dc-463e-9de3-5292178cba5d/states', 'rel': 'self'}, {'href': 'http://localhost/nodes/a2e7fb54-63dc-463e-9de3-5292178cba5d/states', 'rel': 'bookmark'}], 'portgroups': [{'href': 'http://localhost/v1/nodes/a2e7fb54-63dc-463e-9de3-5292178cba5d/portgroups', 'rel': 'self'}, {'href': 'http://localhost/nodes/a2e7fb54-63dc-463e-9de3-5292178cba5d/portgroups', 'rel': 'bookmark'}], 'volume': [{'href': 'http://localhost/v1/nodes/a2e7fb54-63dc-463e-9de3-5292178cba5d/volume', 'rel': 'self'}, {'href': 'http://localhost/nodes/a2e7fb54-63dc-463e-9de3-5292178cba5d/volume', 'rel': 'bookmark'}]} DEBUG util.py:445: GET: /v1/nodes/a5f228f4-6b00-4d76-abca-78344fefb193 {} DEBUG util.py:445: GOT:{'uuid': 'a5f228f4-6b00-4d76-abca-78344fefb193', 'created_at': '2024-05-14T11:54:05.536035+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/a5f228f4-6b00-4d76-abca-78344fefb193', 'rel': 'self'}, {'href': 'http://localhost/nodes/a5f228f4-6b00-4d76-abca-78344fefb193', 'rel': 'bookmark'}], 'chassis_uuid': None, 'ports': [{'href': 'http://localhost/v1/nodes/a5f228f4-6b00-4d76-abca-78344fefb193/ports', 'rel': 'self'}, {'href': 'http://localhost/nodes/a5f228f4-6b00-4d76-abca-78344fefb193/ports', 'rel': 'bookmark'}], 'states': [{'href': 'http://localhost/v1/nodes/a5f228f4-6b00-4d76-abca-78344fefb193/states', 'rel': 'self'}, {'href': 'http://localhost/nodes/a5f228f4-6b00-4d76-abca-78344fefb193/states', 'rel': 'bookmark'}], 'portgroups': [{'href': 'http://localhost/v1/nodes/a5f228f4-6b00-4d76-abca-78344fefb193/portgroups', 'rel': 'self'}, {'href': 'http://localhost/nodes/a5f228f4-6b00-4d76-abca-78344fefb193/portgroups', 'rel': 'bookmark'}], 'volume': [{'href': 'http://localhost/v1/nodes/a5f228f4-6b00-4d76-abca-78344fefb193/volume', 'rel': 'self'}, {'href': 'http://localhost/nodes/a5f228f4-6b00-4d76-abca-78344fefb193/volume', 'rel': 'bookmark'}]} DEBUG util.py:445: GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 {} DEBUG util.py:445: GOT:{'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'created_at': '2024-05-14T11:54:05.601078+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: {1} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_node_protected_reason_hidden_in_lower_version [0.077719s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_node_secure_boot_hidden_in_lower_version [0.095423s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_get_nodes_by_conductor [0.045425s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_get_nodes_by_conductor_group_not_allowed [0.029309s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_patch_policy_update_instance_info [0.107741s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_get_nodes_by_driver [0.048641s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_get_nodes_by_fault_not_allowed [0.024160s] ... 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-56844968-7292-4573-b6e5-debf592d2a56 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.1 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 is associated with instance aaaaaaaa-1111-bbbb-2222-cccccccccccc.\", \"debuginfo\": null}"} DEBUG util.py:445: DELETE: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 DEBUG util.py:445: GOT:Response: 204 No Content DEBUG util.py:445: Openstack-Request-Id: req-9dde00e5-6c0a-4e62-a875-fba1ecbcc14b DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.1 DEBUG util.py:445: DELETE: /v1/nodes/foo/maintenance DEBUG util.py:445: GOT:Response: 202 Accepted DEBUG util.py:445: Openstack-Request-Id: req-069c8d12-5f0e-40e5-848c-abdd9eb126a0 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.5 DEBUG util.py:445: DELETE: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4 DEBUG util.py:445: GOT:Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-da7cebfb-7f72-4de8-b61b-8c5deba2979e DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.24 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Operation not permitted.\", \"debuginfo\": null}"} DEBUG util.py:445: DELETE: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume/connectors DEBUG util.py:445: GOT:Response: 400 Bad Request DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-d3cfaf50-53ea-42ca-bf83-cc3040867edf DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Missing mandatory parameter: connector_uuid\", \"debuginfo\": null}"} DEBUG util.py:445: GET: /v1/nodes {} DEBUG util.py:445: GOT:{'nodes': [{'uuid': '712c6ff5-7945-415b-85bc-b944c332c9d3', 'instance_uuid': None, 'maintenance': False, 'power_state': None, 'provision_state': None, 'links': [{'href': 'http://localhost/v1/nodes/712c6ff5-7945-415b-85bc-b944c332c9d3', 'rel': 'self'}, {'href': 'http://localhost/nodes/712c6ff5-7945-415b-85bc-b944c332c9d3', 'rel': 'bookmark'}]}, {'uuid': 'b58db829-836b-47cd-bf17-94079dc01762', 'instance_uuid': None, 'maintenance': False, 'power_state': None, 'provision_state': None, 'links': [{'href': 'http://localhost/v1/nodes/b58db829-836b-47cd-bf17-94079dc01762', 'rel': 'self'}, {'href': 'http://localhost/nodes/b58db829-836b-47cd-bf17-94079dc01762', 'rel': 'bookmark'}]}, {'uuid': '60bf6cfd-0302-4206-9789-e563b1986b03', 'instance_uuid': None, 'maintenance': False, 'power_state': None, 'provision_state': None, 'links': [{'href': 'http://localhost/v1/nodes/60bf6cfd-0302-4206-9789-e563b1986b03', 'rel': 'self'}, {'href': 'http://localhost/nodes/60bf6cfd-0302-4206-9789-e563b1986b03', '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=60bf6cfd-0302-4206-9789-e563b1986b03'} DEBUG util.py:445: GET: /v1/nodes?instance_uuid=f22d989c-be54-4288-9d69-65b13b667e0c {} DEBUG util.py:445: GOT:{'nodes': [{'uuid': '7cde9ffe-2942-46cf-92ef-2b1411124491', 'instance_uuid': 'f22d989c-be54-4288-9d69-65b13b667e0c', 'maintenance': False, 'power_state': None, 'provision_state': None, 'links': [{'href': 'http://localhost/v1/nodes/7cde9ffe-2942-46cf-92ef-2b1411124491', 'rel': 'self'}, {'href': 'http://localhost/nodes/7cde9ffe-2942-46cf-92ef-2b1411124491', '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-7c104d3e-372e-4a31-a7b8-08527b69205f DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.1 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Resource could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: GET: /v1/nodes/detail?instance_uuid=6eccd391-961c-4da5-b3c5-e2fa5cfbbd9d {} DEBUG util.py:445: GOT:{'nodes': []} DEBUG util.py:445: GET: /v1/nodes/detail {} DEBUG util.py:445: GOT:{'nodes': [{'uuid': 'd7ec027d-6985-4d82-900b-c0e38374f8a8', 'created_at': '2024-05-14T11:54:05.749404+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/d7ec027d-6985-4d82-900b-c0e38374f8a8', 'rel': 'self'}, {'href': 'http://localhost/nodes/d7ec027d-6985-4d82-900b-c0e38374f8a8', 'rel': 'bookmark'}], 'conductor': 'fake.conductor', 'allocation_uuid': None, 'chassis_uuid': None, 'ports': [{'href': 'http://localhost/v1/nodes/d7ec027d-6985-4d82-900b-c0e38374f8a8/ports', 'rel': 'self'}, {'href': 'http://localhost/nodes/d7ec027d-6985-4d82-900b-c0e38374f8a8/ports', 'rel': 'bookmark'}], 'states': [{'href': 'http://localhost/v1/nodes/d7ec027d-6985-4d82-900b-c0e38374f8a8/states', 'rel': 'self'}, {'href': 'http://localhost/nodes/d7ec027d-6985-4d82-900b-c0e38374f8a8/states', 'rel': 'bookmark'}], 'portgroups': [{'href': 'http://localhost/v1/nodes/d7ec027d-6985-4d82-900b-c0e38374f8a8/portgroups', 'rel': 'self'}, {'href': 'http://localhost/nodes/d7ec027d-6985-4d82-900b-c0e38374f8a8/portgroups', 'rel': 'bookmark'}], 'volume': [{'href': 'http://localhost/v1/nodes/d7ec027d-6985-4d82-900b-c0e38374f8a8/volume', 'rel': 'self'}, {'href': 'http://localhost/nodes/d7ec027d-6985-4d82-900b-c0e38374f8a8/volume', 'rel': 'bookmark'}]}, {'uuid': 'f67ddf8d-9703-4b01-9de7-0e606d2df92c', 'created_at': '2024-05-14T11:54:05.752216+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/f67ddf8d-9703-4b01-9de7-0e606d2df92c', 'rel': 'self'}, {'href': 'http://localhost/nodes/f67ddf8d-9703-4b01-9de7-0e606d2df92c', 'rel': 'bookmark'}], 'conductor': 'fake.conductor', 'allocation_uuid': None, 'chassis_uuid': None, 'ports': [{'href': 'http://localhost/v1/nodes/f67ddf8d-9703-4b01-9de7-0e606d2df92c/ports', 'rel': 'self'}, {'href': 'http://localhost/nodes/f67ddf8d-9703-4b01-9de7-0e606d2df92c/ports', 'rel': 'bookmark'}], 'states': [{'href': 'http://localhost/v1/nodes/f67ddf8d-9703-4b01-9de7-0e606d2df92c/states', 'rel': 'self'}, {'href': 'http://localhost/nodes/f67ddf8d-9703-4b01-9de7-0e606d2df92c/states', 'rel': 'bookmark'}], 'portgroups': [{'href': 'http://localhost/v1/nodes/f67ddf8d-9703-4b01-9de7-0e606d2df92c/portgroups', 'rel': 'self'}, {'href': 'http://localhost/nodes/f67ddf8d-9703-4b01-9de7-0e606d2df92c/portgroups', 'rel': 'bookmark'}], 'volume': [{'href': 'http://localhost/v1/nodes/f67ddf8d-9703-4b01-9de7-0e606d2df92c/volume', 'rel': 'self'}, {'href': 'http://localhost/nodes/f67ddf8d-9703-4b01-9de7-0e606d2df92c/volume', 'rel': 'bookmark'}]}, {'uuid': 'a7b141de-1777-42fc-96a8-ff7111806a59', 'created_at': '2024-05-14T11:54:05.754684+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/a7b141de-1777-42fc-96a8-ff7111806a59', 'rel': 'self'}, {'href': 'http://localhost/nodes/a7b141de-1777-42fc-96a8-ff7111806a59', 'rel': 'bookmark'}], 'conductor': 'fake.conductor', 'allocation_uuid': None, 'chassis_uuid': None, 'ports': [{'href': 'http://localhost/v1/nodes/a7b141de-1777-42fc-96a8-ff7111806a59/ports', 'rel': 'self'}, {'href': 'http://localhost/nodes/a7b141de-1777-42fc-96a8-ff7111806a59/ports', 'rel': 'bookmark'}], 'states': [{'href': 'http://localhost/v1/nodes/a7b141de-1777-42fc-96a8-ff7111806a59/states', 'rel': 'self'}, {'href': 'http://localhost/nodes/a7b141de-1777-42fc-96a8-ff7111806a59/states', 'rel': 'bookmark'}], 'portgroups': [{'href': 'http://localhost/v1/nodes/a7b141de-1777-42fc-96a8-ff7111806a59/portgroups', 'rel': 'self'}, {'href': 'http://localhost/nodes/a7b141de-1777-42fc-96a8-ff7111806a59/portgroups', 'rel': 'bookmark'}], 'volume': [{'href': 'http://localhost/v1/nodes/a7b141de-1777-42fc-96a8-ff7111806a59/volume', 'rel': 'self'}, {'href': 'http://localhost/nodes/a7b141de-1777-42fc-96a8-ff7111806a59/volume', 'rel': 'bookmark'}]}, {'uuid': '314920bb-6b1b-40d8-bb65-43e3b0667c98', 'created_at': '2024-05-14T11:54:05.757129+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/314920bb-6b1b-40d8-bb65-43e3b0667c98', 'rel': 'self'}, {'href': 'http://localhost/nodes/314920bb-6b1b-40d8-bb65-43e3b0667c98', 'rel': 'bookmark'}], 'conductor': 'fake.conductor', 'allocation_uuid': None, 'chassis_uuid': None, 'ports': [{'href': 'http://localhost/v1/nodes/314920bb-6b1b-40d8-bb65-43e3b0667c98/ports', 'rel': 'self'}, {'href': 'http://localhost/nodes/314920bb-6b1b-40d8-bb65-43e3b0667c98/ports', 'rel': 'bookmark'}], 'states': [{'href': 'http://localhost/v1/nodes/314920bb-6b1b-40d8-bb65-43e3b0667c98/states', 'rel': 'self'}, {'href': 'http://localhost/nodes/314920bb-6b1b-40d8-bb65-43e3b0667c98/states', 'rel': 'bookmark'}], 'portgroups': [{'href': 'http://localhost/v1/nodes/314920bb-6b1b-40d8-bb65-43e3b0667c98/portgroups', 'rel': 'self'}, {'href': 'http://localhost/nodes/314920bb-6b1b-40d8-bb65-43e3b0667c98/portgroups', 'rel': 'bookmark'}], 'volume': [{'href': 'http://localhost/v1/nodes/314920bb-6b1b-40d8-bb65-43e3b0667c98/volume', 'rel': 'self'}, {'href': 'http://localhost/nodes/314920bb-6b1b-40d8-bb65-43e3b0667c98/volume', 'rel': 'bookmark'}]}, {'uuid': '4a8dd919-ff92-4652-ad76-050bb0e65ea5', 'created_at': '2024-05-14T11:54:05.759705+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/4a8dd919-ff92-4652-ad76-050bb0e65ea5', 'rel': 'self'}, {'href': 'http://localhost/nodes/4a8dd919-ff92-4652-ad76-050bb0e65ea5', 'rel': 'bookmark'}], 'conductor': 'fake.conductor', 'allocation_uuid': None, 'chassis_uuid': None, 'ports': [{'href': 'http://localhost/v1/nodes/4a8dd919-ff92-4652-ad76-050bb0e65ea5/ports', 'rel': 'self'}, {'href': 'http://localhost/nodes/4a8dd919-ff92-4652-ad76-050bb0e65ea5/ports', 'rel': 'bookmark'}], 'states': [{'href': 'http://localhost/v1/nodes/4a8dd919-ff92-4652-ad76-050bb0e65ea5/states', 'rel': 'self'}, {'href': 'http://localhost/nodes/4a8dd919-ff92-4652-ad76-050bb0e65ea5/states', 'rel': 'bookmark'}], 'portgroups': [{'href': 'http://localhost/v1/nodes/4a8dd919-ff92-4652-ad76-050bb0e65ea5/portgroups', 'rel': 'self'}, {'href': 'http://localhost/nodes/4a8dd919-ff92-4652-ad76-050bb0e65ea5/portgroups', 'rel': 'bookmark'}], 'volume': [{'href': 'http://localhost/v1/nodes/4a8dd919-ff92-4652-ad76-050bb0e65ea5/volume', 'rel': 'self'}, {'href': 'http://localhost/nodes/4a8dd919-ff92-4652-ad76-050bb0e65ea5/volume', 'rel': 'bookmark'}]}, {'uuid': '668321bb-6a44-4833-b866-ccb83b56a173', 'created_at': '2024-05-14T11:54:05.762318+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/668321bb-6a44-4833-b866-ccb83b56a173', 'rel': 'self'}, {'href': 'http://localhost/nodes/668321bb-6a44-4833-b866-ccb83b56a173', 'rel': 'bookmark'}], 'conductor': 'fake.conductor', 'allocation_uuid': None, 'chassis_uuid': None, 'ports': [{'href': 'http://localhost/v1/nodes/668321bb-6a44-4833-b866-ccb83b56a173/ports', 'rel': 'self'}, {'href': 'http://localhost/nodes/668321bb-6a44-4833-b866-ccb83b56a173/ports', 'rel': 'bookmark'}], 'states': [{'href': 'http://localhost/v1/nodes/668321bb-6a44-4833-b866-ccb83b56a173/states', 'rel': 'self'}, {'href': 'http://localhost/nodes/668321bb-6a44-4833-b866-ccb83b56a173/states', 'rel': 'bookmark'}], 'portgroups': [{'href': 'http://localhost/v1/nodes/668321bb-6a44-4833-b866-ccb83b56a173/portgroups', 'rel': 'self'}, {'href': 'http://localhost/nodes/668321bb-6a44-4833-b866-ccb83b56a173/portgroups', 'rel': 'bookmark'}], 'volume': [{'href': 'http://localhost/v1/nodes/668321bb-6a44-4833-b866-ccb83b56a173/volume', 'rel': 'self'}, {'href': 'http://localhost/nodes/668321bb-6a44-4833-b866-ccb83b56a173/volume', 'rel': 'bookmark'}]}]}{3} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_detail_list_all_forbidden [0.066071s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_detail_query_false [0.034167s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_detail_using_query [0.042885s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_get_nodes_by_invalid_provision_state [0.021192s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_empty [0.027171s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_get_nodes_by_lessee_not_allowed [0.024935s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_patch_portgroups_subresource [0.103310s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_get_boot_device_iface_not_supported [0.030354s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_get_nodes_by_provision_state [0.048889s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_get_conductor_field_invalid_api_version [0.026663s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_patch_update_name_twice_second_invalid [0.056249s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_get_conductor_group_fields_invalid_api_version [0.027231s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_get_nodes_by_resource_class [0.039390s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_get_console_information [0.030424s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_remove_non_existent_property_fail [0.085880s] ... ok DEBUG util.py:445: GOT:{'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'created_at': '2024-05-14T11:54:05.601078+00:00', 'updated_at': None, 'automated_clean': None, 'bios_interface': None, 'boot_interface': None, 'clean_step': {}, 'conductor_group': '', 'console_enabled': False, 'console_interface': None, 'deploy_interface': None, 'deploy_step': {}, 'driver': 'fake-hardware', 'driver_info': {'foo': 'bar', 'fake_password': '******'}, 'driver_internal_info': {'private_state': 'secret value'}, 'extra': {}, 'fault': None, 'inspection_finished_at': None, 'inspection_started_at': None, 'inspect_interface': None, 'instance_info': {'configdrive': '******', 'image_url': '******', 'foo': 'bar'}, 'instance_uuid': None, 'last_error': None, 'maintenance': False, 'maintenance_reason': None, 'management_interface': None, 'name': None, 'network_interface': None, 'power_interface': None, 'power_state': None, 'properties': {'cpu_arch': 'x86_64', 'cpus': '8', 'local_gb': '10', 'memory_mb': '4096'}, 'protected': False, 'protected_reason': None, 'provision_state': 'available', 'provision_updated_at': None, 'raid_config': {}, 'raid_interface': None, 'rescue_interface': None, 'reservation': None, 'resource_class': None, 'storage_interface': None, 'target_power_state': None, 'target_provision_state': None, 'target_raid_config': {}, 'traits': [], 'vendor_interface': None, 'links': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'rel': 'bookmark'}], 'chassis_uuid': None, 'ports': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports', 'rel': 'bookmark'}], 'states': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states', 'rel': 'bookmark'}], 'portgroups': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups', 'rel': 'bookmark'}], 'volume': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume', 'rel': 'bookmark'}]} DEBUG util.py:445: GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 {} DEBUG util.py:445: GOT:{'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'created_at': '2024-05-14T11:54:05.667458+00:00', 'updated_at': None, 'automated_clean': None, 'bios_interface': None, 'boot_interface': None, 'clean_step': {}, 'conductor_group': '', 'console_enabled': False, 'console_interface': None, 'deploy_interface': None, 'deploy_step': {}, 'description': None, 'driver': 'fake-hardware', 'driver_info': {'foo': 'bar', 'fake_password': '******'}, 'driver_internal_info': {'private_state': 'secret value'}, 'extra': {}, 'fault': None, 'inspection_finished_at': None, 'inspection_started_at': None, 'inspect_interface': None, 'instance_info': {'configdrive': '******', 'image_url': '******', 'foo': 'bar'}, 'instance_uuid': None, 'last_error': None, 'lessee': None, 'maintenance': False, 'maintenance_reason': None, 'management_interface': None, 'name': None, 'network_data': {}, 'network_interface': None, 'owner': None, 'power_interface': None, 'power_state': None, 'properties': {'cpu_arch': 'x86_64', 'cpus': '8', 'local_gb': '10', 'memory_mb': '4096'}, 'protected': False, 'protected_reason': None, 'provision_state': 'available', 'provision_updated_at': None, 'raid_config': {}, 'raid_interface': None, 'rescue_interface': None, 'reservation': None, 'resource_class': None, 'retired': False, 'retired_reason': None, 'storage_interface': None, 'target_power_state': None, 'target_provision_state': None, 'target_raid_config': {}, 'traits': [], 'vendor_interface': None, 'links': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'rel': 'bookmark'}], 'conductor': 'fake.conductor', 'allocation_uuid': None, 'chassis_uuid': None, 'ports': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports', 'rel': 'bookmark'}], 'states': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states', 'rel': 'bookmark'}], 'portgroups': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups', 'rel': 'bookmark'}], 'volume': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume', 'rel': 'bookmark'}]} DEBUG util.py:445: GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 {} DEBUG util.py:445: GOT:{'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'created_at': '2024-05-14T11:54:05.667458+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/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: {1} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_node_states_boot_mode_hidden_in_lower_version [0.281218s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_node_states_by_name [0.044268s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_get_console_information_not_supported [0.044769s] ... ok DEBUG util.py:445: GOT:{'conductor_group': '', 'links': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'rel': 'bookmark'}]} DEBUG util.py:445: GET: /v1/nodes/spam/states/console {} DEBUG util.py:445: GOT:{'console_enabled': True, 'console_info': {'test': 'test-data'}} DEBUG util.py:445: GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123?fields=uuid,extra {} DEBUG util.py:445: GOT:Response: 406 Not Acceptable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-ae06933f-24a9-40eb-80f2-436c9c88189a DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.1 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Request not acceptable.\", \"debuginfo\": null}"} DEBUG util.py:445: GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123?fields=description {} DEBUG util.py:445: GOT:{'description': 'useful piece', 'links': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'rel': 'bookmark'}]} DEBUG util.py:445: GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/management/indicators/led@system {} DEBUG util.py:445: GOT:{'state': 'on'} DEBUG util.py:445: GET: /v1/nodes?conductor=rocky.rocks {} DEBUG util.py:445: GOT:{'nodes': []} DEBUG util.py:445: GET: /v1/nodes?conductor=fake.conductor {} DEBUG util.py:445: GOT:{'nodes': [{'uuid': 'ca81eef6-08c5-4f81-b3d9-17d675764fc3', 'instance_uuid': None, 'maintenance': False, 'power_state': None, 'provision_state': 'available', 'name': None, 'links': [{'href': 'http://localhost/v1/nodes/ca81eef6-08c5-4f81-b3d9-17d675764fc3', 'rel': 'self'}, {'href': 'http://localhost/nodes/ca81eef6-08c5-4f81-b3d9-17d675764fc3', 'rel': 'bookmark'}]}, {'uuid': '29117aa6-4b29-486b-a6cf-ab8dd3b6be9e', 'instance_uuid': None, 'maintenance': False, 'power_state': None, 'provision_state': 'available', 'name': None, 'links': [{'href': 'http://localhost/v1/nodes/29117aa6-4b29-486b-a6cf-ab8dd3b6be9e', 'rel': 'self'}, {'href': 'http://localhost/nodes/29117aa6-4b29-486b-a6cf-ab8dd3b6be9e', 'rel': 'bookmark'}]}]} DEBUG util.py:445: GET: /v1/nodes?conductor=fake.conductor {} DEBUG util.py:445: GOT:{'nodes': [{'uuid': '29117aa6-4b29-486b-a6cf-ab8dd3b6be9e', 'instance_uuid': None, 'maintenance': False, 'power_state': None, 'provision_state': 'available', 'name': None, 'links': [{'href': 'http://localhost/v1/nodes/29117aa6-4b29-486b-a6cf-ab8dd3b6be9e', 'rel': 'self'}, {'href': 'http://localhost/nodes/29117aa6-4b29-486b-a6cf-ab8dd3b6be9e', 'rel': 'bookmark'}]}]} DEBUG util.py:445: GET: /v1/nodes?conductor_group=group1 {} DEBUG util.py:445: GOT:Response: 406 Not Acceptable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-c1c21ce1-95df-4809-b85e-9ba6b9965ce4 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.45 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Request not acceptable. The minimal required API version should be 1.46\", \"debuginfo\": null}"} DEBUG util.py:445: GET: /v1/nodes/detail?conductor_group=group1 {} DEBUG util.py:445: GOT:Response: 406 Not Acceptable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-fab695cb-08cb-4df2-8ad5-13b8b89fe4b6 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.45 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Request not acceptable. The minimal required API version should be 1.46\", \"debuginfo\": null}"} DEBUG util.py:445: GET: /v1/nodes?driver=ipmi {} DEBUG util.py:445: GOT:{'nodes': [{'uuid': '8d671d38-e759-4af6-8876-ad3e46a08116', 'instance_uuid': None, 'maintenance': False, 'power_state': None, 'provision_state': 'available', 'name': None, 'links': [{'href': 'http://localhost/v1/nodes/8d671d38-e759-4af6-8876-ad3e46a08116', 'rel': 'self'}, {'href': 'http://localhost/nodes/8d671d38-e759-4af6-8876-ad3e46a08116', 'rel': 'bookmark'}]}]} DEBUG util.py:445: GET: /v1/nodes?driver=fake-hardware {} DEBUG util.py:445: GOT:{'nodes': [{'uuid': 'e822fa0c-6b23-4294-85c4-e470a47aa60b', 'instance_uuid': None, 'maintenance': False, 'power_state': None, 'provision_state': 'available', 'name': None, 'links': [{'href': 'http://localhost/v1/nodes/e822fa0c-6b23-4294-85c4-e470a47aa60b', 'rel': 'self'}, {'href': 'http://localhost/nodes/e822fa0c-6b23-4294-85c4-e470a47aa60b', '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-59f008dd-2baa-4221-a79d-659eda6a2306 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.41 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Request not acceptable. The minimal required API version should be 1.42\", \"debuginfo\": null}"} DEBUG util.py:445: GET: /v1/nodes/detail?fault=power failure {} DEBUG util.py:445: GOT:Response: 406 Not Acceptable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-0af40cb2-573a-4c84-8b08-b7d3befc5b14 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.41 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Request not acceptable. The minimal required API version should be 1.42\", \"debuginfo\": null}"} DEBUG util.py:445: GET: /v1/nodes?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-69289758-038f-4ae1-a249-81764008ae34 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.9 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Provision state \\\"test\\\" is not valid\", \"debuginfo\": null}"} DEBUG util.py:445: GET: /v1/nodes?lessee=project1 {} DEBUG util.py:445: GOT:Response: 406 Not Acceptable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-6ad352cd-5728-40e8-a186-ad3cb3f5086a DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.64 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Request not acceptable. The minimal required API version should be 1.65\", \"debuginfo\": null}"} DEBUG util.py:445: GET: /v1/nodes/detail?lessee=project1 {} DEBUG util.py:445: GOT:Response: 406 Not Acceptable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-86cb7e1c-1f56-4186-a0b8-c43fe0089e41 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.64 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Request not acceptable. The minimal required API version should be 1.65\", \"debuginfo\": null}"} DEBUG util.py:445: GET: /v1/nodes?provision_state=available {} DEBUG util.py:445: GOT:{'nodes': [{'uuid': '7f3c639a-1897-417c-a098-4c34885ade9d', 'instance_uuid': None, 'maintenance': False, 'power_state': None, 'provision_state': 'available', 'name': None, 'links': [{'href': 'http://localhost/v1/nodes/7f3c639a-1897-417c-a098-4c34885ade9d', 'rel': 'self'}, {'href': 'http://localhost/nodes/7f3c639a-1897-417c-a098-4c34885ade9d', 'rel': 'bookmark'}]}]} DEBUG util.py:445: GET: /v1/nodes?provision_state=deploying {} DEBUG util.py:445: GOT:{'nodes': [{'uuid': 'f7d22a64-4d5c-4241-863f-8e336d018b42', 'instance_uuid': None, 'maintenance': False, 'power_state': None, 'provision_state': 'deploying', 'name': None, 'links': [{'href': 'http://localhost/v1/nodes/f7d22a64-4d5c-4241-863f-8e336d018b42', 'rel': 'self'}, {'href': 'http://localhost/nodes/f7d22a64-4d5c-4241-863f-8e336d018b42', 'rel': 'bookmark'}]}]} DEBUG util.py:445: GET: /v1/nodes?resource_class=foo {} DEBUG util.py:445: GOT:{'nodes': [{'uuid': '0cfd6d69-54cf-478b-87ec-4460580d804a', 'instance_uuid': None, 'maintenance': False, 'power_state': None, 'provision_state': 'available', 'name': None, 'links': [{'href': 'http://localhost/v1/nodes/0cfd6d69-54cf-478b-87ec-4460580d804a', 'rel': 'self'}, {'href': 'http://localhost/nodes/0cfd6d69-54cf-478b-87ec-4460580d804a', 'rel': 'bookmark'}]}]} DEBUG util.py:445: GET: /v1/nodes?resource_class=bar {} DEBUG util.py:445: GOT:{'nodes': [{'uuid': 'db858b2a-c440-4649-80d6-62c282d0bb97', 'instance_uuid': None, 'maintenance': False, 'power_state': None, 'provision_state': 'available', 'name': None, 'links': [{'href': 'http://localhost/v1/nodes/db858b2a-c440-4649-80d6-62c282d0bb97', 'rel': 'self'}, {'href': 'http://localhost/nodes/db858b2a-c440-4649-80d6-62c282d0bb97', 'rel': 'bookmark'}]}]} DEBUG util.py:445: GET: /v1/nodes?traits=CUSTOM_TRAIT_1 {} DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_get_nodes_by_traits_not_allowed [0.024168s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_get_nodes_by_traits_not_allowed_detail [0.029463s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_get_one_with_json_in_name [0.038783s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_get_custom_fields_invalid_fields [0.035937s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_get_one_with_suffix [0.031637s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_node_states_field_hidden_in_lower_version [0.076349s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_get_lessee_field [0.034393s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_get_protected_fields [0.030504s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_get_nodes_by_description [0.038370s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_get_supported_boot_devices_iface_not_supported [0.027590s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_get_supported_indicators_versioning [0.026627s] ... ok DEBUG util.py:445: PATCH: /v1/nodes/4ca8ddb8-c43e-48de-aa97-1b2627eb93ec [{'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-cfab8824-bf83-4762-9ce8-72dbfdc58ef3 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"uuid": "4ca8ddb8-c43e-48de-aa97-1b2627eb93ec", "created_at": "2024-05-14T11:54:05.592964+00:00", "updated_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/4ca8ddb8-c43e-48de-aa97-1b2627eb93ec", "rel": "self"}, {"href": "http://localhost/nodes/4ca8ddb8-c43e-48de-aa97-1b2627eb93ec", "rel": "bookmark"}], "conductor": null, "allocation_uuid": null, "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/4ca8ddb8-c43e-48de-aa97-1b2627eb93ec/ports", "rel": "self"}, {"href": "http://localhost/nodes/4ca8ddb8-c43e-48de-aa97-1b2627eb93ec/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/4ca8ddb8-c43e-48de-aa97-1b2627eb93ec/states", "rel": "self"}, {"href": "http://localhost/nodes/4ca8ddb8-c43e-48de-aa97-1b2627eb93ec/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/4ca8ddb8-c43e-48de-aa97-1b2627eb93ec/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/4ca8ddb8-c43e-48de-aa97-1b2627eb93ec/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/4ca8ddb8-c43e-48de-aa97-1b2627eb93ec/volume", "rel": "self"}, {"href": "http://localhost/nodes/4ca8ddb8-c43e-48de-aa97-1b2627eb93ec/volume", "rel": "bookmark"}]} DEBUG util.py:445: PATCH: /v1/nodes/7794f8e8-c3c4-42a8-8141-d1c8dbdcb6d0 [{'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-f0d82e2d-2790-4dd0-957e-006f63344570 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"uuid": "7794f8e8-c3c4-42a8-8141-d1c8dbdcb6d0", "created_at": "2024-05-14T11:54:05.746012+00:00", "updated_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/7794f8e8-c3c4-42a8-8141-d1c8dbdcb6d0", "rel": "self"}, {"href": "http://localhost/nodes/7794f8e8-c3c4-42a8-8141-d1c8dbdcb6d0", "rel": "bookmark"}], "conductor": null, "allocation_uuid": null, "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/7794f8e8-c3c4-42a8-8141-d1c8dbdcb6d0/ports", "rel": "self"}, {"href": "http://localhost/nodes/7794f8e8-c3c4-42a8-8141-d1c8dbdcb6d0/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/7794f8e8-c3c4-42a8-8141-d1c8dbdcb6d0/states", "rel": "self"}, {"href": "http://localhost/nodes/7794f8e8-c3c4-42a8-8141-d1c8dbdcb6d0/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/7794f8e8-c3c4-42a8-8141-d1c8dbdcb6d0/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/7794f8e8-c3c4-42a8-8141-d1c8dbdcb6d0/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/7794f8e8-c3c4-42a8-8141-d1c8dbdcb6d0/volume", "rel": "self"}, {"href": "http://localhost/nodes/7794f8e8-c3c4-42a8-8141-d1c8dbdcb6d0/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-8ebc2c21-4746-4bed-90f7-1b43cfa7edf5 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.24 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Operation not permitted.\", \"debuginfo\": null}"} DEBUG util.py:445: PATCH: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 [{'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-e0399d07-c916-4fdd-8dd8-2dee777f3de1 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.5 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123: Cannot change name to invalid name 'Guido Van Error'\", \"debuginfo\": null}"} DEBUG util.py:445: PATCH: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 [{'path': '/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-4be17028-d6aa-4750-8008-c5e02e794a5e DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.1 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Couldn't apply patch '{'path': '/extra/non-existent', 'op': 'remove'}'. Reason: can't remove non-existent object 'non-existent'\", \"debuginfo\": null}"} DEBUG util.py:445: PATCH: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 [{'path': '/maintenance', 'op': 'replace', 'value': True}] DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_replace_maintenance [0.126527s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_get_traits_fields_invalid_api_version [0.025296s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_node_states_secure_boot_hidden_in_lower_version [0.126356s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_reset_interfaces_without_driver [0.093930s] ... 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-43f23f52-6cb6-41cd-be08-ec55ab4e9738 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Unexpected arguments: traits\", \"debuginfo\": null}"} DEBUG util.py:445: GET: /v1/nodes/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-dbcb2646-b83a-4fb1-ac80-021481400f3e DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Unexpected arguments: traits\", \"debuginfo\": null}"} DEBUG util.py:445: GET: /v1/nodes/node.json {} DEBUG util.py:445: GOT:{'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'created_at': '2024-05-14T11:54:06.068910+00:00', 'updated_at': None, 'automated_clean': None, 'bios_interface': None, 'boot_interface': None, 'boot_mode': None, 'clean_step': {}, 'conductor_group': '', 'console_enabled': False, 'console_interface': None, 'deploy_interface': None, 'deploy_step': {}, 'description': None, 'driver': 'fake-hardware', 'driver_info': {'foo': 'bar', 'fake_password': '******'}, 'driver_internal_info': {'private_state': 'secret value'}, 'extra': {}, 'fault': None, 'inspection_finished_at': None, 'inspection_started_at': None, 'inspect_interface': None, 'instance_info': {'configdrive': '******', 'image_url': '******', 'foo': 'bar'}, 'instance_uuid': None, 'last_error': None, 'lessee': None, 'maintenance': False, 'maintenance_reason': None, 'management_interface': None, 'name': 'node.json', 'network_data': {}, 'network_interface': None, 'owner': None, 'power_interface': None, 'power_state': None, 'properties': {'cpu_arch': 'x86_64', 'cpus': '8', 'local_gb': '10', 'memory_mb': '4096'}, 'protected': False, 'protected_reason': None, 'provision_state': 'available', 'provision_updated_at': None, 'raid_config': {}, 'raid_interface': None, 'rescue_interface': None, 'reservation': None, 'resource_class': None, 'retired': False, 'retired_reason': None, 'secure_boot': None, 'storage_interface': None, 'target_power_state': None, 'target_provision_state': None, 'target_raid_config': {}, 'traits': [], 'vendor_interface': None, 'links': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'rel': 'bookmark'}], 'conductor': 'fake.conductor', 'allocation_uuid': None, 'chassis_uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'ports': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports', 'rel': 'bookmark'}], 'states': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states', 'rel': 'bookmark'}], 'portgroups': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups', 'rel': 'bookmark'}], 'volume': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume', 'rel': 'bookmark'}]} DEBUG util.py:445: GET: /v1/nodes/test.1 {} DEBUG util.py:445: GOT:{'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'created_at': '2024-05-14T11:54:06.102431+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?fields=protected {} DEBUG util.py:445: GOT:{'protected': True, 'links': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'rel': 'bookmark'}]} DEBUG util.py:445: GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/management/boot_device/supported {} DEBUG util.py:445: GOT:Response: 400 Bad Request DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-60b60f50-e6cb-423e-8d8e-bf502eceabc9 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.1 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Driver test-driver does not support management (disabled or not implemented).\", \"debuginfo\": null}"} DEBUG util.py:445: GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/management/indicators {} DEBUG util.py:445: GOT:{'indicators': [{'name': 'led@chassis', 'component': 'chassis', 'readonly': True, 'states': ['OFF', 'ON'], 'links': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/management/indicators/led@chassis', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/management/indicators/led@chassis', 'rel': 'bookmark'}]}]} DEBUG util.py:445: GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123?fields=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-9c8fad70-b5c4-429a-b87d-a6416980450b DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.36 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Request not acceptable.\", \"debuginfo\": null}"} DEBUG util.py:445: GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 {} DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_hide_fields_in_newer_versions_driver_internal [0.034965s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_hide_fields_in_newer_versions_inspection [0.038153s] ... ok 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=True {} DEBUG util.py:445: GOT:{'nodes': [{'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'created_at': '2024-05-14T11:54:05.850854+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 {} DEBUG util.py:445: GOT:{'nodes': []} 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-c917b900-ed24-4bad-b415-b2ffbd46ae89 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.1 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Driver test-driver does not support management (disabled or not implemented).\", \"debuginfo\": null}"} DEBUG util.py:445: GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123?fields=conductor {} DEBUG util.py:445: GOT:Response: 406 Not Acceptable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-35740bb9-bf4c-4b6a-9410-dfeea35b0401 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.48 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Request not acceptable.\", \"debuginfo\": null}"} DEBUG util.py:445: GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123?fields=conductor_group {} DEBUG util.py:445: GOT:Response: 406 Not Acceptable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-607dfe5d-7298-4388-9f76-7f12048d70cd DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.45 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Request not acceptable.\", \"debuginfo\": null}"} DEBUG util.py:445: GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/console {} DEBUG util.py:445: GOT:{'console_enabled': 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:Response: 400 Bad Request DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-4cfa7cd0-f6a5-427c-b933-3ed21f62e059 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.1 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Driver test-driver does not support console (disabled or not implemented).\", \"debuginfo\": null}"} DEBUG util.py:445: GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123?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-2c029be4-5e80-4330-ac61-356d914af62e DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Field spongebob is not a valid field.\", \"debuginfo\": null}"} DEBUG util.py:445: GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123?fields=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?description_contains=cat {} DEBUG util.py:445: GOT:{'nodes': [{'uuid': '220dcafb-0cfd-4f20-bda7-9174d6309026', 'instance_uuid': None, 'maintenance': False, 'power_state': None, 'provision_state': 'available', 'name': None, 'links': [{'href': 'http://localhost/v1/nodes/220dcafb-0cfd-4f20-bda7-9174d6309026', 'rel': 'self'}, {'href': 'http://localhost/nodes/220dcafb-0cfd-4f20-bda7-9174d6309026', 'rel': 'bookmark'}]}]} DEBUG util.py:445: GET: /v1/nodes?description_contains=dog {} DEBUG util.py:445: GOT:{'nodes': [{'uuid': '338280d4-b501-43c4-b0d2-b15ccb50b517', 'instance_uuid': None, 'maintenance': False, 'power_state': None, 'provision_state': 'available', 'name': None, 'links': [{'href': 'http://localhost/v1/nodes/338280d4-b501-43c4-b0d2-b15ccb50b517', 'rel': 'self'}, {'href': 'http://localhost/nodes/338280d4-b501-43c4-b0d2-b15ccb50b517', 'rel': 'bookmark'}]}]} DEBUG util.py:445: GET: /v1/nodes?fault=power failure {} DEBUG util.py:445: GOT:{'nodes': [{'uuid': 'a5699029-b00f-4262-b534-5805f246961d', 'instance_uuid': None, 'maintenance': False, 'power_state': None, 'provision_state': 'available', 'name': None, 'links': [{'href': 'http://localhost/v1/nodes/a5699029-b00f-4262-b534-5805f246961d', 'rel': 'self'}, {'href': 'http://localhost/nodes/a5699029-b00f-4262-b534-5805f246961d', 'rel': 'bookmark'}]}]} DEBUG util.py:445: GET: /v1/nodes?fault=clean failure {} DEBUG util.py:445: GOT:{'nodes': [{'uuid': '1cc4ebe0-dd20-4c53-85c2-bf0fe99ce3bd', 'instance_uuid': None, 'maintenance': False, 'power_state': None, 'provision_state': 'available', 'name': None, 'links': [{'href': 'http://localhost/v1/nodes/1cc4ebe0-dd20-4c53-85c2-bf0fe99ce3bd', 'rel': 'self'}, {'href': 'http://localhost/nodes/1cc4ebe0-dd20-4c53-85c2-bf0fe99ce3bd', 'rel': 'bookmark'}]}]} DEBUG util.py:445: GET: /v1/nodes/detail?fault=power failure {} DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_get_nodes_by_fault [0.077462s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_get_nodes_by_invalid_driver [0.037419s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_get_one [0.044814s] ... ok DEBUG util.py:445: GOT:{'console_enabled': False, 'last_error': None, 'power_state': None, 'provision_state': 'available', 'target_power_state': None, 'target_provision_state': None, 'provision_updated_at': None, 'raid_config': {}, 'target_raid_config': {}, 'boot_mode': None, 'secure_boot': None} DEBUG util.py:445: GET: /v1/nodes/eggs/states {} DEBUG util.py:445: GOT:{'console_enabled': False, 'last_error': 'fake-error', 'power_state': 'fake-state', 'provision_state': 'fake-state', 'target_power_state': 'fake-state', 'target_provision_state': 'fake-state', 'provision_updated_at': '1971-03-09T00:00:00+00:00'} DEBUG util.py:445: GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 {} DEBUG util.py:445: GOT:{'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'created_at': '2024-05-14T11:54:06.103070+00:00', 'updated_at': None, 'clean_step': {}, 'console_enabled': False, 'driver': 'fake-hardware', 'driver_info': {'foo': 'bar', 'fake_password': '******'}, 'driver_internal_info': {'private_state': 'secret value'}, 'extra': {}, 'inspection_finished_at': None, 'inspection_started_at': None, 'instance_info': {'configdrive': '******', 'image_url': '******', 'foo': 'bar'}, 'instance_uuid': None, 'last_error': None, 'maintenance': False, 'maintenance_reason': None, 'name': None, 'power_state': None, 'properties': {'cpu_arch': 'x86_64', 'cpus': '8', 'local_gb': '10', 'memory_mb': '4096'}, 'provision_state': 'available', 'provision_updated_at': None, 'reservation': None, 'target_power_state': None, 'target_provision_state': None, 'links': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'rel': 'bookmark'}], 'chassis_uuid': None, 'ports': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports', 'rel': 'bookmark'}]} DEBUG util.py:445: GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 {} DEBUG util.py:445: GOT:{'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'created_at': '2024-05-14T11:54:06.103070+00:00', 'updated_at': None, 'clean_step': {}, 'console_enabled': False, 'driver': 'fake-hardware', 'driver_info': {'foo': 'bar', 'fake_password': '******'}, 'driver_internal_info': {'private_state': 'secret value'}, 'extra': {}, 'inspection_finished_at': None, 'inspection_started_at': None, 'instance_info': {'configdrive': '******', 'image_url': '******', 'foo': 'bar'}, 'instance_uuid': None, 'last_error': None, 'maintenance': False, 'maintenance_reason': None, 'name': None, 'power_state': None, 'properties': {'cpu_arch': 'x86_64', 'cpus': '8', 'local_gb': '10', 'memory_mb': '4096'}, 'provision_state': 'available', 'provision_updated_at': None, 'raid_config': {}, 'reservation': None, 'target_power_state': None, 'target_provision_state': None, 'target_raid_config': {}, 'links': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'rel': 'bookmark'}], 'chassis_uuid': None, 'ports': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports', 'rel': 'bookmark'}], 'states': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states', 'rel': 'bookmark'}]} DEBUG util.py:445: GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states {} DEBUG util.py:445: GOT:{'console_enabled': False, 'last_error': 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': '2024-05-14T11:54:06.290554+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: {1} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_node_storage_interface_hidden_in_lower_version [0.067877s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_get_supported_boot_devices [0.029943s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_hide_fields_in_newer_versions_name [0.049094s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_get_supported_boot_devices_by_name [0.028950s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_portgroups_subresource_link [0.066128s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_update_automated_clean [0.143834s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_get_supported_indicators [0.034278s] ... ok DEBUG util.py:445: GOT:{'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'created_at': '2024-05-14T11:54:06.243136+00:00', 'updated_at': None, 'console_enabled': False, 'driver': 'fake-hardware', 'driver_info': {'foo': 'bar', 'fake_password': '******'}, 'extra': {}, 'instance_info': {'configdrive': '******', 'image_url': '******', 'foo': 'bar'}, 'instance_uuid': None, 'last_error': None, 'maintenance': False, 'maintenance_reason': None, 'power_state': None, 'properties': {'cpu_arch': 'x86_64', 'cpus': '8', 'local_gb': '10', 'memory_mb': '4096'}, 'provision_state': None, 'provision_updated_at': None, 'reservation': None, 'target_power_state': None, 'target_provision_state': None, 'links': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'rel': 'bookmark'}], 'chassis_uuid': None, 'ports': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports', 'rel': 'bookmark'}]} DEBUG util.py:445: GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 {} DEBUG util.py:445: GOT:{'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'created_at': '2024-05-14T11:54:06.243136+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/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 {} DEBUG util.py:445: GOT:{'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'created_at': '2024-05-14T11:54:06.283030+00:00', 'updated_at': None, 'console_enabled': False, 'driver': 'fake-hardware', 'driver_info': {'foo': 'bar', 'fake_password': '******'}, 'extra': {}, 'instance_info': {'configdrive': '******', 'image_url': '******', 'foo': 'bar'}, 'instance_uuid': None, 'last_error': None, 'maintenance': False, 'maintenance_reason': None, 'power_state': None, 'properties': {'cpu_arch': 'x86_64', 'cpus': '8', 'local_gb': '10', 'memory_mb': '4096'}, 'provision_state': None, 'provision_updated_at': None, 'reservation': None, 'target_power_state': None, 'target_provision_state': None, 'links': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'rel': 'bookmark'}], 'chassis_uuid': None, 'ports': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports', 'rel': 'bookmark'}]} DEBUG util.py:445: GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 {} DEBUG util.py:445: GOT:{'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'created_at': '2024-05-14T11:54:06.283030+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/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 {} DEBUG util.py:445: GOT:{'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'created_at': '2024-05-14T11:54:06.325575+00:00', 'updated_at': None, 'console_enabled': False, 'driver': 'fake-hardware', 'driver_info': {'foo': 'bar', 'fake_password': '******'}, 'driver_internal_info': {'private_state': 'secret value'}, 'extra': {}, 'instance_info': {'configdrive': '******', 'image_url': '******', 'foo': 'bar'}, 'instance_uuid': None, 'last_error': None, 'maintenance': False, 'maintenance_reason': None, 'power_state': None, 'properties': {'cpu_arch': 'x86_64', 'cpus': '8', 'local_gb': '10', 'memory_mb': '4096'}, 'provision_state': 'available', 'provision_updated_at': None, 'reservation': None, 'target_power_state': None, 'target_provision_state': None, 'links': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'rel': 'bookmark'}], 'chassis_uuid': None, 'ports': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports', 'rel': 'bookmark'}]} DEBUG util.py:445: GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 {} DEBUG util.py:445: GOT:{'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'created_at': '2024-05-14T11:54:06.325575+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 {} DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_many [0.059436s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_node_interface_fields_hidden_in_lower_version [0.030311s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_ports_subresource_invalid_ident [0.059744s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_node_network_data [0.037448s] ... ok DEBUG util.py:445: GOT:{'nodes': [{'uuid': 'a5699029-b00f-4262-b534-5805f246961d', 'created_at': '2024-05-14T11:54:06.197149+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/a5699029-b00f-4262-b534-5805f246961d', 'rel': 'self'}, {'href': 'http://localhost/nodes/a5699029-b00f-4262-b534-5805f246961d', 'rel': 'bookmark'}], 'chassis_uuid': None, 'ports': [{'href': 'http://localhost/v1/nodes/a5699029-b00f-4262-b534-5805f246961d/ports', 'rel': 'self'}, {'href': 'http://localhost/nodes/a5699029-b00f-4262-b534-5805f246961d/ports', 'rel': 'bookmark'}], 'states': [{'href': 'http://localhost/v1/nodes/a5699029-b00f-4262-b534-5805f246961d/states', 'rel': 'self'}, {'href': 'http://localhost/nodes/a5699029-b00f-4262-b534-5805f246961d/states', 'rel': 'bookmark'}], 'portgroups': [{'href': 'http://localhost/v1/nodes/a5699029-b00f-4262-b534-5805f246961d/portgroups', 'rel': 'self'}, {'href': 'http://localhost/nodes/a5699029-b00f-4262-b534-5805f246961d/portgroups', 'rel': 'bookmark'}], 'volume': [{'href': 'http://localhost/v1/nodes/a5699029-b00f-4262-b534-5805f246961d/volume', 'rel': 'self'}, {'href': 'http://localhost/nodes/a5699029-b00f-4262-b534-5805f246961d/volume', 'rel': 'bookmark'}]}]} DEBUG util.py:445: GET: /v1/nodes/detail?fault=clean failure {} DEBUG util.py:445: GOT:{'nodes': [{'uuid': '1cc4ebe0-dd20-4c53-85c2-bf0fe99ce3bd', 'created_at': '2024-05-14T11:54:06.200238+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/1cc4ebe0-dd20-4c53-85c2-bf0fe99ce3bd', 'rel': 'self'}, {'href': 'http://localhost/nodes/1cc4ebe0-dd20-4c53-85c2-bf0fe99ce3bd', 'rel': 'bookmark'}], 'chassis_uuid': None, 'ports': [{'href': 'http://localhost/v1/nodes/1cc4ebe0-dd20-4c53-85c2-bf0fe99ce3bd/ports', 'rel': 'self'}, {'href': 'http://localhost/nodes/1cc4ebe0-dd20-4c53-85c2-bf0fe99ce3bd/ports', 'rel': 'bookmark'}], 'states': [{'href': 'http://localhost/v1/nodes/1cc4ebe0-dd20-4c53-85c2-bf0fe99ce3bd/states', 'rel': 'self'}, {'href': 'http://localhost/nodes/1cc4ebe0-dd20-4c53-85c2-bf0fe99ce3bd/states', 'rel': 'bookmark'}], 'portgroups': [{'href': 'http://localhost/v1/nodes/1cc4ebe0-dd20-4c53-85c2-bf0fe99ce3bd/portgroups', 'rel': 'self'}, {'href': 'http://localhost/nodes/1cc4ebe0-dd20-4c53-85c2-bf0fe99ce3bd/portgroups', 'rel': 'bookmark'}], 'volume': [{'href': 'http://localhost/v1/nodes/1cc4ebe0-dd20-4c53-85c2-bf0fe99ce3bd/volume', 'rel': 'self'}, {'href': 'http://localhost/nodes/1cc4ebe0-dd20-4c53-85c2-bf0fe99ce3bd/volume', 'rel': 'bookmark'}]}]} DEBUG util.py:445: GET: /v1/nodes?driver=test {} DEBUG util.py:445: GOT:{'nodes': []} DEBUG util.py:445: GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 {} DEBUG util.py:445: GOT:{'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'created_at': '2024-05-14T11:54:06.306780+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/management/boot_device/supported {} DEBUG util.py:445: GOT:{'supported_boot_devices': ['pxe']} DEBUG util.py:445: GET: /v1/nodes/spam/management/boot_device/supported {} DEBUG util.py:445: GOT:{'supported_boot_devices': ['pxe']} DEBUG util.py:445: GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/management/indicators {} DEBUG util.py:445: GOT:{'indicators': [{'name': 'led@chassis', 'component': 'chassis', 'readonly': True, 'states': ['OFF', 'ON'], 'links': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/management/indicators/led@chassis', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/management/indicators/led@chassis', 'rel': 'bookmark'}]}]} DEBUG util.py:445: GET: /v1/nodes/detail {} DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_hide_fields_in_newer_versions_traits [0.048449s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_update_automated_clean_with_false [0.095357s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_ports_subresource_noid [0.067563s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_links_public_url [0.079704s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_ports_subresource_via_portgroups_subres_not_allowed [0.062821s] ... ok DEBUG util.py:445: GOT:{'nodes': [{'uuid': '6a47b7d8-bcbe-4c5f-adc9-b1af1813329d', 'instance_uuid': None, 'maintenance': False, 'power_state': None, 'provision_state': None, 'links': [{'href': 'http://localhost/v1/nodes/6a47b7d8-bcbe-4c5f-adc9-b1af1813329d', 'rel': 'self'}, {'href': 'http://localhost/nodes/6a47b7d8-bcbe-4c5f-adc9-b1af1813329d', 'rel': 'bookmark'}]}, {'uuid': '7bc8de06-2cd2-437e-a85e-20fccefdb7fd', 'instance_uuid': None, 'maintenance': False, 'power_state': None, 'provision_state': None, 'links': [{'href': 'http://localhost/v1/nodes/7bc8de06-2cd2-437e-a85e-20fccefdb7fd', 'rel': 'self'}, {'href': 'http://localhost/nodes/7bc8de06-2cd2-437e-a85e-20fccefdb7fd', 'rel': 'bookmark'}]}, {'uuid': '73a09b37-05b9-451e-912d-ee5a8dbe0b71', 'instance_uuid': None, 'maintenance': False, 'power_state': None, 'provision_state': None, 'links': [{'href': 'http://localhost/v1/nodes/73a09b37-05b9-451e-912d-ee5a8dbe0b71', 'rel': 'self'}, {'href': 'http://localhost/nodes/73a09b37-05b9-451e-912d-ee5a8dbe0b71', 'rel': 'bookmark'}]}, {'uuid': 'ca1aa7a7-e1b1-422e-969e-36150ef80d36', 'instance_uuid': None, 'maintenance': False, 'power_state': None, 'provision_state': None, 'links': [{'href': 'http://localhost/v1/nodes/ca1aa7a7-e1b1-422e-969e-36150ef80d36', 'rel': 'self'}, {'href': 'http://localhost/nodes/ca1aa7a7-e1b1-422e-969e-36150ef80d36', 'rel': 'bookmark'}]}, {'uuid': '9832ed42-1021-42af-857f-c7e06a47d21e', 'instance_uuid': None, 'maintenance': False, 'power_state': None, 'provision_state': None, 'links': [{'href': 'http://localhost/v1/nodes/9832ed42-1021-42af-857f-c7e06a47d21e', 'rel': 'self'}, {'href': 'http://localhost/nodes/9832ed42-1021-42af-857f-c7e06a47d21e', 'rel': 'bookmark'}]}]} DEBUG util.py:445: GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 {} DEBUG util.py:445: GOT:{'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'created_at': '2024-05-14T11:54:06.426706+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/dad641f7-517a-4ee3-aa8b-7256db1b3941 {} DEBUG util.py:445: GOT:{'uuid': 'dad641f7-517a-4ee3-aa8b-7256db1b3941', 'created_at': '2024-05-14T11:54:06.460240+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/dad641f7-517a-4ee3-aa8b-7256db1b3941', 'rel': 'self'}, {'href': 'http://localhost/nodes/dad641f7-517a-4ee3-aa8b-7256db1b3941', 'rel': 'bookmark'}], 'conductor': 'fake.conductor', 'allocation_uuid': None, 'chassis_uuid': None, 'ports': [{'href': 'http://localhost/v1/nodes/dad641f7-517a-4ee3-aa8b-7256db1b3941/ports', 'rel': 'self'}, {'href': 'http://localhost/nodes/dad641f7-517a-4ee3-aa8b-7256db1b3941/ports', 'rel': 'bookmark'}], 'states': [{'href': 'http://localhost/v1/nodes/dad641f7-517a-4ee3-aa8b-7256db1b3941/states', 'rel': 'self'}, {'href': 'http://localhost/nodes/dad641f7-517a-4ee3-aa8b-7256db1b3941/states', 'rel': 'bookmark'}], 'portgroups': [{'href': 'http://localhost/v1/nodes/dad641f7-517a-4ee3-aa8b-7256db1b3941/portgroups', 'rel': 'self'}, {'href': 'http://localhost/nodes/dad641f7-517a-4ee3-aa8b-7256db1b3941/portgroups', 'rel': 'bookmark'}], 'volume': [{'href': 'http://localhost/v1/nodes/dad641f7-517a-4ee3-aa8b-7256db1b3941/volume', 'rel': 'self'}, {'href': 'http://localhost/nodes/dad641f7-517a-4ee3-aa8b-7256db1b3941/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_null_field [0.104790s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_node_protected_hidden_in_lower_version [0.085014s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_update_description [0.171373s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_volume_connectors_subresource_node_not_found [0.118243s] ... ok DEBUG util.py:445: GOT:{'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'created_at': '2024-05-14T11:54:06.535146+00:00', 'updated_at': None, 'automated_clean': None, 'bios_interface': None, 'boot_interface': None, 'clean_step': {}, 'conductor_group': '', 'console_enabled': False, 'console_interface': None, 'deploy_interface': None, 'deploy_step': {}, 'driver': 'fake-hardware', 'driver_info': {'foo': 'bar', 'fake_password': '******'}, 'driver_internal_info': {'private_state': 'secret value'}, 'extra': {}, 'fault': None, 'inspection_finished_at': None, 'inspection_started_at': None, 'inspect_interface': None, 'instance_info': {'configdrive': '******', 'image_url': '******', 'foo': 'bar'}, 'instance_uuid': None, 'last_error': None, 'maintenance': False, 'maintenance_reason': None, 'management_interface': None, 'name': None, 'network_interface': None, 'owner': None, 'power_interface': None, 'power_state': None, 'properties': {'cpu_arch': 'x86_64', 'cpus': '8', 'local_gb': '10', 'memory_mb': '4096'}, 'protected': False, 'protected_reason': None, 'provision_state': 'available', 'provision_updated_at': None, 'raid_config': {}, 'raid_interface': None, 'rescue_interface': None, 'reservation': None, 'resource_class': None, 'storage_interface': None, 'target_power_state': None, 'target_provision_state': None, 'target_raid_config': {}, 'traits': [], 'vendor_interface': None, 'links': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'rel': 'bookmark'}], 'conductor': 'fake.conductor', 'chassis_uuid': None, 'ports': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports', 'rel': 'bookmark'}], 'states': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states', 'rel': 'bookmark'}], 'portgroups': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups', 'rel': 'bookmark'}], 'volume': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume', 'rel': 'bookmark'}]} DEBUG util.py:445: GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 {} DEBUG util.py:445: GOT:{'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'created_at': '2024-05-14T11:54:06.650377+00:00', 'updated_at': None, 'automated_clean': None, 'bios_interface': None, 'boot_interface': None, 'clean_step': {}, 'conductor_group': '', 'console_enabled': False, 'console_interface': None, 'deploy_interface': None, 'deploy_step': {}, 'driver': 'fake-hardware', 'driver_info': {'foo': 'bar', 'fake_password': '******'}, 'driver_internal_info': {'private_state': 'secret value'}, 'extra': {}, 'fault': None, 'inspection_finished_at': None, 'inspection_started_at': None, 'inspect_interface': None, 'instance_info': {'configdrive': '******', 'image_url': '******', 'foo': 'bar'}, 'instance_uuid': None, 'last_error': None, 'maintenance': False, 'maintenance_reason': None, 'management_interface': None, 'name': None, 'network_interface': None, 'power_interface': None, 'power_state': None, 'properties': {'cpu_arch': 'x86_64', 'cpus': '8', 'local_gb': '10', 'memory_mb': '4096'}, 'provision_state': 'available', 'provision_updated_at': None, 'raid_config': {}, 'raid_interface': None, 'rescue_interface': None, 'reservation': None, 'resource_class': None, 'storage_interface': None, 'target_power_state': None, 'target_provision_state': None, 'target_raid_config': {}, 'traits': [], 'vendor_interface': None, 'links': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'rel': 'bookmark'}], 'chassis_uuid': None, 'ports': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports', 'rel': 'bookmark'}], 'states': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states', 'rel': 'bookmark'}], 'portgroups': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups', 'rel': 'bookmark'}], 'volume': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume', 'rel': 'bookmark'}]} DEBUG util.py:445: GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 {} DEBUG util.py:445: GOT:{'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'created_at': '2024-05-14T11:54:06.650377+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: {0} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_node_retired_with_reason [0.029999s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_node_secure_boot [0.071312s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_volume_targets_subresource_noid [0.093101s] ... ok DEBUG util.py:445: GOT:{'nodes': [{'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'created_at': '2024-05-14T11:54:06.443609+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': '2024-05-14T11:54:06.443609+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/cfb2ce91-18c9-4a38-8f8f-fdec898eea8a {} DEBUG util.py:445: GOT:{'uuid': 'cfb2ce91-18c9-4a38-8f8f-fdec898eea8a', 'created_at': '2024-05-14T11:54:06.486805+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/cfb2ce91-18c9-4a38-8f8f-fdec898eea8a', 'rel': 'self'}, {'href': 'http://foo/nodes/cfb2ce91-18c9-4a38-8f8f-fdec898eea8a', 'rel': 'bookmark'}], 'chassis_uuid': None, 'ports': [{'href': 'http://foo/v1/nodes/cfb2ce91-18c9-4a38-8f8f-fdec898eea8a/ports', 'rel': 'self'}, {'href': 'http://foo/nodes/cfb2ce91-18c9-4a38-8f8f-fdec898eea8a/ports', 'rel': 'bookmark'}]} DEBUG util.py:445: GET: /v1/nodes/cfb2ce91-18c9-4a38-8f8f-fdec898eea8a {} DEBUG util.py:445: GOT:{'uuid': 'cfb2ce91-18c9-4a38-8f8f-fdec898eea8a', 'created_at': '2024-05-14T11:54:06.486805+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/cfb2ce91-18c9-4a38-8f8f-fdec898eea8a', 'rel': 'self'}, {'href': 'http://foo/nodes/cfb2ce91-18c9-4a38-8f8f-fdec898eea8a', 'rel': 'bookmark'}], 'chassis_uuid': None, 'ports': [{'href': 'http://foo/v1/nodes/cfb2ce91-18c9-4a38-8f8f-fdec898eea8a/ports', 'rel': 'self'}, {'href': 'http://foo/nodes/cfb2ce91-18c9-4a38-8f8f-fdec898eea8a/ports', 'rel': 'bookmark'}]} DEBUG util.py:445: GET: /nodes/cfb2ce91-18c9-4a38-8f8f-fdec898eea8a {} DEBUG util.py:445: GOT:{'uuid': 'cfb2ce91-18c9-4a38-8f8f-fdec898eea8a', 'created_at': '2024-05-14T11:54:06.486805+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/cfb2ce91-18c9-4a38-8f8f-fdec898eea8a', 'rel': 'self'}, {'href': 'http://foo/nodes/cfb2ce91-18c9-4a38-8f8f-fdec898eea8a', 'rel': 'bookmark'}], 'chassis_uuid': None, 'ports': [{'href': 'http://foo/v1/nodes/cfb2ce91-18c9-4a38-8f8f-fdec898eea8a/ports', 'rel': 'self'}, {'href': 'http://foo/nodes/cfb2ce91-18c9-4a38-8f8f-fdec898eea8a/ports', 'rel': 'bookmark'}]} DEBUG util.py:445: GET: /v1/nodes?associated=true&maintenance=false {} DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_maintenance_nodes_associated [0.250086s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_maintenance_nodes_error [0.047932s] ... ok DEBUG util.py:445: GOT:{'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'created_at': '2024-05-14T11:54:06.685224+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/6506757c-abb8-4750-92b8-44e0643e2d1d {} DEBUG util.py:445: GOT:{'uuid': '6506757c-abb8-4750-92b8-44e0643e2d1d', 'created_at': '2024-05-14T11:54:06.745817+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/6506757c-abb8-4750-92b8-44e0643e2d1d', 'rel': 'self'}, {'href': 'http://localhost/nodes/6506757c-abb8-4750-92b8-44e0643e2d1d', 'rel': 'bookmark'}], 'conductor': 'fake.conductor', 'allocation_uuid': None, 'chassis_uuid': None, 'ports': [{'href': 'http://localhost/v1/nodes/6506757c-abb8-4750-92b8-44e0643e2d1d/ports', 'rel': 'self'}, {'href': 'http://localhost/nodes/6506757c-abb8-4750-92b8-44e0643e2d1d/ports', 'rel': 'bookmark'}], 'states': [{'href': 'http://localhost/v1/nodes/6506757c-abb8-4750-92b8-44e0643e2d1d/states', 'rel': 'self'}, {'href': 'http://localhost/nodes/6506757c-abb8-4750-92b8-44e0643e2d1d/states', 'rel': 'bookmark'}], 'portgroups': [{'href': 'http://localhost/v1/nodes/6506757c-abb8-4750-92b8-44e0643e2d1d/portgroups', 'rel': 'self'}, {'href': 'http://localhost/nodes/6506757c-abb8-4750-92b8-44e0643e2d1d/portgroups', 'rel': 'bookmark'}], 'volume': [{'href': 'http://localhost/v1/nodes/6506757c-abb8-4750-92b8-44e0643e2d1d/volume', 'rel': 'self'}, {'href': 'http://localhost/nodes/6506757c-abb8-4750-92b8-44e0643e2d1d/volume', 'rel': 'bookmark'}]} DEBUG util.py:445: GET: /v1/nodes/06e959e9-fd86-4d43-b8e3-cd115f7a6c1a {} DEBUG util.py:445: GOT:{'uuid': '06e959e9-fd86-4d43-b8e3-cd115f7a6c1a', 'created_at': '2024-05-14T11:54:06.759754+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/06e959e9-fd86-4d43-b8e3-cd115f7a6c1a', 'rel': 'self'}, {'href': 'http://localhost/nodes/06e959e9-fd86-4d43-b8e3-cd115f7a6c1a', 'rel': 'bookmark'}], 'conductor': 'fake.conductor', 'allocation_uuid': None, 'chassis_uuid': None, 'ports': [{'href': 'http://localhost/v1/nodes/06e959e9-fd86-4d43-b8e3-cd115f7a6c1a/ports', 'rel': 'self'}, {'href': 'http://localhost/nodes/06e959e9-fd86-4d43-b8e3-cd115f7a6c1a/ports', 'rel': 'bookmark'}], 'states': [{'href': 'http://localhost/v1/nodes/06e959e9-fd86-4d43-b8e3-cd115f7a6c1a/states', 'rel': 'self'}, {'href': 'http://localhost/nodes/06e959e9-fd86-4d43-b8e3-cd115f7a6c1a/states', 'rel': 'bookmark'}], 'portgroups': [{'href': 'http://localhost/v1/nodes/06e959e9-fd86-4d43-b8e3-cd115f7a6c1a/portgroups', 'rel': 'self'}, {'href': 'http://localhost/nodes/06e959e9-fd86-4d43-b8e3-cd115f7a6c1a/portgroups', 'rel': 'bookmark'}], 'volume': [{'href': 'http://localhost/v1/nodes/06e959e9-fd86-4d43-b8e3-cd115f7a6c1a/volume', 'rel': 'self'}, {'href': 'http://localhost/nodes/06e959e9-fd86-4d43-b8e3-cd115f7a6c1a/volume', 'rel': 'bookmark'}]} DEBUG util.py:445: GET: /v1/nodes {} DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_one [0.058137s] ... 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-f825c451-b190-4279-8212-65ed38c425d0 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.1 DEBUG util.py:445: {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "created_at": "2024-05-14T11:54:06.091677+00:00", "updated_at": null, "console_enabled": false, "driver": "fake-hardware", "driver_info": {"foo": "bar", "fake_password": "******"}, "extra": {}, "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar"}, "instance_uuid": null, "last_error": null, "maintenance": false, "maintenance_reason": null, "power_state": null, "properties": {"cpu_arch": "x86_64", "cpus": "8", "local_gb": "10", "memory_mb": "4096"}, "provision_state": null, "provision_updated_at": null, "reservation": null, "target_power_state": null, "target_provision_state": null, "links": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "bookmark"}], "chassis_uuid": "e74c40e0-d825-11e2-a28f-0800200c9a66", "ports": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "bookmark"}]} DEBUG util.py:445: PATCH: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123?reset_interfaces=True [{'path': '/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-d0c77697-9f20-4e4b-bc36-14dda52ace02 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.45 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"The reset_interfaces parameter can only be used when changing the node's driver.\", \"debuginfo\": null}"} DEBUG util.py:445: PATCH: /v1/nodes/143c770d-9003-49bc-9a06-1d62db2763ce [{'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-6777d18d-a712-4444-a26d-acb348063f27 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.47 DEBUG util.py:445: {"uuid": "143c770d-9003-49bc-9a06-1d62db2763ce", "created_at": "2024-05-14T11:54:06.361344+00:00", "updated_at": null, "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/143c770d-9003-49bc-9a06-1d62db2763ce", "rel": "self"}, {"href": "http://localhost/nodes/143c770d-9003-49bc-9a06-1d62db2763ce", "rel": "bookmark"}], "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/143c770d-9003-49bc-9a06-1d62db2763ce/ports", "rel": "self"}, {"href": "http://localhost/nodes/143c770d-9003-49bc-9a06-1d62db2763ce/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/143c770d-9003-49bc-9a06-1d62db2763ce/states", "rel": "self"}, {"href": "http://localhost/nodes/143c770d-9003-49bc-9a06-1d62db2763ce/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/143c770d-9003-49bc-9a06-1d62db2763ce/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/143c770d-9003-49bc-9a06-1d62db2763ce/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/143c770d-9003-49bc-9a06-1d62db2763ce/volume", "rel": "self"}, {"href": "http://localhost/nodes/143c770d-9003-49bc-9a06-1d62db2763ce/volume", "rel": "bookmark"}]} DEBUG util.py:445: PATCH: /v1/nodes/1e6c062f-743a-42c4-baaa-bdf65a23763b [{'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-9a7f2bcf-01f3-47a1-816d-8fbae69d2537 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.47 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: fake\", \"debuginfo\": null}"} DEBUG util.py:445: PATCH: /v1/nodes/838f7b69-695b-44c4-99a2-41eca0bab8e0 [{'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-bef28f26-4b6d-4f80-ab59-2421dac27354 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.51 DEBUG util.py:445: {"uuid": "838f7b69-695b-44c4-99a2-41eca0bab8e0", "created_at": "2024-05-14T11:54:06.565898+00:00", "updated_at": null, "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/838f7b69-695b-44c4-99a2-41eca0bab8e0", "rel": "self"}, {"href": "http://localhost/nodes/838f7b69-695b-44c4-99a2-41eca0bab8e0", "rel": "bookmark"}], "conductor": null, "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/838f7b69-695b-44c4-99a2-41eca0bab8e0/ports", "rel": "self"}, {"href": "http://localhost/nodes/838f7b69-695b-44c4-99a2-41eca0bab8e0/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/838f7b69-695b-44c4-99a2-41eca0bab8e0/states", "rel": "self"}, {"href": "http://localhost/nodes/838f7b69-695b-44c4-99a2-41eca0bab8e0/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/838f7b69-695b-44c4-99a2-41eca0bab8e0/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/838f7b69-695b-44c4-99a2-41eca0bab8e0/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/838f7b69-695b-44c4-99a2-41eca0bab8e0/volume", "rel": "self"}, {"href": "http://localhost/nodes/838f7b69-695b-44c4-99a2-41eca0bab8e0/volume", "rel": "bookmark"}]} DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_update_description_oversize [0.135010s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_portgroups_subresource [0.047603s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_portgroups_subresource_old_api_version [0.026414s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_node.TestNodeHistory.test_get_history_item_not_found [0.122826s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_sort_key [0.037485s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_many_list_all_forbidden [0.100418s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_sort_key_not_allowed [0.020958s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test__update_changed_fields_lowers_conductor_group [0.051838s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_unassociated_nodes_with_limit [0.071325s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_next_link_with_association [0.093562s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_add_state_in_cleaning [0.064687s] ... ok DEBUG util.py:445: PATCH: /v1/nodes/e7f0ac24-2ad5-445e-905f-c643f630b64c [{'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-9d10f648-e960-437b-a293-3686c439265f DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.51 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Cannot update node with description exceeding 4096 characters\", \"debuginfo\": null}"} DEBUG util.py:445: PATCH: /v1/nodes/75ee2fba-a662-4ec2-94e2-f39faaa486d1 [{'path': '/boot_interface', 'value': 'fake', 'op': 'add'}] DEBUG util.py:445: GOT:Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-b85d6f74-79b8-485a-9607-bd87cbbd9f15 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"uuid": "75ee2fba-a662-4ec2-94e2-f39faaa486d1", "created_at": "2024-05-14T11:54:06.895714+00:00", "updated_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/75ee2fba-a662-4ec2-94e2-f39faaa486d1", "rel": "self"}, {"href": "http://localhost/nodes/75ee2fba-a662-4ec2-94e2-f39faaa486d1", "rel": "bookmark"}], "conductor": null, "allocation_uuid": null, "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/75ee2fba-a662-4ec2-94e2-f39faaa486d1/ports", "rel": "self"}, {"href": "http://localhost/nodes/75ee2fba-a662-4ec2-94e2-f39faaa486d1/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/75ee2fba-a662-4ec2-94e2-f39faaa486d1/states", "rel": "self"}, {"href": "http://localhost/nodes/75ee2fba-a662-4ec2-94e2-f39faaa486d1/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/75ee2fba-a662-4ec2-94e2-f39faaa486d1/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/75ee2fba-a662-4ec2-94e2-f39faaa486d1/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/75ee2fba-a662-4ec2-94e2-f39faaa486d1/volume", "rel": "self"}, {"href": "http://localhost/nodes/75ee2fba-a662-4ec2-94e2-f39faaa486d1/volume", "rel": "bookmark"}]} DEBUG util.py:445: PATCH: /v1/nodes/75ee2fba-a662-4ec2-94e2-f39faaa486d1 [{'path': '/console_interface', 'value': 'fake', 'op': 'add'}] DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_validate_by_name_unsupported [0.028704s] ... 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-15c747d9-f646-491f-8c30-900e439dc4aa DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"uuid": "75ee2fba-a662-4ec2-94e2-f39faaa486d1", "created_at": "2024-05-14T11:54:06.895714+00:00", "updated_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/75ee2fba-a662-4ec2-94e2-f39faaa486d1", "rel": "self"}, {"href": "http://localhost/nodes/75ee2fba-a662-4ec2-94e2-f39faaa486d1", "rel": "bookmark"}], "conductor": null, "allocation_uuid": null, "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/75ee2fba-a662-4ec2-94e2-f39faaa486d1/ports", "rel": "self"}, {"href": "http://localhost/nodes/75ee2fba-a662-4ec2-94e2-f39faaa486d1/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/75ee2fba-a662-4ec2-94e2-f39faaa486d1/states", "rel": "self"}, {"href": "http://localhost/nodes/75ee2fba-a662-4ec2-94e2-f39faaa486d1/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/75ee2fba-a662-4ec2-94e2-f39faaa486d1/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/75ee2fba-a662-4ec2-94e2-f39faaa486d1/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/75ee2fba-a662-4ec2-94e2-f39faaa486d1/volume", "rel": "self"}, {"href": "http://localhost/nodes/75ee2fba-a662-4ec2-94e2-f39faaa486d1/volume", "rel": "bookmark"}]} DEBUG util.py:445: PATCH: /v1/nodes/75ee2fba-a662-4ec2-94e2-f39faaa486d1 [{'path': '/deploy_interface', 'value': 'fake', 'op': 'add'}] DEBUG util.py:445: GOT:Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-79c5586c-13ae-4e94-b2da-4d8f8a69326f DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"uuid": "75ee2fba-a662-4ec2-94e2-f39faaa486d1", "created_at": "2024-05-14T11:54:06.895714+00:00", "updated_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/75ee2fba-a662-4ec2-94e2-f39faaa486d1", "rel": "self"}, {"href": "http://localhost/nodes/75ee2fba-a662-4ec2-94e2-f39faaa486d1", "rel": "bookmark"}], "conductor": null, "allocation_uuid": null, "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/75ee2fba-a662-4ec2-94e2-f39faaa486d1/ports", "rel": "self"}, {"href": "http://localhost/nodes/75ee2fba-a662-4ec2-94e2-f39faaa486d1/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/75ee2fba-a662-4ec2-94e2-f39faaa486d1/states", "rel": "self"}, {"href": "http://localhost/nodes/75ee2fba-a662-4ec2-94e2-f39faaa486d1/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/75ee2fba-a662-4ec2-94e2-f39faaa486d1/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/75ee2fba-a662-4ec2-94e2-f39faaa486d1/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/75ee2fba-a662-4ec2-94e2-f39faaa486d1/volume", "rel": "self"}, {"href": "http://localhost/nodes/75ee2fba-a662-4ec2-94e2-f39faaa486d1/volume", "rel": "bookmark"}]} DEBUG util.py:445: PATCH: /v1/nodes/75ee2fba-a662-4ec2-94e2-f39faaa486d1 [{'path': '/inspect_interface', 'value': 'fake', 'op': 'add'}] DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_validate_by_uuid [0.031529s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_patch_add_name_ok [0.077123s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_validate_by_uuid_using_deprecated_interface [0.027349s] ... ok DEBUG util.py:445: GOT:{'nodes': [{'uuid': '531cfb27-e9c5-4edf-b151-6e6e7db91468', 'instance_uuid': 'f5ed956b-af1a-4391-bc97-e4cc1aa852fa', 'maintenance': False, 'power_state': None, 'provision_state': None, 'links': [{'href': 'http://localhost/v1/nodes/531cfb27-e9c5-4edf-b151-6e6e7db91468', 'rel': 'self'}, {'href': 'http://localhost/nodes/531cfb27-e9c5-4edf-b151-6e6e7db91468', 'rel': 'bookmark'}]}, {'uuid': 'dd2eb8ea-9576-4ae6-bced-7aa8d62d0fa9', 'instance_uuid': '5231edfb-17c9-435c-9a6f-5214e2c2637a', 'maintenance': False, 'power_state': None, 'provision_state': None, 'links': [{'href': 'http://localhost/v1/nodes/dd2eb8ea-9576-4ae6-bced-7aa8d62d0fa9', 'rel': 'self'}, {'href': 'http://localhost/nodes/dd2eb8ea-9576-4ae6-bced-7aa8d62d0fa9', 'rel': 'bookmark'}]}, {'uuid': '615dede8-1560-4ace-a5ed-53f971aefff8', 'instance_uuid': '1b1329f6-6d2c-49cd-993f-a192b63859c6', 'maintenance': False, 'power_state': None, 'provision_state': None, 'links': [{'href': 'http://localhost/v1/nodes/615dede8-1560-4ace-a5ed-53f971aefff8', 'rel': 'self'}, {'href': 'http://localhost/nodes/615dede8-1560-4ace-a5ed-53f971aefff8', 'rel': 'bookmark'}]}, {'uuid': 'fda270c1-7be1-47d2-a7f6-6c3bf3bf7589', 'instance_uuid': '11229253-e8e3-47a0-9fdf-1d4d7a3fce7f', 'maintenance': False, 'power_state': None, 'provision_state': None, 'links': [{'href': 'http://localhost/v1/nodes/fda270c1-7be1-47d2-a7f6-6c3bf3bf7589', 'rel': 'self'}, {'href': 'http://localhost/nodes/fda270c1-7be1-47d2-a7f6-6c3bf3bf7589', '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': 'a5100944-e25a-4706-a27b-3630038df0c5', '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': 'a5100944-e25a-4706-a27b-3630038df0c5', '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-d088488e-371a-42c0-ad9e-3a5c385345fd DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.1 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Invalid maintenance: Unrecognized value 'blah', acceptable values are: '0', '1', 'f', 'false', 'n', 'no', 'off', 'on', 't', 'true', 'y', 'yes'\", \"debuginfo\": null}"} DEBUG util.py:445: GET: /v1/nodes {} DEBUG util.py:445: GOT:{'nodes': [{'uuid': '086c416d-bab5-49f6-9cbd-976fab0bc013', 'instance_uuid': None, 'maintenance': False, 'power_state': None, 'provision_state': 'available', 'name': None, 'links': [{'href': 'http://localhost/v1/nodes/086c416d-bab5-49f6-9cbd-976fab0bc013', 'rel': 'self'}, {'href': 'http://localhost/nodes/086c416d-bab5-49f6-9cbd-976fab0bc013', 'rel': 'bookmark'}]}, {'uuid': '303643b6-6eb9-49bc-a418-dadae9ae4d27', 'instance_uuid': None, 'maintenance': False, 'power_state': None, 'provision_state': 'available', 'name': None, 'links': [{'href': 'http://localhost/v1/nodes/303643b6-6eb9-49bc-a418-dadae9ae4d27', 'rel': 'self'}, {'href': 'http://localhost/nodes/303643b6-6eb9-49bc-a418-dadae9ae4d27', 'rel': 'bookmark'}]}, {'uuid': 'aa24cddb-0aa5-44a0-a3d6-bba38864d9bf', 'instance_uuid': None, 'maintenance': False, 'power_state': None, 'provision_state': 'available', 'name': None, 'links': [{'href': 'http://localhost/v1/nodes/aa24cddb-0aa5-44a0-a3d6-bba38864d9bf', 'rel': 'self'}, {'href': 'http://localhost/nodes/aa24cddb-0aa5-44a0-a3d6-bba38864d9bf', 'rel': 'bookmark'}]}, {'uuid': '04c48eb1-4549-4321-beef-c6f33b1ad6d3', 'instance_uuid': None, 'maintenance': False, 'power_state': None, 'provision_state': 'available', 'name': None, 'links': [{'href': 'http://localhost/v1/nodes/04c48eb1-4549-4321-beef-c6f33b1ad6d3', 'rel': 'self'}, {'href': 'http://localhost/nodes/04c48eb1-4549-4321-beef-c6f33b1ad6d3', 'rel': 'bookmark'}]}, {'uuid': '01842154-1752-48d7-bead-71f3fc0f08cf', 'instance_uuid': None, 'maintenance': False, 'power_state': None, 'provision_state': 'available', 'name': None, 'links': [{'href': 'http://localhost/v1/nodes/01842154-1752-48d7-bead-71f3fc0f08cf', 'rel': 'self'}, {'href': 'http://localhost/nodes/01842154-1752-48d7-bead-71f3fc0f08cf', 'rel': 'bookmark'}]}, {'uuid': 'f29a56dc-82b7-4e10-a6bb-5bf9d3bd4dbe', 'instance_uuid': None, 'maintenance': False, 'power_state': None, 'provision_state': 'available', 'name': None, 'links': [{'href': 'http://localhost/v1/nodes/f29a56dc-82b7-4e10-a6bb-5bf9d3bd4dbe', 'rel': 'self'}, {'href': 'http://localhost/nodes/f29a56dc-82b7-4e10-a6bb-5bf9d3bd4dbe', 'rel': 'bookmark'}]}]} DEBUG util.py:445: GET: /v1/nodes/?limit=3&associated=True {} DEBUG util.py:445: GOT:{'nodes': [{'uuid': '7285f712-294d-479c-b355-be29c9f2d4e3', 'instance_uuid': 'd538eb0a-478b-43dc-bbab-0cd2e94e0874', 'maintenance': False, 'power_state': None, 'provision_state': None, 'links': [{'href': 'http://localhost/v1/nodes/7285f712-294d-479c-b355-be29c9f2d4e3', 'rel': 'self'}, {'href': 'http://localhost/nodes/7285f712-294d-479c-b355-be29c9f2d4e3', 'rel': 'bookmark'}]}, {'uuid': 'ac188996-0d0a-470a-b151-1cca6aa62fa0', 'instance_uuid': '4e5829dc-cd2e-47ef-aae1-45ef59dcef32', 'maintenance': False, 'power_state': None, 'provision_state': None, 'links': [{'href': 'http://localhost/v1/nodes/ac188996-0d0a-470a-b151-1cca6aa62fa0', 'rel': 'self'}, {'href': 'http://localhost/nodes/ac188996-0d0a-470a-b151-1cca6aa62fa0', 'rel': 'bookmark'}]}, {'uuid': '43f16c7b-0743-4639-83c7-28688e4928c9', 'instance_uuid': '468db502-ddf4-49a7-ae07-9f51813d3f3f', 'maintenance': False, 'power_state': None, 'provision_state': None, 'links': [{'href': 'http://localhost/v1/nodes/43f16c7b-0743-4639-83c7-28688e4928c9', 'rel': 'self'}, {'href': 'http://localhost/nodes/43f16c7b-0743-4639-83c7-28688e4928c9', '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=43f16c7b-0743-4639-83c7-28688e4928c9'} DEBUG util.py:445: GET: /v1/nodes/detail?limit=3&associated=true {} DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_next_link_with_association_with_detail [0.082414s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_node_automated_clean_true_field [0.032088s] ... ok DEBUG util.py:445: GOT:{'nodes': [{'uuid': '17380542-95b6-4622-9be7-0aa08013aeea', 'created_at': '2024-05-14T11:54:07.094248+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': '64be0582-ed5c-4fa9-8e9e-3dc80c538d87', '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/17380542-95b6-4622-9be7-0aa08013aeea', 'rel': 'self'}, {'href': 'http://localhost/nodes/17380542-95b6-4622-9be7-0aa08013aeea', 'rel': 'bookmark'}], 'chassis_uuid': None, 'ports': [{'href': 'http://localhost/v1/nodes/17380542-95b6-4622-9be7-0aa08013aeea/ports', 'rel': 'self'}, {'href': 'http://localhost/nodes/17380542-95b6-4622-9be7-0aa08013aeea/ports', 'rel': 'bookmark'}]}, {'uuid': '9abc866e-40b6-4f49-9529-c369d5359690', 'created_at': '2024-05-14T11:54:07.096733+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': 'ca319128-d81a-415c-8d39-ee48838919da', '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/9abc866e-40b6-4f49-9529-c369d5359690', 'rel': 'self'}, {'href': 'http://localhost/nodes/9abc866e-40b6-4f49-9529-c369d5359690', 'rel': 'bookmark'}], 'chassis_uuid': None, 'ports': [{'href': 'http://localhost/v1/nodes/9abc866e-40b6-4f49-9529-c369d5359690/ports', 'rel': 'self'}, {'href': 'http://localhost/nodes/9abc866e-40b6-4f49-9529-c369d5359690/ports', 'rel': 'bookmark'}]}, {'uuid': 'd3897b41-a8aa-4bfb-b030-99fb7ccd059c', 'created_at': '2024-05-14T11:54:07.099157+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': 'ba57e57b-4d9f-4b94-8cf9-6fbfa898f845', '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/d3897b41-a8aa-4bfb-b030-99fb7ccd059c', 'rel': 'self'}, {'href': 'http://localhost/nodes/d3897b41-a8aa-4bfb-b030-99fb7ccd059c', 'rel': 'bookmark'}], 'chassis_uuid': None, 'ports': [{'href': 'http://localhost/v1/nodes/d3897b41-a8aa-4bfb-b030-99fb7ccd059c/ports', 'rel': 'self'}, {'href': 'http://localhost/nodes/d3897b41-a8aa-4bfb-b030-99fb7ccd059c/ports', 'rel': 'bookmark'}]}], 'next': 'http://localhost/v1/nodes/detail?sort_key=id&sort_dir=asc&associated=True&limit=3&marker=d3897b41-a8aa-4bfb-b030-99fb7ccd059c'} DEBUG util.py:445: GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 {} DEBUG util.py:445: GOT:{'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'created_at': '2024-05-14T11:54:07.143838+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/c913fa43-fb56-472c-8d18-2b858ec6d876 {} DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_node_boot_mode [0.046002s] ... ok DEBUG util.py:445: GOT:{'uuid': 'c913fa43-fb56-472c-8d18-2b858ec6d876', 'created_at': '2024-05-14T11:54:07.176991+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/c913fa43-fb56-472c-8d18-2b858ec6d876', 'rel': 'self'}, {'href': 'http://localhost/nodes/c913fa43-fb56-472c-8d18-2b858ec6d876', 'rel': 'bookmark'}], 'conductor': 'fake.conductor', 'allocation_uuid': None, 'chassis_uuid': None, 'ports': [{'href': 'http://localhost/v1/nodes/c913fa43-fb56-472c-8d18-2b858ec6d876/ports', 'rel': 'self'}, {'href': 'http://localhost/nodes/c913fa43-fb56-472c-8d18-2b858ec6d876/ports', 'rel': 'bookmark'}], 'states': [{'href': 'http://localhost/v1/nodes/c913fa43-fb56-472c-8d18-2b858ec6d876/states', 'rel': 'self'}, {'href': 'http://localhost/nodes/c913fa43-fb56-472c-8d18-2b858ec6d876/states', 'rel': 'bookmark'}], 'portgroups': [{'href': 'http://localhost/v1/nodes/c913fa43-fb56-472c-8d18-2b858ec6d876/portgroups', 'rel': 'self'}, {'href': 'http://localhost/nodes/c913fa43-fb56-472c-8d18-2b858ec6d876/portgroups', 'rel': 'bookmark'}], 'volume': [{'href': 'http://localhost/v1/nodes/c913fa43-fb56-472c-8d18-2b858ec6d876/volume', 'rel': 'self'}, {'href': 'http://localhost/nodes/c913fa43-fb56-472c-8d18-2b858ec6d876/volume', 'rel': 'bookmark'}]} DEBUG util.py:445: GET: /v1/nodes/d82a9bd7-4463-45be-9740-b1b0f6a3b991 {} DEBUG util.py:445: GOT:{'uuid': 'd82a9bd7-4463-45be-9740-b1b0f6a3b991', 'created_at': '2024-05-14T11:54:07.187917+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/d82a9bd7-4463-45be-9740-b1b0f6a3b991', 'rel': 'self'}, {'href': 'http://localhost/nodes/d82a9bd7-4463-45be-9740-b1b0f6a3b991', 'rel': 'bookmark'}], 'conductor': 'fake.conductor', 'allocation_uuid': None, 'chassis_uuid': None, 'ports': [{'href': 'http://localhost/v1/nodes/d82a9bd7-4463-45be-9740-b1b0f6a3b991/ports', 'rel': 'self'}, {'href': 'http://localhost/nodes/d82a9bd7-4463-45be-9740-b1b0f6a3b991/ports', 'rel': 'bookmark'}], 'states': [{'href': 'http://localhost/v1/nodes/d82a9bd7-4463-45be-9740-b1b0f6a3b991/states', 'rel': 'self'}, {'href': 'http://localhost/nodes/d82a9bd7-4463-45be-9740-b1b0f6a3b991/states', 'rel': 'bookmark'}], 'portgroups': [{'href': 'http://localhost/v1/nodes/d82a9bd7-4463-45be-9740-b1b0f6a3b991/portgroups', 'rel': 'self'}, {'href': 'http://localhost/nodes/d82a9bd7-4463-45be-9740-b1b0f6a3b991/portgroups', 'rel': 'bookmark'}], 'volume': [{'href': 'http://localhost/v1/nodes/d82a9bd7-4463-45be-9740-b1b0f6a3b991/volume', 'rel': 'self'}, {'href': 'http://localhost/nodes/d82a9bd7-4463-45be-9740-b1b0f6a3b991/volume', 'rel': 'bookmark'}]} DEBUG util.py:445: GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 {} DEBUG util.py:445: GOT:{'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'created_at': '2024-05-14T11:54:07.224988+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: {3} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_node_deploy_step_hidden_in_lower_version [0.039135s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_node_lessee_hidden_in_lower_version [0.041258s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_volume_connectors_subresource [0.210791s] ... 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-2dff82f5-5faf-4d6c-ada4-a9c8cc9390e8 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"uuid": "75ee2fba-a662-4ec2-94e2-f39faaa486d1", "created_at": "2024-05-14T11:54:06.895714+00:00", "updated_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/75ee2fba-a662-4ec2-94e2-f39faaa486d1", "rel": "self"}, {"href": "http://localhost/nodes/75ee2fba-a662-4ec2-94e2-f39faaa486d1", "rel": "bookmark"}], "conductor": null, "allocation_uuid": null, "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/75ee2fba-a662-4ec2-94e2-f39faaa486d1/ports", "rel": "self"}, {"href": "http://localhost/nodes/75ee2fba-a662-4ec2-94e2-f39faaa486d1/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/75ee2fba-a662-4ec2-94e2-f39faaa486d1/states", "rel": "self"}, {"href": "http://localhost/nodes/75ee2fba-a662-4ec2-94e2-f39faaa486d1/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/75ee2fba-a662-4ec2-94e2-f39faaa486d1/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/75ee2fba-a662-4ec2-94e2-f39faaa486d1/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/75ee2fba-a662-4ec2-94e2-f39faaa486d1/volume", "rel": "self"}, {"href": "http://localhost/nodes/75ee2fba-a662-4ec2-94e2-f39faaa486d1/volume", "rel": "bookmark"}]} DEBUG util.py:445: PATCH: /v1/nodes/75ee2fba-a662-4ec2-94e2-f39faaa486d1 [{'path': '/management_interface', 'value': 'fake', 'op': 'add'}] DEBUG util.py:445: GOT:Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-e20adb70-9d62-4af5-a6b4-e7567941c90b DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"uuid": "75ee2fba-a662-4ec2-94e2-f39faaa486d1", "created_at": "2024-05-14T11:54:06.895714+00:00", "updated_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/75ee2fba-a662-4ec2-94e2-f39faaa486d1", "rel": "self"}, {"href": "http://localhost/nodes/75ee2fba-a662-4ec2-94e2-f39faaa486d1", "rel": "bookmark"}], "conductor": null, "allocation_uuid": null, "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/75ee2fba-a662-4ec2-94e2-f39faaa486d1/ports", "rel": "self"}, {"href": "http://localhost/nodes/75ee2fba-a662-4ec2-94e2-f39faaa486d1/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/75ee2fba-a662-4ec2-94e2-f39faaa486d1/states", "rel": "self"}, {"href": "http://localhost/nodes/75ee2fba-a662-4ec2-94e2-f39faaa486d1/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/75ee2fba-a662-4ec2-94e2-f39faaa486d1/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/75ee2fba-a662-4ec2-94e2-f39faaa486d1/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/75ee2fba-a662-4ec2-94e2-f39faaa486d1/volume", "rel": "self"}, {"href": "http://localhost/nodes/75ee2fba-a662-4ec2-94e2-f39faaa486d1/volume", "rel": "bookmark"}]} DEBUG util.py:445: PATCH: /v1/nodes/75ee2fba-a662-4ec2-94e2-f39faaa486d1 [{'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-b037719e-1a5c-4c3d-b21d-df424b930a6a DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"uuid": "75ee2fba-a662-4ec2-94e2-f39faaa486d1", "created_at": "2024-05-14T11:54:06.895714+00:00", "updated_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/75ee2fba-a662-4ec2-94e2-f39faaa486d1", "rel": "self"}, {"href": "http://localhost/nodes/75ee2fba-a662-4ec2-94e2-f39faaa486d1", "rel": "bookmark"}], "conductor": null, "allocation_uuid": null, "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/75ee2fba-a662-4ec2-94e2-f39faaa486d1/ports", "rel": "self"}, {"href": "http://localhost/nodes/75ee2fba-a662-4ec2-94e2-f39faaa486d1/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/75ee2fba-a662-4ec2-94e2-f39faaa486d1/states", "rel": "self"}, {"href": "http://localhost/nodes/75ee2fba-a662-4ec2-94e2-f39faaa486d1/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/75ee2fba-a662-4ec2-94e2-f39faaa486d1/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/75ee2fba-a662-4ec2-94e2-f39faaa486d1/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/75ee2fba-a662-4ec2-94e2-f39faaa486d1/volume", "rel": "self"}, {"href": "http://localhost/nodes/75ee2fba-a662-4ec2-94e2-f39faaa486d1/volume", "rel": "bookmark"}]} DEBUG util.py:445: PATCH: /v1/nodes/75ee2fba-a662-4ec2-94e2-f39faaa486d1 [{'path': '/raid_interface', 'value': 'fake', 'op': 'add'}] DEBUG util.py:445: GOT:Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-f84830b1-4e05-4060-ba05-88903b167dfd DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"uuid": "75ee2fba-a662-4ec2-94e2-f39faaa486d1", "created_at": "2024-05-14T11:54:06.895714+00:00", "updated_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/75ee2fba-a662-4ec2-94e2-f39faaa486d1", "rel": "self"}, {"href": "http://localhost/nodes/75ee2fba-a662-4ec2-94e2-f39faaa486d1", "rel": "bookmark"}], "conductor": null, "allocation_uuid": null, "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/75ee2fba-a662-4ec2-94e2-f39faaa486d1/ports", "rel": "self"}, {"href": "http://localhost/nodes/75ee2fba-a662-4ec2-94e2-f39faaa486d1/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/75ee2fba-a662-4ec2-94e2-f39faaa486d1/states", "rel": "self"}, {"href": "http://localhost/nodes/75ee2fba-a662-4ec2-94e2-f39faaa486d1/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/75ee2fba-a662-4ec2-94e2-f39faaa486d1/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/75ee2fba-a662-4ec2-94e2-f39faaa486d1/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/75ee2fba-a662-4ec2-94e2-f39faaa486d1/volume", "rel": "self"}, {"href": "http://localhost/nodes/75ee2fba-a662-4ec2-94e2-f39faaa486d1/volume", "rel": "bookmark"}]} DEBUG util.py:445: PATCH: /v1/nodes/75ee2fba-a662-4ec2-94e2-f39faaa486d1 [{'path': '/vendor_interface', 'value': 'fake', 'op': 'add'}] DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_update_interface_fields [0.325608s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_update_interface_fields_bad_version [0.089818s] ... ok DEBUG util.py:445: GOT:{'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'created_at': '2024-05-14T11:54:06.290554+00:00', 'updated_at': None, 'boot_interface': None, 'clean_step': {}, 'console_enabled': False, 'console_interface': None, 'deploy_interface': None, 'driver': 'fake-hardware', 'driver_info': {'foo': 'bar', 'fake_password': '******'}, 'driver_internal_info': {'private_state': 'secret value'}, 'extra': {}, 'inspection_finished_at': None, 'inspection_started_at': None, 'inspect_interface': None, 'instance_info': {'configdrive': '******', 'image_url': '******', 'foo': 'bar'}, 'instance_uuid': None, 'last_error': None, 'maintenance': False, 'maintenance_reason': None, 'management_interface': None, 'name': None, 'network_interface': None, 'power_interface': None, 'power_state': None, 'properties': {'cpu_arch': 'x86_64', 'cpus': '8', 'local_gb': '10', 'memory_mb': '4096'}, 'provision_state': 'available', 'provision_updated_at': None, 'raid_config': {}, 'raid_interface': None, 'reservation': None, 'resource_class': None, 'storage_interface': None, 'target_power_state': None, 'target_provision_state': None, 'target_raid_config': {}, 'vendor_interface': None, 'links': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'rel': 'bookmark'}], 'chassis_uuid': None, 'ports': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports', 'rel': 'bookmark'}], 'states': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states', 'rel': 'bookmark'}], 'portgroups': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups', 'rel': 'bookmark'}], 'volume': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume', 'rel': 'bookmark'}]} DEBUG util.py:445: GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 {} DEBUG util.py:445: GOT:{'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'created_at': '2024-05-14T11:54:06.358916+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/123 123/ports {} DEBUG util.py:445: GOT:Response: 400 Bad Request DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: {"error_message": "{\"code\": 400, \"title\": \"Bad Request\", \"description\": \"Expected UUID or name for node: 123 123\"}"} DEBUG util.py:445: GET: /v1/nodes/ports {} DEBUG util.py:445: GOT:Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: {"error_message": "{\"code\": 404, \"title\": \"Not Found\", \"description\": \"\"}"} DEBUG util.py:445: GET: /v1/nodes/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-78ae3e08-bff2-4c2f-bead-0c059222f448 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.24 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Operation not permitted.\", \"debuginfo\": null}"} DEBUG util.py:445: GET: /v1/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-f1214963-8ba7-41a0-b952-0fadb770fe89 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node eeeeeeee-cccc-aaaa-bbbb-cccccccccccc could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: GET: /v1/nodes/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-b3cffbe8-0ba1-4a5e-8c82-6e81a554c0db DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node history record 52949728-59fc-4651-84c8-b0a16b469372 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: PATCH: /v1/nodes/8ed5c2de-1d14-42c6-b981-19c9d6a38a1e [{'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-95695025-10a1-49be-ba4c-b4eb3f548f99 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.1 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 8ed5c2de-1d14-42c6-b981-19c9d6a38a1e 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': '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-6c6b44f4-f706-48ab-af25-b47715cfa557 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.5 DEBUG util.py:445: {"uuid": "deadbeef-0000-1111-2222-333333333333", "created_at": "2024-05-14T11:54:07.061969+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: {1} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_patch_add_replace_invalid [0.039306s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_patch_allocation_uuid_forbidden [0.117711s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_patch_conductor_forbidden [0.056784s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_patch_fault_forbidden [0.036061s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_volume_targets_subresource [0.069764s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_patch_policy_update [0.076465s] ... 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-e2c7e8bc-c882-44f5-8081-7da7d50b5fa3 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"uuid": "75ee2fba-a662-4ec2-94e2-f39faaa486d1", "created_at": "2024-05-14T11:54:06.895714+00:00", "updated_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/75ee2fba-a662-4ec2-94e2-f39faaa486d1", "rel": "self"}, {"href": "http://localhost/nodes/75ee2fba-a662-4ec2-94e2-f39faaa486d1", "rel": "bookmark"}], "conductor": null, "allocation_uuid": null, "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/75ee2fba-a662-4ec2-94e2-f39faaa486d1/ports", "rel": "self"}, {"href": "http://localhost/nodes/75ee2fba-a662-4ec2-94e2-f39faaa486d1/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/75ee2fba-a662-4ec2-94e2-f39faaa486d1/states", "rel": "self"}, {"href": "http://localhost/nodes/75ee2fba-a662-4ec2-94e2-f39faaa486d1/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/75ee2fba-a662-4ec2-94e2-f39faaa486d1/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/75ee2fba-a662-4ec2-94e2-f39faaa486d1/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/75ee2fba-a662-4ec2-94e2-f39faaa486d1/volume", "rel": "self"}, {"href": "http://localhost/nodes/75ee2fba-a662-4ec2-94e2-f39faaa486d1/volume", "rel": "bookmark"}]} DEBUG util.py:445: PATCH: /v1/nodes/54224c11-99ca-49aa-875c-d346c07104a9 [{'path': '/boot_interface', 'value': 'fake', 'op': 'add'}] DEBUG util.py:445: GOT:Response: 406 Not Acceptable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-e7e201e7-1c42-4059-8f78-d689d78ec26f DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.30 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Request not acceptable.\", \"debuginfo\": null}"} DEBUG util.py:445: PATCH: /v1/nodes/54224c11-99ca-49aa-875c-d346c07104a9 [{'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-8dc2dcff-8ff6-4559-9ded-c81f12408dc9 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.30 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Request not acceptable.\", \"debuginfo\": null}"} DEBUG util.py:445: PATCH: /v1/nodes/54224c11-99ca-49aa-875c-d346c07104a9 [{'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-733a4f7b-28b9-4f08-88bb-e4ea4e7e33a6 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.30 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Request not acceptable.\", \"debuginfo\": null}"} DEBUG util.py:445: PATCH: /v1/nodes/54224c11-99ca-49aa-875c-d346c07104a9 [{'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-43888971-d87a-402e-8806-caa78d2de585 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.30 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Request not acceptable.\", \"debuginfo\": null}"} DEBUG util.py:445: PATCH: /v1/nodes/54224c11-99ca-49aa-875c-d346c07104a9 [{'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-05aa2270-6bde-4105-b66f-e6965e4590f3 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.30 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Request not acceptable.\", \"debuginfo\": null}"} DEBUG util.py:445: PATCH: /v1/nodes/54224c11-99ca-49aa-875c-d346c07104a9 [{'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-23848960-9b28-4efd-8044-69444abdb9d4 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.30 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Request not acceptable.\", \"debuginfo\": null}"} DEBUG util.py:445: PATCH: /v1/nodes/54224c11-99ca-49aa-875c-d346c07104a9 [{'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-9fd63f6f-9307-44f0-9b2f-d84ee633152e DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.30 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Request not acceptable.\", \"debuginfo\": null}"} DEBUG util.py:445: PATCH: /v1/nodes/54224c11-99ca-49aa-875c-d346c07104a9 [{'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-74515f9f-19b1-4cee-8dc7-8f70124b1b11 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.30 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Request not acceptable.\", \"debuginfo\": null}"} DEBUG util.py:445: PATCH: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 [{'path': '/instance_uuid', 'value': 'aaaaaaaa-1111-bbbb-2222-cccccccccccc', 'op': 'replace'}] DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_update_ok [0.193810s] ... ok DEBUG util.py:445: GOT:{'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'created_at': '2024-05-14T11:54:07.224988+00:00', 'updated_at': None, 'bios_interface': None, 'boot_interface': None, 'clean_step': {}, 'console_enabled': False, 'console_interface': None, 'deploy_interface': None, 'deploy_step': {}, 'driver': 'fake-hardware', 'driver_info': {'foo': 'bar', 'fake_password': '******'}, 'driver_internal_info': {'private_state': 'secret value'}, 'extra': {}, 'fault': None, 'inspection_finished_at': None, 'inspection_started_at': None, 'inspect_interface': None, 'instance_info': {'configdrive': '******', 'image_url': '******', 'foo': 'bar'}, 'instance_uuid': None, 'last_error': None, 'maintenance': False, 'maintenance_reason': None, 'management_interface': None, 'name': None, 'network_interface': None, 'power_interface': None, 'power_state': None, 'properties': {'cpu_arch': 'x86_64', 'cpus': '8', 'local_gb': '10', 'memory_mb': '4096'}, 'provision_state': 'available', 'provision_updated_at': None, 'raid_config': {}, 'raid_interface': None, 'rescue_interface': None, 'reservation': None, 'resource_class': None, 'storage_interface': None, 'target_power_state': None, 'target_provision_state': None, 'target_raid_config': {}, 'traits': [], 'vendor_interface': None, 'links': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'rel': 'bookmark'}], 'chassis_uuid': None, 'ports': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports', 'rel': 'bookmark'}], 'states': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states', 'rel': 'bookmark'}], 'portgroups': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups', 'rel': 'bookmark'}], 'volume': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume', 'rel': 'bookmark'}]} DEBUG util.py:445: GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 {} DEBUG util.py:445: GOT:{'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'created_at': '2024-05-14T11:54:07.266414+00:00', 'updated_at': None, 'automated_clean': None, 'bios_interface': None, 'boot_interface': None, 'clean_step': {}, 'conductor_group': '', 'console_enabled': False, 'console_interface': None, 'deploy_interface': None, 'deploy_step': {}, 'description': None, 'driver': 'fake-hardware', 'driver_info': {'foo': 'bar', 'fake_password': '******'}, 'driver_internal_info': {'private_state': 'secret value'}, 'extra': {}, 'fault': None, 'inspection_finished_at': None, 'inspection_started_at': None, 'inspect_interface': None, 'instance_info': {'configdrive': '******', 'image_url': '******', 'foo': 'bar'}, 'instance_uuid': None, 'last_error': None, 'maintenance': False, 'maintenance_reason': None, 'management_interface': None, 'name': None, 'network_interface': None, 'owner': None, 'power_interface': None, 'power_state': None, 'properties': {'cpu_arch': 'x86_64', 'cpus': '8', 'local_gb': '10', 'memory_mb': '4096'}, 'protected': False, 'protected_reason': None, 'provision_state': 'available', 'provision_updated_at': None, 'raid_config': {}, 'raid_interface': None, 'rescue_interface': None, 'reservation': None, 'resource_class': None, 'retired': False, 'retired_reason': None, 'storage_interface': None, 'target_power_state': None, 'target_provision_state': None, 'target_raid_config': {}, 'traits': [], 'vendor_interface': None, 'links': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'rel': 'bookmark'}], 'conductor': 'fake.conductor', 'allocation_uuid': None, 'chassis_uuid': None, 'ports': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports', 'rel': 'bookmark'}], 'states': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states', 'rel': 'bookmark'}], 'portgroups': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups', 'rel': 'bookmark'}], 'volume': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume', 'rel': 'bookmark'}]} DEBUG util.py:445: GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 {} DEBUG util.py:445: GOT:{'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'created_at': '2024-05-14T11:54:07.266414+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: {3} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_node_retired_hidden_in_lower_version [0.047746s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_node_states_boot_mode [0.038751s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_node_states_secure_boot [0.056992s] ... ok DEBUG util.py:445: GOT:{'nodes': [{'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'instance_uuid': None, 'maintenance': False, 'power_state': None, 'provision_state': 'available', 'name': None, 'links': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'rel': 'bookmark'}]}]} DEBUG util.py:445: GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups {} DEBUG util.py:445: GOT:{'portgroups': [{'uuid': 'dc73e4c0-be67-4630-831e-a8d34f30a49e', 'address': '52:54:00:cf:2d:30', 'name': 'pg-0', 'links': [{'href': 'http://localhost/v1/portgroups/dc73e4c0-be67-4630-831e-a8d34f30a49e', 'rel': 'self'}, {'href': 'http://localhost/portgroups/dc73e4c0-be67-4630-831e-a8d34f30a49e', 'rel': 'bookmark'}]}, {'uuid': 'e782877f-e3c2-4177-93b2-a72812b174d6', 'address': '52:54:00:cf:2d:31', 'name': 'pg-1', 'links': [{'href': 'http://localhost/v1/portgroups/e782877f-e3c2-4177-93b2-a72812b174d6', 'rel': 'self'}, {'href': 'http://localhost/portgroups/e782877f-e3c2-4177-93b2-a72812b174d6', 'rel': 'bookmark'}]}]} DEBUG util.py:445: GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups?limit=1 {} DEBUG util.py:445: GOT:{'portgroups': [{'uuid': 'dc73e4c0-be67-4630-831e-a8d34f30a49e', 'address': '52:54:00:cf:2d:30', 'name': 'pg-0', 'links': [{'href': 'http://localhost/v1/portgroups/dc73e4c0-be67-4630-831e-a8d34f30a49e', 'rel': 'self'}, {'href': 'http://localhost/portgroups/dc73e4c0-be67-4630-831e-a8d34f30a49e', 'rel': 'bookmark'}]}], 'next': 'http://localhost/v1/portgroups?sort_key=id&sort_dir=asc&fields=uuid,address,name&limit=1&marker=dc73e4c0-be67-4630-831e-a8d34f30a49e'} DEBUG util.py:445: GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups {} DEBUG util.py:445: GOT:Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: {"error_message": "{\"code\": 404, \"title\": \"Not Found\", \"description\": \"\"}"} DEBUG util.py:445: GET: /v1/nodes?sort_key=uuid {} DEBUG util.py:445: GOT:{'nodes': [{'uuid': '1a02fd9c-cbb2-4c84-bf9d-b0de44e83cf2', 'instance_uuid': None, 'maintenance': False, 'power_state': None, 'provision_state': None, 'links': [{'href': 'http://localhost/v1/nodes/1a02fd9c-cbb2-4c84-bf9d-b0de44e83cf2', 'rel': 'self'}, {'href': 'http://localhost/nodes/1a02fd9c-cbb2-4c84-bf9d-b0de44e83cf2', 'rel': 'bookmark'}]}, {'uuid': '1a2f8aeb-390f-48d3-a0e7-e60e9107d71d', 'instance_uuid': None, 'maintenance': False, 'power_state': None, 'provision_state': None, 'links': [{'href': 'http://localhost/v1/nodes/1a2f8aeb-390f-48d3-a0e7-e60e9107d71d', 'rel': 'self'}, {'href': 'http://localhost/nodes/1a2f8aeb-390f-48d3-a0e7-e60e9107d71d', 'rel': 'bookmark'}]}, {'uuid': '4a01104b-2612-4fcd-8282-9dfd1b8565bf', 'instance_uuid': None, 'maintenance': False, 'power_state': None, 'provision_state': None, 'links': [{'href': 'http://localhost/v1/nodes/4a01104b-2612-4fcd-8282-9dfd1b8565bf', 'rel': 'self'}, {'href': 'http://localhost/nodes/4a01104b-2612-4fcd-8282-9dfd1b8565bf', 'rel': 'bookmark'}]}]} DEBUG util.py:445: GET: /v1/nodes?sort_key=resource_class {} DEBUG util.py:445: GOT:Response: 406 Not Acceptable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-a265797f-134b-4804-9819-b833538edc79 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.20 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Request not acceptable.\", \"debuginfo\": null}"} DEBUG util.py:445: GET: /v1/nodes?associated=False&limit=2 {} DEBUG util.py:445: GOT:{'nodes': [{'uuid': 'f5e8fe43-e6a5-413c-b41e-085357b515d4', 'instance_uuid': None, 'maintenance': False, 'power_state': None, 'provision_state': None, 'links': [{'href': 'http://localhost/v1/nodes/f5e8fe43-e6a5-413c-b41e-085357b515d4', 'rel': 'self'}, {'href': 'http://localhost/nodes/f5e8fe43-e6a5-413c-b41e-085357b515d4', 'rel': 'bookmark'}]}, {'uuid': 'c4d081f0-807f-41d1-86fe-0168c881cc2c', 'instance_uuid': None, 'maintenance': False, 'power_state': None, 'provision_state': None, 'links': [{'href': 'http://localhost/v1/nodes/c4d081f0-807f-41d1-86fe-0168c881cc2c', 'rel': 'self'}, {'href': 'http://localhost/nodes/c4d081f0-807f-41d1-86fe-0168c881cc2c', '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=c4d081f0-807f-41d1-86fe-0168c881cc2c'} 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-688b552e-450d-487d-8ba7-3e7cf42bc602 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.1 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Request not acceptable.\", \"debuginfo\": null}"} DEBUG util.py:445: GET: /v1/nodes/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/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume/connectors {} DEBUG util.py:445: GOT:{'connectors': [{'uuid': '41673015-73a3-41c5-8a91-7ce88ef19456', 'connector_id': 'test-connector_id-0', 'type': 'iqn', 'links': [{'href': 'http://localhost/v1/volume/connectors/41673015-73a3-41c5-8a91-7ce88ef19456', 'rel': 'self'}, {'href': 'http://localhost/volume/connectors/41673015-73a3-41c5-8a91-7ce88ef19456', 'rel': 'bookmark'}], 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123'}, {'uuid': 'ec43b351-acad-438b-80a4-fa0d898a2cb5', 'connector_id': 'test-connector_id-1', 'type': 'iqn', 'links': [{'href': 'http://localhost/v1/volume/connectors/ec43b351-acad-438b-80a4-fa0d898a2cb5', 'rel': 'self'}, {'href': 'http://localhost/volume/connectors/ec43b351-acad-438b-80a4-fa0d898a2cb5', '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': '41673015-73a3-41c5-8a91-7ce88ef19456', 'connector_id': 'test-connector_id-0', 'type': 'iqn', 'links': [{'href': 'http://localhost/v1/volume/connectors/41673015-73a3-41c5-8a91-7ce88ef19456', 'rel': 'self'}, {'href': 'http://localhost/volume/connectors/41673015-73a3-41c5-8a91-7ce88ef19456', '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=41673015-73a3-41c5-8a91-7ce88ef19456'} DEBUG util.py:445: GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume/targets {} DEBUG util.py:445: GOT:{'targets': [{'uuid': '87686d21-ea3e-42d1-972d-b9f60a23df2d', 'boot_index': 0, 'volume_id': '12345678', 'volume_type': 'iscsi', 'links': [{'href': 'http://localhost/v1/volume/targets/87686d21-ea3e-42d1-972d-b9f60a23df2d', 'rel': 'self'}, {'href': 'http://localhost/volume/targets/87686d21-ea3e-42d1-972d-b9f60a23df2d', 'rel': 'bookmark'}], 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123'}, {'uuid': '85a64ddc-3a17-493a-bca9-6601835b9a35', 'boot_index': 1, 'volume_id': '12345678', 'volume_type': 'iscsi', 'links': [{'href': 'http://localhost/v1/volume/targets/85a64ddc-3a17-493a-bca9-6601835b9a35', 'rel': 'self'}, {'href': 'http://localhost/volume/targets/85a64ddc-3a17-493a-bca9-6601835b9a35', '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': '87686d21-ea3e-42d1-972d-b9f60a23df2d', 'boot_index': 0, 'volume_id': '12345678', 'volume_type': 'iscsi', 'links': [{'href': 'http://localhost/v1/volume/targets/87686d21-ea3e-42d1-972d-b9f60a23df2d', 'rel': 'self'}, {'href': 'http://localhost/volume/targets/87686d21-ea3e-42d1-972d-b9f60a23df2d', '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=87686d21-ea3e-42d1-972d-b9f60a23df2d'} DEBUG util.py:445: GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/history?detail=true {} DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_node.TestNodeHistory.test_get_all_history_returns_detail [0.085845s] ... ok DEBUG util.py:445: GOT:{'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'created_at': '2024-05-14T11:54:07.303466+00:00', 'updated_at': None, 'automated_clean': None, 'bios_interface': None, 'boot_interface': None, 'clean_step': {}, 'conductor_group': '', 'console_enabled': False, 'console_interface': None, 'deploy_interface': None, 'deploy_step': {}, 'description': None, 'driver': 'fake-hardware', 'driver_info': {'foo': 'bar', 'fake_password': '******'}, 'driver_internal_info': {'private_state': 'secret value'}, 'extra': {}, 'fault': None, 'inspection_finished_at': None, 'inspection_started_at': None, 'inspect_interface': None, 'instance_info': {'configdrive': '******', 'image_url': '******', 'foo': 'bar'}, 'instance_uuid': None, 'last_error': None, 'maintenance': False, 'maintenance_reason': None, 'management_interface': None, 'name': None, 'network_interface': None, 'owner': None, 'power_interface': None, 'power_state': None, 'properties': {'cpu_arch': 'x86_64', 'cpus': '8', 'local_gb': '10', 'memory_mb': '4096'}, 'protected': False, 'protected_reason': None, 'provision_state': 'available', 'provision_updated_at': None, 'raid_config': {}, 'raid_interface': None, 'rescue_interface': None, 'reservation': None, 'resource_class': None, 'storage_interface': None, 'target_power_state': None, 'target_provision_state': None, 'target_raid_config': {}, 'traits': [], 'vendor_interface': None, 'links': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'rel': 'bookmark'}], 'conductor': 'fake.conductor', 'allocation_uuid': None, 'chassis_uuid': None, 'ports': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports', 'rel': 'bookmark'}], 'states': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states', 'rel': 'bookmark'}], 'portgroups': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups', 'rel': 'bookmark'}], 'volume': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume', 'rel': 'bookmark'}]} DEBUG util.py:445: GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 {} DEBUG util.py:445: GOT:{'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'created_at': '2024-05-14T11:54:07.303466+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/c9e8cbb3-6d12-405b-a2f2-c6b9480045f7/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/c6592160-afef-46b3-9a38-585fabca441a/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/e04b0c35-5168-4c27-96a8-2c2255100a38/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/ec0e86f6-1069-40f6-ba9d-b9a60b228980/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 {} DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_node_traits_hidden_in_lower_version [0.089471s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_portgroups_subresource_link_hidden_for_older_versions [0.043178s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_update_owner [0.135353s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_node.TestNodeHistory.test_get_all_pagination [0.098170s] ... ok 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-8ef86528-0839-430c-b054-4f36a7293003 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.5 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123: Cannot change name to invalid name 'Guido Van Error'\", \"debuginfo\": null}"} DEBUG util.py:445: PATCH: /v1/nodes/7c283d06-2fed-465f-8199-94a2795ebb05 [{'path': '/allocation_uuid', 'op': 'replace', 'value': '08c71bee-c1f2-4a1e-94a5-b5d0ed36fff3'}] DEBUG util.py:445: GOT:Response: 400 Bad Request DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-c2ba3312-38b7-4237-939c-04073c3e9d75 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.52 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Cannot patch /allocation_uuid. Only the following can be updated: automated_clean, bios_interface, boot_interface, chassis_uuid, conductor_group, console_interface, deploy_interface, description, driver, driver_info, extra, inspect_interface, instance_info, instance_uuid, lessee, maintenance, management_interface, name, network_data, network_interface, owner, power_interface, properties, protected, protected_reason, raid_interface, rescue_interface, resource_class, retired, retired_reason, storage_interface, vendor_interface\", \"debuginfo\": null}"} DEBUG util.py:445: PATCH: /v1/nodes/c8aa7406-b8c3-4580-9fe5-4fb7e3181d3a [{'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-a5d2b46a-bea5-4976-a8d8-acc80f99057d DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.49 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Cannot patch /conductor. Only the following can be updated: automated_clean, bios_interface, boot_interface, chassis_uuid, conductor_group, console_interface, deploy_interface, description, driver, driver_info, extra, inspect_interface, instance_info, instance_uuid, lessee, maintenance, management_interface, name, network_data, network_interface, owner, power_interface, properties, protected, protected_reason, raid_interface, rescue_interface, resource_class, retired, retired_reason, storage_interface, vendor_interface\", \"debuginfo\": null}"} DEBUG util.py:445: PATCH: /v1/nodes/cc25b913-4e8c-44cb-97ce-c238cbdf4031 [{'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-54b07cfa-2fef-4c13-9e3b-daf26cf78046 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.42 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Cannot patch /fault. Only the following can be updated: automated_clean, bios_interface, boot_interface, chassis_uuid, conductor_group, console_interface, deploy_interface, description, driver, driver_info, extra, inspect_interface, instance_info, instance_uuid, lessee, maintenance, management_interface, name, network_data, network_interface, owner, power_interface, properties, protected, protected_reason, raid_interface, rescue_interface, resource_class, retired, retired_reason, storage_interface, vendor_interface\", \"debuginfo\": null}"} DEBUG util.py:445: PATCH: /v1/nodes/7f0e3bbf-38f7-48e4-80f5-69fab0d182cc [{'path': '/description', 'value': 'foo', 'op': 'replace'}] DEBUG util.py:445: GOT:Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-2517642b-4ebd-45ea-9dbe-60e83da64193 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"uuid": "7f0e3bbf-38f7-48e4-80f5-69fab0d182cc", "created_at": "2024-05-14T11:54:07.400310+00:00", "updated_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/7f0e3bbf-38f7-48e4-80f5-69fab0d182cc", "rel": "self"}, {"href": "http://localhost/nodes/7f0e3bbf-38f7-48e4-80f5-69fab0d182cc", "rel": "bookmark"}], "conductor": null, "allocation_uuid": null, "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/7f0e3bbf-38f7-48e4-80f5-69fab0d182cc/ports", "rel": "self"}, {"href": "http://localhost/nodes/7f0e3bbf-38f7-48e4-80f5-69fab0d182cc/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/7f0e3bbf-38f7-48e4-80f5-69fab0d182cc/states", "rel": "self"}, {"href": "http://localhost/nodes/7f0e3bbf-38f7-48e4-80f5-69fab0d182cc/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/7f0e3bbf-38f7-48e4-80f5-69fab0d182cc/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/7f0e3bbf-38f7-48e4-80f5-69fab0d182cc/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/7f0e3bbf-38f7-48e4-80f5-69fab0d182cc/volume", "rel": "self"}, {"href": "http://localhost/nodes/7f0e3bbf-38f7-48e4-80f5-69fab0d182cc/volume", "rel": "bookmark"}]} DEBUG util.py:445: PATCH: /v1/nodes/e6f03866-94d5-448a-b07b-8eb3e0f38d6f [{'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_extra_and_instance_info [0.081528s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_patch_ports_subresource_no_port_id [0.033220s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_patch_update_name_twice_both_invalid [0.046037s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_patch_volume_connectors_subresource [0.037761s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_update_resource_class_too_long [0.097473s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_patch_volume_connectors_subresource_no_connector_id [0.032743s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_add_chassis_uuid [0.117752s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_update_retired_old_api [0.067248s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_remove_chassis_uuid [0.058490s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_remove_chassis_uuid_invalid_api_version [0.054985s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_ports_subresource_link [0.237247s] ... 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-a5fb866d-6342-4662-8c66-8d64c62bfee7 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"uuid": "e6f03866-94d5-448a-b07b-8eb3e0f38d6f", "created_at": "2024-05-14T11:54:07.474767+00:00", "updated_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/e6f03866-94d5-448a-b07b-8eb3e0f38d6f", "rel": "self"}, {"href": "http://localhost/nodes/e6f03866-94d5-448a-b07b-8eb3e0f38d6f", "rel": "bookmark"}], "conductor": null, "allocation_uuid": null, "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/e6f03866-94d5-448a-b07b-8eb3e0f38d6f/ports", "rel": "self"}, {"href": "http://localhost/nodes/e6f03866-94d5-448a-b07b-8eb3e0f38d6f/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/e6f03866-94d5-448a-b07b-8eb3e0f38d6f/states", "rel": "self"}, {"href": "http://localhost/nodes/e6f03866-94d5-448a-b07b-8eb3e0f38d6f/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/e6f03866-94d5-448a-b07b-8eb3e0f38d6f/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/e6f03866-94d5-448a-b07b-8eb3e0f38d6f/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/e6f03866-94d5-448a-b07b-8eb3e0f38d6f/volume", "rel": "self"}, {"href": "http://localhost/nodes/e6f03866-94d5-448a-b07b-8eb3e0f38d6f/volume", "rel": "bookmark"}]} DEBUG util.py:445: PATCH: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports [{'path': '/extra/foo', 'value': 'bar', 'op': 'add'}] DEBUG util.py:445: GOT:Response: 400 Bad Request DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-d0778ad2-80ec-4bdd-b1c4-94a4b600668a DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.1 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Missing mandatory parameter: port_uuid\", \"debuginfo\": null}"} DEBUG util.py:445: PATCH: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 [{'path': '/name', 'op': 'add', 'value': 'Windows ME'}, {'path': '/name', 'op': 'replace', 'value': 'Guido Van Error'}] DEBUG util.py:445: GOT:Response: 400 Bad Request DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-0e7b44f6-e73d-4d03-a73a-36a8b05fa92d DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.5 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123: Cannot change name to invalid name 'Windows ME'\", \"debuginfo\": null}"} DEBUG util.py:445: PATCH: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/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-38d706b2-0ad0-480c-80f8-02f18225f673 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Operation not permitted.\", \"debuginfo\": null}"} DEBUG util.py:445: PATCH: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume/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-db152622-1ab4-421c-b203-3d71bc95206c DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Missing mandatory parameter: connector_uuid\", \"debuginfo\": null}"} DEBUG util.py:445: PATCH: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 [{'path': '/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-a990b788-b78a-4e75-b6c8-391fc1d0cc22 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.25 DEBUG util.py:445: {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "created_at": "2024-05-14T11:54:07.690742+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': '/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-3febc83c-625e-4d53-b8d7-ab32a2488617 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.24 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Request not acceptable.\", \"debuginfo\": null}"} DEBUG util.py:445: PATCH: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 [{'path': '/uuid', 'op': 'remove'}] DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_remove_uuid [0.033386s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_replace_chassis_id [0.033437s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_add_ok [0.128948s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_ports_subresource_node_not_found [0.053139s] ... 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-8d2da07c-f300-43bb-b9fa-af86d1fc186d DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.1 DEBUG util.py:445: {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "created_at": "2024-05-14T11:54:07.322381+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/4ce0d663-e433-46f2-9451-a3fc67d2104c [{'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-8c05798c-7988-46ec-b1f0-45b237c03c07 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.50 DEBUG util.py:445: {"uuid": "4ce0d663-e433-46f2-9451-a3fc67d2104c", "created_at": "2024-05-14T11:54:07.483672+00:00", "updated_at": null, "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/4ce0d663-e433-46f2-9451-a3fc67d2104c", "rel": "self"}, {"href": "http://localhost/nodes/4ce0d663-e433-46f2-9451-a3fc67d2104c", "rel": "bookmark"}], "conductor": null, "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/4ce0d663-e433-46f2-9451-a3fc67d2104c/ports", "rel": "self"}, {"href": "http://localhost/nodes/4ce0d663-e433-46f2-9451-a3fc67d2104c/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/4ce0d663-e433-46f2-9451-a3fc67d2104c/states", "rel": "self"}, {"href": "http://localhost/nodes/4ce0d663-e433-46f2-9451-a3fc67d2104c/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/4ce0d663-e433-46f2-9451-a3fc67d2104c/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/4ce0d663-e433-46f2-9451-a3fc67d2104c/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/4ce0d663-e433-46f2-9451-a3fc67d2104c/volume", "rel": "self"}, {"href": "http://localhost/nodes/4ce0d663-e433-46f2-9451-a3fc67d2104c/volume", "rel": "bookmark"}]} DEBUG util.py:445: PATCH: /v1/nodes/52c864b9-9a0a-4449-9ee4-f5d5b49a0458 [{'path': '/resource_class', 'value': 'fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff', 'op': 'add'}] DEBUG util.py:445: GOT:Response: 400 Bad Request DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-612ef07d-a2fd-41f2-87f3-b1f3844e858a DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.21 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Schema error for patch: 'fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff' is too long Failed validating 'maxLength' in schema['properties']['resource_class']\", \"debuginfo\": null}"} DEBUG util.py:445: PATCH: /v1/nodes/cdadc900-7e87-4f08-82a9-86c03a8e6932 [{'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-7c6b6dd2-f322-4820-abeb-283221c06fc7 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.60 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Request not acceptable.\", \"debuginfo\": null}"} DEBUG util.py:445: PATCH: /v1/nodes/452e1b95-0c80-4dec-880d-5efa186f847a [{'path': '/retired_reason', 'value': 'a better reason', 'op': 'replace'}] DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_update_retired_reason [0.064003s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_update_retired_remove [0.064878s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_patch_add_name_invalid [0.081275s] ... ok DEBUG util.py:445: GOT:{'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'created_at': '2024-05-14T11:54:07.477550+00:00', 'updated_at': None, 'boot_interface': None, 'clean_step': {}, 'console_enabled': False, 'console_interface': None, 'deploy_interface': None, 'driver': 'fake-hardware', 'driver_info': {'foo': 'bar', 'fake_password': '******'}, 'driver_internal_info': {'private_state': 'secret value'}, 'extra': {}, 'inspection_finished_at': None, 'inspection_started_at': None, 'inspect_interface': None, 'instance_info': {'configdrive': '******', 'image_url': '******', 'foo': 'bar'}, 'instance_uuid': None, 'last_error': None, 'maintenance': False, 'maintenance_reason': None, 'management_interface': None, 'name': None, 'network_interface': None, 'power_interface': None, 'power_state': None, 'properties': {'cpu_arch': 'x86_64', 'cpus': '8', 'local_gb': '10', 'memory_mb': '4096'}, 'provision_state': 'available', 'provision_updated_at': None, 'raid_config': {}, 'raid_interface': None, 'reservation': None, 'resource_class': None, 'storage_interface': None, 'target_power_state': None, 'target_provision_state': None, 'target_raid_config': {}, 'vendor_interface': None, 'links': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'rel': 'bookmark'}], 'chassis_uuid': None, 'ports': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports', 'rel': 'bookmark'}], 'states': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states', 'rel': 'bookmark'}], 'portgroups': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups', 'rel': 'bookmark'}], 'volume': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume', 'rel': 'bookmark'}]} DEBUG util.py:445: GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 {} DEBUG util.py:445: GOT:{'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'created_at': '2024-05-14T11:54:07.477550+00:00', 'updated_at': None, 'boot_interface': None, 'clean_step': {}, 'console_enabled': False, 'console_interface': None, 'deploy_interface': None, 'driver': 'fake-hardware', 'driver_info': {'foo': 'bar', 'fake_password': '******'}, 'driver_internal_info': {'private_state': 'secret value'}, 'extra': {}, 'inspection_finished_at': None, 'inspection_started_at': None, 'inspect_interface': None, 'instance_info': {'configdrive': '******', 'image_url': '******', 'foo': 'bar'}, 'instance_uuid': None, 'last_error': None, 'maintenance': False, 'maintenance_reason': None, 'management_interface': None, 'name': None, 'network_interface': None, 'power_interface': None, 'power_state': None, 'properties': {'cpu_arch': 'x86_64', 'cpus': '8', 'local_gb': '10', 'memory_mb': '4096'}, 'provision_state': 'available', 'provision_updated_at': None, 'raid_config': {}, 'raid_interface': None, 'reservation': None, 'resource_class': None, 'storage_interface': None, 'target_power_state': None, 'target_provision_state': None, 'target_raid_config': {}, 'traits': [], 'vendor_interface': None, 'links': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'rel': 'bookmark'}], 'chassis_uuid': None, 'ports': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports', 'rel': 'bookmark'}], 'states': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states', 'rel': 'bookmark'}], 'portgroups': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups', 'rel': 'bookmark'}], 'volume': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume', 'rel': 'bookmark'}]} DEBUG util.py:445: GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 {} DEBUG util.py:445: GOT:{'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'created_at': '2024-05-14T11:54:07.543550+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 {} DEBUG util.py:445: GOT:{'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'created_at': '2024-05-14T11:54:07.773974+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-6e053a37-9cc7-4811-aaa7-9a31fa219ba1 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.1 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Portgroup None could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: GET: /v1/nodes?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-2bb7309f-d71f-4bc1-a009-f38e39d0750a DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"The sort_key value \\\"foo\\\" is an invalid field for sorting\", \"debuginfo\": null}"} DEBUG util.py:445: GET: /v1/nodes?sort_key=properties {} DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_replace_chassis_uuid [0.128879s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_sort_key_invalid [0.141915s] ... 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-1c1256d2-054e-4221-8a03-b4a5b2afa8ac DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.61 DEBUG util.py:445: {"uuid": "452e1b95-0c80-4dec-880d-5efa186f847a", "created_at": "2024-05-14T11:54:07.759840+00:00", "updated_at": null, "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/452e1b95-0c80-4dec-880d-5efa186f847a", "rel": "self"}, {"href": "http://localhost/nodes/452e1b95-0c80-4dec-880d-5efa186f847a", "rel": "bookmark"}], "conductor": null, "allocation_uuid": null, "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/452e1b95-0c80-4dec-880d-5efa186f847a/ports", "rel": "self"}, {"href": "http://localhost/nodes/452e1b95-0c80-4dec-880d-5efa186f847a/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/452e1b95-0c80-4dec-880d-5efa186f847a/states", "rel": "self"}, {"href": "http://localhost/nodes/452e1b95-0c80-4dec-880d-5efa186f847a/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/452e1b95-0c80-4dec-880d-5efa186f847a/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/452e1b95-0c80-4dec-880d-5efa186f847a/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/452e1b95-0c80-4dec-880d-5efa186f847a/volume", "rel": "self"}, {"href": "http://localhost/nodes/452e1b95-0c80-4dec-880d-5efa186f847a/volume", "rel": "bookmark"}]} DEBUG util.py:445: PATCH: /v1/nodes/b014005f-fee9-49ac-8a84-39a8df2e874b [{'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-e546d6d8-dff4-4917-9730-17f932e3fc2d DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.61 DEBUG util.py:445: {"uuid": "b014005f-fee9-49ac-8a84-39a8df2e874b", "created_at": "2024-05-14T11:54:07.821572+00:00", "updated_at": null, "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/b014005f-fee9-49ac-8a84-39a8df2e874b", "rel": "self"}, {"href": "http://localhost/nodes/b014005f-fee9-49ac-8a84-39a8df2e874b", "rel": "bookmark"}], "conductor": null, "allocation_uuid": null, "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/b014005f-fee9-49ac-8a84-39a8df2e874b/ports", "rel": "self"}, {"href": "http://localhost/nodes/b014005f-fee9-49ac-8a84-39a8df2e874b/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/b014005f-fee9-49ac-8a84-39a8df2e874b/states", "rel": "self"}, {"href": "http://localhost/nodes/b014005f-fee9-49ac-8a84-39a8df2e874b/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/b014005f-fee9-49ac-8a84-39a8df2e874b/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/b014005f-fee9-49ac-8a84-39a8df2e874b/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/b014005f-fee9-49ac-8a84-39a8df2e874b/volume", "rel": "self"}, {"href": "http://localhost/nodes/b014005f-fee9-49ac-8a84-39a8df2e874b/volume", "rel": "bookmark"}]} DEBUG util.py:445: PATCH: /v1/nodes/a69a7f47-64e4-4225-a574-21d6e8dd2147 [{'path': '/retired', 'value': True, 'op': 'replace'}, {'path': '/retired_reason', 'value': 'a better reason', 'op': 'replace'}] DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_update_retired_with_reason [0.175646s] ... ok DEBUG util.py:445: GOT:{'history': [{'uuid': 'b528f438-3a44-48b7-9dfa-fe74a8202cc6', 'created_at': '2024-05-14T11:54:07.470351+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/b528f438-3a44-48b7-9dfa-fe74a8202cc6', 'rel': 'self'}]}, {'uuid': '925ff8bc-0bca-477c-9900-ab1399d7cfe8', 'created_at': '2024-05-14T11:54:07.471380+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/925ff8bc-0bca-477c-9900-ab1399d7cfe8', 'rel': 'self'}]}, {'uuid': 'f1bf22ed-8535-42e0-95e2-b82ed1515ce8', 'created_at': '2024-05-14T11:54:07.472212+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/f1bf22ed-8535-42e0-95e2-b82ed1515ce8', 'rel': 'self'}]}]} DEBUG util.py:445: GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/history?limit=1 {} DEBUG util.py:445: GOT:{'history': [{'uuid': '11928f12-b84e-44fa-8698-50d575f9c911', 'created_at': '2024-05-14T11:54:07.545472+00:00', 'severity': None, 'event': 'meow', 'links': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/history/11928f12-b84e-44fa-8698-50d575f9c911', 'rel': 'self'}]}], 'next': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/history?marker=None&fields=uuid,created_at,severity,event&limit=1&marker=11928f12-b84e-44fa-8698-50d575f9c911'} DEBUG util.py:445: GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/history?limit=1&marker=11928f12-b84e-44fa-8698-50d575f9c911 {} DEBUG util.py:445: GOT:{'history': [{'uuid': 'b57b72bb-0c8a-4b41-b0d1-874d617f7028', 'created_at': '2024-05-14T11:54:07.546340+00:00', 'severity': None, 'event': 'purr', 'links': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/history/b57b72bb-0c8a-4b41-b0d1-874d617f7028', 'rel': 'self'}]}], 'next': "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/history?marker=NodeHistory(conductor='cat-tree1',created_at=2024-05-14T11:54:07Z,event='meow',event_type=None,id=1,node_id=1,severity=None,updated_at=None,user='peaches',uuid=11928f12-b84e-44fa-8698-50d575f9c911)&fields=uuid,created_at,severity,event&limit=1&marker=b57b72bb-0c8a-4b41-b0d1-874d617f7028"} DEBUG util.py:445: GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/history?limit=1&marker=b57b72bb-0c8a-4b41-b0d1-874d617f7028 {} DEBUG util.py:445: GOT:{'history': [{'uuid': '7730ac3d-8e2b-4485-a129-f67b46e5afb8', 'created_at': '2024-05-14T11:54:07.547166+00:00', 'severity': None, 'event': 'grrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrr...', 'links': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/history/7730ac3d-8e2b-4485-a129-f67b46e5afb8', 'rel': 'self'}]}], 'next': "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/history?marker=NodeHistory(conductor='cat-tree2',created_at=2024-05-14T11:54:07Z,event='purr',event_type=None,id=2,node_id=1,severity=None,updated_at=None,user='sage',uuid=b57b72bb-0c8a-4b41-b0d1-874d617f7028)&fields=uuid,created_at,severity,event&limit=1&marker=7730ac3d-8e2b-4485-a129-f67b46e5afb8"} 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-b3a3892e-6f03-4acd-bfc9-841048e11a2c DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.1 DEBUG util.py:445: {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "created_at": "2024-05-14T11:54:07.629865+00:00", "updated_at": null, "console_enabled": false, "driver": "fake-hardware", "driver_info": {"foo": "bar", "fake_password": "******"}, "extra": {}, "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar"}, "instance_uuid": null, "last_error": null, "maintenance": false, "maintenance_reason": null, "power_state": null, "properties": {"cpu_arch": "x86_64", "cpus": "8", "local_gb": "10", "memory_mb": "4096"}, "provision_state": null, "provision_updated_at": null, "reservation": null, "target_power_state": null, "target_provision_state": null, "links": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "bookmark"}], "chassis_uuid": "e74c40e0-d825-11e2-a28f-0800200c9a66", "ports": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "bookmark"}]} DEBUG util.py:445: PATCH: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 [{'path': '/extra/foo', 'value': 'bar', 'op': 'add'}] DEBUG util.py:445: GOT:Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-fc734518-c661-43c0-9a33-7ce8250b83a6 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.1 DEBUG util.py:445: {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "created_at": "2024-05-14T11:54:07.752257+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': '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-1c1a29a2-860c-41e4-8c68-9c23e03a7ffc DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.10 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node deadbeef-0000-1111-2222-333333333333: Cannot change name to invalid name 'i am invalid'\", \"debuginfo\": null}"} DEBUG util.py:445: PATCH: /v1/nodes/e1491d7d-d2b5-4427-bb60-36b912882cc0 [{'path': '/deploy_step', 'op': 'replace', 'value': 'deploy this'}] DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_patch_deploy_step_forbidden [0.091503s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_reset_network_interface [0.107054s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_update_state [0.080682s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_unassociated_nodes_insensitive [0.162904s] ... 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-056dd16c-1c1d-4619-a823-60eacb79f96f DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.1 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Cannot patch /uuid. Only the following can be updated: automated_clean, bios_interface, boot_interface, chassis_uuid, conductor_group, console_interface, deploy_interface, description, driver, driver_info, extra, inspect_interface, instance_info, instance_uuid, lessee, maintenance, management_interface, name, network_data, network_interface, owner, power_interface, properties, protected, protected_reason, raid_interface, rescue_interface, resource_class, retired, retired_reason, storage_interface, vendor_interface\", \"debuginfo\": null}"} DEBUG util.py:445: PATCH: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 [{'path': '/chassis_id', 'value': '1', 'op': 'replace'}] DEBUG util.py:445: GOT:Response: 400 Bad Request DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-c7dd203c-6f5d-4444-8573-d6452c51139a DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.1 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Cannot patch /chassis_id. Only the following can be updated: automated_clean, bios_interface, boot_interface, chassis_uuid, conductor_group, console_interface, deploy_interface, description, driver, driver_info, extra, inspect_interface, instance_info, instance_uuid, lessee, maintenance, management_interface, name, network_data, network_interface, owner, power_interface, properties, protected, protected_reason, raid_interface, rescue_interface, resource_class, retired, retired_reason, storage_interface, vendor_interface\", \"debuginfo\": null}"} DEBUG util.py:445: PATCH: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 [{'path': '/chassis_uuid', 'value': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'op': 'replace'}] DEBUG util.py:445: GOT:Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-dc50bebb-f92c-4292-9d13-de0f1cdfb2fe DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.1 DEBUG util.py:445: {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "created_at": "2024-05-14T11:54:07.893992+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/11d80aa4-292f-40fb-94b1-8e8b61b3897b [{'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-40cf70c5-6b8a-47d7-8e98-de8d106d4933 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"uuid": "11d80aa4-292f-40fb-94b1-8e8b61b3897b", "created_at": "2024-05-14T11:54:08.013282+00:00", "updated_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/11d80aa4-292f-40fb-94b1-8e8b61b3897b", "rel": "self"}, {"href": "http://localhost/nodes/11d80aa4-292f-40fb-94b1-8e8b61b3897b", "rel": "bookmark"}], "conductor": null, "allocation_uuid": null, "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/11d80aa4-292f-40fb-94b1-8e8b61b3897b/ports", "rel": "self"}, {"href": "http://localhost/nodes/11d80aa4-292f-40fb-94b1-8e8b61b3897b/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/11d80aa4-292f-40fb-94b1-8e8b61b3897b/states", "rel": "self"}, {"href": "http://localhost/nodes/11d80aa4-292f-40fb-94b1-8e8b61b3897b/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/11d80aa4-292f-40fb-94b1-8e8b61b3897b/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/11d80aa4-292f-40fb-94b1-8e8b61b3897b/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/11d80aa4-292f-40fb-94b1-8e8b61b3897b/volume", "rel": "self"}, {"href": "http://localhost/nodes/11d80aa4-292f-40fb-94b1-8e8b61b3897b/volume", "rel": "bookmark"}]} DEBUG util.py:445: PATCH: /v1/nodes/490dfd31-2f1c-4655-ab20-719dae93620f [{'path': '/storage_interface', 'op': 'remove'}] DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_node.TestPost.test_create_node [0.063891s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_reset_storage_interface [0.059539s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_update_allowed_in_maintenance [0.056506s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_volume_connectors_subresource_noid [0.055659s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_patch_name_remove_ok [0.201471s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_node.TestPost.test_create_node_automated_clean_old_api_version [0.043676s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_update_automated_clean_old_api [0.031943s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_update_network_data_wrong_format [0.036452s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_volume_subresource [0.074746s] ... 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-b6f56ce3-dbd1-4d50-884f-52ee3ae4346f DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.61 DEBUG util.py:445: {"uuid": "a69a7f47-64e4-4225-a574-21d6e8dd2147", "created_at": "2024-05-14T11:54:07.889757+00:00", "updated_at": null, "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/a69a7f47-64e4-4225-a574-21d6e8dd2147", "rel": "self"}, {"href": "http://localhost/nodes/a69a7f47-64e4-4225-a574-21d6e8dd2147", "rel": "bookmark"}], "conductor": null, "allocation_uuid": null, "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/a69a7f47-64e4-4225-a574-21d6e8dd2147/ports", "rel": "self"}, {"href": "http://localhost/nodes/a69a7f47-64e4-4225-a574-21d6e8dd2147/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/a69a7f47-64e4-4225-a574-21d6e8dd2147/states", "rel": "self"}, {"href": "http://localhost/nodes/a69a7f47-64e4-4225-a574-21d6e8dd2147/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/a69a7f47-64e4-4225-a574-21d6e8dd2147/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/a69a7f47-64e4-4225-a574-21d6e8dd2147/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/a69a7f47-64e4-4225-a574-21d6e8dd2147/volume", "rel": "self"}, {"href": "http://localhost/nodes/a69a7f47-64e4-4225-a574-21d6e8dd2147/volume", "rel": "bookmark"}]} DEBUG util.py:445: PATCH: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 [{'power_state': 'new state'}] DEBUG util.py:445: GOT:Response: 400 Bad Request DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-af8c48af-e429-4e72-84c1-516276ad67af DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.1 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Schema error for patch: Additional properties are not allowed ('power_state' was unexpected) Failed validating 'additionalProperties' in schema['items']\", \"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-faf36080-bac4-4894-bce5-1c20a4fa2ecc DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.1 DEBUG util.py:445: {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "created_at": "2000-01-01T00:00:00+00:00", "updated_at": null, "console_enabled": false, "driver": "fake-hardware", "driver_info": {"foo": "bar", "fake_password": "******"}, "extra": {}, "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar"}, "instance_uuid": null, "last_error": null, "maintenance": false, "maintenance_reason": null, "power_state": null, "properties": {"cpu_arch": "x86_64", "cpus": "8", "local_gb": "10", "memory_mb": "4096"}, "provision_state": null, "provision_updated_at": null, "reservation": null, "target_power_state": null, "target_provision_state": null, "links": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "bookmark"}], "chassis_uuid": "e74c40e0-d825-11e2-a28f-0800200c9a66", "ports": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "bookmark"}]} DEBUG util.py:445: GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 {} DEBUG util.py:445: GOT:{'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'created_at': '2000-01-01T00:00:00+00:00', 'updated_at': None, 'console_enabled': False, 'driver': 'fake-hardware', 'driver_info': {'foo': 'bar', 'fake_password': '******'}, 'extra': {}, 'instance_info': {'configdrive': '******', 'image_url': '******', 'foo': 'bar'}, 'instance_uuid': None, 'last_error': None, 'maintenance': False, 'maintenance_reason': None, 'power_state': None, 'properties': {'cpu_arch': 'x86_64', 'cpus': '8', 'local_gb': '10', 'memory_mb': '4096'}, 'provision_state': None, 'provision_updated_at': None, 'reservation': None, 'target_power_state': None, 'target_provision_state': None, 'links': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'rel': 'bookmark'}], 'chassis_uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'ports': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports', 'rel': 'bookmark'}]} DEBUG util.py:445: POST: /v1/nodes {'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'instance_uuid': None, 'instance_info': {'configdrive': 'TG9yZW0gaXBzdW0gZG9sb3Igc2l0IGFtZXQ=', 'image_url': 'http://example.com/test_image_url', 'foo': 'bar'}, 'driver': 'fake-hardware', 'driver_info': {'foo': 'bar', 'fake_password': 'fakepass'}, 'properties': {'cpu_arch': 'x86_64', 'cpus': '8', 'local_gb': '10', 'memory_mb': '4096'}, 'maintenance': False, 'console_enabled': False, 'extra': {}, 'automated_clean': True, 'chassis_uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66'} DEBUG util.py:445: GOT:Response: 406 Not Acceptable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-9c3d3cb2-37e4-4ddc-86a2-f8bd12190691 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.32 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Request not acceptable.\", \"debuginfo\": null}"} DEBUG util.py:445: POST: /v1/nodes {'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'instance_uuid': None, 'instance_info': {'configdrive': 'TG9yZW0gaXBzdW0gZG9sb3Igc2l0IGFtZXQ=', 'image_url': 'http://example.com/test_image_url', 'foo': 'bar'}, 'driver': 'fake-hardware', 'driver_info': {'foo': 'bar', 'fake_password': 'fakepass'}, 'properties': {'cpu_arch': 'x86_64', 'cpus': '8', 'local_gb': '10', 'memory_mb': '4096'}, 'maintenance': False, 'console_enabled': False, 'extra': {}, 'chassis_uuid': '1a1a1a1a-2b2b-3c3c-4d4d-5e5e5e5e5e5e'} DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_node.TestPost.test_create_node_chassis_uuid_not_found [0.037698s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_patch_policy_update_generic_and_extra [0.095972s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_update_protected [0.056266s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_node.TestPost.test_create_node_default_state_none [0.075273s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_volume_subresource_invalid_api_version [0.070244s] ... 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-b34c36cb-dbf5-46e3-a548-150511e89454 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.1 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Chassis 1a1a1a1a-2b2b-3c3c-4d4d-5e5e5e5e5e5e could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: POST: /v1/nodes {'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'instance_uuid': None, 'instance_info': {'configdrive': 'TG9yZW0gaXBzdW0gZG9sb3Igc2l0IGFtZXQ=', 'image_url': 'http://example.com/test_image_url', 'foo': 'bar'}, 'driver': 'fake-hardware', 'driver_info': {'foo': 'bar', 'fake_password': 'fakepass'}, 'properties': {'cpu_arch': 'x86_64', 'cpus': '8', 'local_gb': '10', 'memory_mb': '4096'}, 'maintenance': False, 'console_enabled': False, 'extra': {}, 'chassis_uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66'} DEBUG util.py:445: GOT:Response: 201 Created DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Location: http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 DEBUG util.py:445: Openstack-Request-Id: req-d09b3c31-78a7-4574-998f-cf3c3279a0c0 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.10 DEBUG util.py:445: {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "created_at": "2024-05-14T11:54:08.305389+00:00", "updated_at": null, "clean_step": {}, "console_enabled": false, "driver": "fake-hardware", "driver_info": {"foo": "bar", "fake_password": "******"}, "driver_internal_info": {}, "extra": {}, "inspection_finished_at": null, "inspection_started_at": null, "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar"}, "instance_uuid": null, "last_error": null, "maintenance": false, "maintenance_reason": null, "name": null, "power_state": null, "properties": {"cpu_arch": "x86_64", "cpus": "8", "local_gb": "10", "memory_mb": "4096"}, "provision_state": "available", "provision_updated_at": null, "reservation": null, "target_power_state": null, "target_provision_state": null, "links": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "bookmark"}], "chassis_uuid": "e74c40e0-d825-11e2-a28f-0800200c9a66", "ports": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "bookmark"}]} DEBUG util.py:445: GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 {} DEBUG util.py:445: GOT:{'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'created_at': '2024-05-14T11:54:08.305389+00:00', 'updated_at': None, 'console_enabled': False, 'driver': 'fake-hardware', 'driver_info': {'foo': 'bar', 'fake_password': '******'}, 'extra': {}, 'instance_info': {'configdrive': '******', 'image_url': '******', 'foo': 'bar'}, 'instance_uuid': None, 'last_error': None, 'maintenance': False, 'maintenance_reason': None, 'power_state': None, 'properties': {'cpu_arch': 'x86_64', 'cpus': '8', 'local_gb': '10', 'memory_mb': '4096'}, 'provision_state': None, 'provision_updated_at': None, 'reservation': None, 'target_power_state': None, 'target_provision_state': None, 'links': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'rel': 'bookmark'}], 'chassis_uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'ports': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports', 'rel': 'bookmark'}]} DEBUG util.py:445: GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 {} DEBUG util.py:445: GOT:{'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'created_at': '2024-05-14T11:54:08.305389+00:00', 'updated_at': None, 'clean_step': {}, 'console_enabled': False, 'driver': 'fake-hardware', 'driver_info': {'foo': 'bar', 'fake_password': '******'}, 'driver_internal_info': {}, 'extra': {}, 'inspection_finished_at': None, 'inspection_started_at': None, 'instance_info': {'configdrive': '******', 'image_url': '******', 'foo': 'bar'}, 'instance_uuid': None, 'last_error': None, 'maintenance': False, 'maintenance_reason': None, 'name': None, 'power_state': None, 'properties': {'cpu_arch': 'x86_64', 'cpus': '8', 'local_gb': '10', 'memory_mb': '4096'}, 'provision_state': 'available', 'provision_updated_at': None, 'reservation': None, 'target_power_state': None, 'target_provision_state': None, 'links': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'rel': 'bookmark'}], 'chassis_uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'ports': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports', 'rel': 'bookmark'}]} DEBUG util.py:445: POST: /v1/nodes {'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'instance_uuid': None, 'instance_info': {'configdrive': 'TG9yZW0gaXBzdW0gZG9sb3Igc2l0IGFtZXQ=', 'image_url': 'http://example.com/test_image_url', 'foo': 'bar'}, 'driver': 'fake-hardware', 'driver_info': {'foo': 'bar', 'fake_password': 'fakepass'}, 'properties': {'cpu_arch': 'x86_64', 'cpus': '8', 'local_gb': '10', 'memory_mb': '4096'}, 'maintenance': False, 'console_enabled': False, 'extra': {}, 'description': 'useful stuff', 'chassis_uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66'} DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_node.TestPost.test_create_node_description [0.065638s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_node.TestPost.test_create_node_invalid_network_interface [0.045573s] ... 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-f7e13f63-aeb0-4177-a5f6-b8ae5628cff3 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"uuid": "490dfd31-2f1c-4655-ab20-719dae93620f", "created_at": "2024-05-14T11:54:08.118161+00:00", "updated_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/490dfd31-2f1c-4655-ab20-719dae93620f", "rel": "self"}, {"href": "http://localhost/nodes/490dfd31-2f1c-4655-ab20-719dae93620f", "rel": "bookmark"}], "conductor": null, "allocation_uuid": null, "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/490dfd31-2f1c-4655-ab20-719dae93620f/ports", "rel": "self"}, {"href": "http://localhost/nodes/490dfd31-2f1c-4655-ab20-719dae93620f/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/490dfd31-2f1c-4655-ab20-719dae93620f/states", "rel": "self"}, {"href": "http://localhost/nodes/490dfd31-2f1c-4655-ab20-719dae93620f/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/490dfd31-2f1c-4655-ab20-719dae93620f/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/490dfd31-2f1c-4655-ab20-719dae93620f/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/490dfd31-2f1c-4655-ab20-719dae93620f/volume", "rel": "self"}, {"href": "http://localhost/nodes/490dfd31-2f1c-4655-ab20-719dae93620f/volume", "rel": "bookmark"}]} DEBUG util.py:445: PATCH: /v1/nodes/84660527-5b83-48e3-a4eb-831330db37b6 [{'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-32319a71-340d-4d19-aca6-97c54e50f075 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.1 DEBUG util.py:445: {"uuid": "84660527-5b83-48e3-a4eb-831330db37b6", "created_at": "2024-05-14T11:54:08.176899+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/84660527-5b83-48e3-a4eb-831330db37b6", "rel": "self"}, {"href": "http://localhost/nodes/84660527-5b83-48e3-a4eb-831330db37b6", "rel": "bookmark"}], "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/84660527-5b83-48e3-a4eb-831330db37b6/ports", "rel": "self"}, {"href": "http://localhost/nodes/84660527-5b83-48e3-a4eb-831330db37b6/ports", "rel": "bookmark"}]} DEBUG util.py:445: PATCH: /v1/nodes/4ba62023-150c-4212-928a-e2c8702e627d [{'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-c850e600-2a76-4e5f-bac2-1636d1be2f3d DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.46 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Request not acceptable.\", \"debuginfo\": null}"} DEBUG util.py:445: PATCH: /v1/nodes/8fec18d5-249b-448c-8085-b4b4bb4d54f7 [{'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-94f7079e-12f2-415b-943c-3cf5a2f077d8 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.66 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Invalid network_data: 'links' is a required property \", \"debuginfo\": null}"} DEBUG util.py:445: PATCH: /v1/nodes/0ddc9126-d553-4d72-b7ea-bcaaeed97837 [{'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-a717bf42-4a0b-41bc-a772-e6ba26f3404a DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.48 DEBUG util.py:445: {"uuid": "0ddc9126-d553-4d72-b7ea-bcaaeed97837", "created_at": "2024-05-14T11:54:08.302622+00:00", "updated_at": null, "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/0ddc9126-d553-4d72-b7ea-bcaaeed97837", "rel": "self"}, {"href": "http://localhost/nodes/0ddc9126-d553-4d72-b7ea-bcaaeed97837", "rel": "bookmark"}], "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/0ddc9126-d553-4d72-b7ea-bcaaeed97837/ports", "rel": "self"}, {"href": "http://localhost/nodes/0ddc9126-d553-4d72-b7ea-bcaaeed97837/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/0ddc9126-d553-4d72-b7ea-bcaaeed97837/states", "rel": "self"}, {"href": "http://localhost/nodes/0ddc9126-d553-4d72-b7ea-bcaaeed97837/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/0ddc9126-d553-4d72-b7ea-bcaaeed97837/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/0ddc9126-d553-4d72-b7ea-bcaaeed97837/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/0ddc9126-d553-4d72-b7ea-bcaaeed97837/volume", "rel": "self"}, {"href": "http://localhost/nodes/0ddc9126-d553-4d72-b7ea-bcaaeed97837/volume", "rel": "bookmark"}]} DEBUG util.py:445: PATCH: /v1/nodes/ab525d18-455a-4e38-afca-f2cb94424351 [{'path': '/protected', 'value': 'True', 'op': 'replace'}] DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_update_protected_string [0.061563s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_update_protected_with_reason [0.056848s] ... 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-72a5c470-2e4b-4ab1-b60d-a602f30c92bf DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"The sort_key value properties is an invalid field for sorting\", \"debuginfo\": null}"} DEBUG util.py:445: GET: /v1/nodes?sort_key=driver_info {} DEBUG util.py:445: GOT:Response: 400 Bad Request DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-6cd624cf-de66-40ae-9955-cd1a28bccb14 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"The sort_key value driver_info is an invalid field for sorting\", \"debuginfo\": null}"} DEBUG util.py:445: GET: /v1/nodes?sort_key=extra {} DEBUG util.py:445: GOT:Response: 400 Bad Request DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-af9dce6c-ff8c-4110-a6ee-0fc13308249d DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"The sort_key value extra is an invalid field for sorting\", \"debuginfo\": null}"} DEBUG util.py:445: GET: /v1/nodes?sort_key=instance_info {} DEBUG util.py:445: GOT:Response: 400 Bad Request DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-c531ca90-1b39-48de-868d-c57f8ce81779 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"The sort_key value instance_info is an invalid field for sorting\", \"debuginfo\": null}"} DEBUG util.py:445: GET: /v1/nodes?sort_key=driver_internal_info {} DEBUG util.py:445: GOT:Response: 400 Bad Request DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-51cf3653-4f9f-434b-90b6-7c6c795b2473 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"The sort_key value driver_internal_info is an invalid field for sorting\", \"debuginfo\": null}"} DEBUG util.py:445: GET: /v1/nodes?sort_key=clean_step {} DEBUG util.py:445: GOT:Response: 400 Bad Request DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-dcd1b3c5-6713-4dda-a81b-67de2d4ac39d DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"The sort_key value clean_step is an invalid field for sorting\", \"debuginfo\": null}"} DEBUG util.py:445: GET: /v1/nodes?sort_key=traits {} DEBUG util.py:445: GOT:Response: 400 Bad Request DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-a0f4f161-3a7e-45a3-a6c9-489a8964fef9 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"The sort_key value traits is an invalid field for sorting\", \"debuginfo\": null}"} DEBUG util.py:445: GET: /v1/nodes?associated=false {} DEBUG util.py:445: GOT:{'nodes': [{'uuid': '407661e9-742e-4e46-8853-396ca826d1ba', 'instance_uuid': None, 'maintenance': False, 'power_state': None, 'provision_state': None, 'links': [{'href': 'http://localhost/v1/nodes/407661e9-742e-4e46-8853-396ca826d1ba', 'rel': 'self'}, {'href': 'http://localhost/nodes/407661e9-742e-4e46-8853-396ca826d1ba', 'rel': 'bookmark'}]}, {'uuid': '38d55da4-9dd0-4a35-bd5d-dc1989faf4e3', 'instance_uuid': None, 'maintenance': False, 'power_state': None, 'provision_state': None, 'links': [{'href': 'http://localhost/v1/nodes/38d55da4-9dd0-4a35-bd5d-dc1989faf4e3', 'rel': 'self'}, {'href': 'http://localhost/nodes/38d55da4-9dd0-4a35-bd5d-dc1989faf4e3', 'rel': 'bookmark'}]}, {'uuid': '847768b1-a30e-464e-a131-aaa948eda396', 'instance_uuid': None, 'maintenance': False, 'power_state': None, 'provision_state': None, 'links': [{'href': 'http://localhost/v1/nodes/847768b1-a30e-464e-a131-aaa948eda396', 'rel': 'self'}, {'href': 'http://localhost/nodes/847768b1-a30e-464e-a131-aaa948eda396', 'rel': 'bookmark'}]}]} DEBUG util.py:445: GET: /v1/nodes?associated=FALSE {} DEBUG util.py:445: GOT:{'nodes': [{'uuid': '407661e9-742e-4e46-8853-396ca826d1ba', 'instance_uuid': None, 'maintenance': False, 'power_state': None, 'provision_state': None, 'links': [{'href': 'http://localhost/v1/nodes/407661e9-742e-4e46-8853-396ca826d1ba', 'rel': 'self'}, {'href': 'http://localhost/nodes/407661e9-742e-4e46-8853-396ca826d1ba', 'rel': 'bookmark'}]}, {'uuid': '38d55da4-9dd0-4a35-bd5d-dc1989faf4e3', 'instance_uuid': None, 'maintenance': False, 'power_state': None, 'provision_state': None, 'links': [{'href': 'http://localhost/v1/nodes/38d55da4-9dd0-4a35-bd5d-dc1989faf4e3', 'rel': 'self'}, {'href': 'http://localhost/nodes/38d55da4-9dd0-4a35-bd5d-dc1989faf4e3', 'rel': 'bookmark'}]}, {'uuid': '847768b1-a30e-464e-a131-aaa948eda396', 'instance_uuid': None, 'maintenance': False, 'power_state': None, 'provision_state': None, 'links': [{'href': 'http://localhost/v1/nodes/847768b1-a30e-464e-a131-aaa948eda396', 'rel': 'self'}, {'href': 'http://localhost/nodes/847768b1-a30e-464e-a131-aaa948eda396', 'rel': 'bookmark'}]}]} DEBUG util.py:445: GET: /v1/nodes/volume/connectors {} DEBUG util.py:445: GOT:Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: {"error_message": "{\"code\": 404, \"title\": \"Not Found\", \"description\": \"\"}"} DEBUG util.py:445: GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume {} 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 {} DEBUG util.py:445: GOT:Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-66128017-d74e-4912-ae2f-305d484182d5 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.31 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Resource could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 {} DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_volume_subresource_link [0.065395s] ... 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-577e4b8b-df90-406b-bdd4-cb2c124c7910 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.44 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Cannot patch /deploy_step. Only the following can be updated: automated_clean, bios_interface, boot_interface, chassis_uuid, conductor_group, console_interface, deploy_interface, description, driver, driver_info, extra, inspect_interface, instance_info, instance_uuid, lessee, maintenance, management_interface, name, network_data, network_interface, owner, power_interface, properties, protected, protected_reason, raid_interface, rescue_interface, resource_class, retired, retired_reason, storage_interface, vendor_interface\", \"debuginfo\": null}"} DEBUG util.py:445: PATCH: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 [{'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-d89b5a7e-0b7d-4349-b263-819ea391d798 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.5 DEBUG util.py:445: {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "created_at": "2024-05-14T11:54:08.065046+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/d97e85a5-ee41-4fa1-93ff-17018f56548b [{'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-4f6027e2-cfed-49fe-8c33-117b8818923b DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"uuid": "d97e85a5-ee41-4fa1-93ff-17018f56548b", "created_at": "2024-05-14T11:54:08.253565+00:00", "updated_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/d97e85a5-ee41-4fa1-93ff-17018f56548b", "rel": "self"}, {"href": "http://localhost/nodes/d97e85a5-ee41-4fa1-93ff-17018f56548b", "rel": "bookmark"}], "conductor": null, "allocation_uuid": null, "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/d97e85a5-ee41-4fa1-93ff-17018f56548b/ports", "rel": "self"}, {"href": "http://localhost/nodes/d97e85a5-ee41-4fa1-93ff-17018f56548b/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/d97e85a5-ee41-4fa1-93ff-17018f56548b/states", "rel": "self"}, {"href": "http://localhost/nodes/d97e85a5-ee41-4fa1-93ff-17018f56548b/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/d97e85a5-ee41-4fa1-93ff-17018f56548b/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/d97e85a5-ee41-4fa1-93ff-17018f56548b/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/d97e85a5-ee41-4fa1-93ff-17018f56548b/volume", "rel": "self"}, {"href": "http://localhost/nodes/d97e85a5-ee41-4fa1-93ff-17018f56548b/volume", "rel": "bookmark"}]} DEBUG util.py:445: PATCH: /v1/nodes/f64369d0-146c-4fd0-a765-19644e7bc5aa [{'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.151456s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_node.TestPost.test_create_node_invalid_storage_interface [0.048673s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_node.TestNodeHistory.test_get_all_old_version [0.064463s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_patch_volume_targets_subresource [0.074974s] ... 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-c922c738-8e64-42ef-a864-c8ed89cc9cfb DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "created_at": "2024-05-14T11:54:08.381472+00:00", "updated_at": null, "automated_clean": null, "bios_interface": "fake", "boot_interface": "fake", "boot_mode": null, "clean_step": {}, "conductor_group": "", "console_enabled": false, "console_interface": "fake", "deploy_interface": "fake", "deploy_step": {}, "description": "useful stuff", "driver": "fake-hardware", "driver_info": {"foo": "bar", "fake_password": "******"}, "driver_internal_info": {}, "extra": {}, "fault": null, "inspection_finished_at": null, "inspection_started_at": null, "inspect_interface": "fake", "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar"}, "instance_uuid": null, "last_error": null, "lessee": null, "maintenance": false, "maintenance_reason": null, "management_interface": "fake", "name": null, "network_data": {}, "network_interface": "flat", "owner": null, "power_interface": "fake", "power_state": null, "properties": {"cpu_arch": "x86_64", "cpus": "8", "local_gb": "10", "memory_mb": "4096"}, "protected": false, "protected_reason": null, "provision_state": "enroll", "provision_updated_at": null, "raid_config": {}, "raid_interface": "fake", "rescue_interface": "fake", "reservation": null, "resource_class": null, "retired": false, "retired_reason": null, "secure_boot": null, "storage_interface": "noop", "target_power_state": null, "target_provision_state": null, "target_raid_config": {}, "traits": [], "vendor_interface": "fake", "links": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "bookmark"}], "conductor": null, "allocation_uuid": null, "chassis_uuid": "e74c40e0-d825-11e2-a28f-0800200c9a66", "ports": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume", "rel": "bookmark"}]} DEBUG util.py:445: GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 {} DEBUG util.py:445: GOT:{'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'created_at': '2024-05-14T11:54:08.381472+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': '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-33e8d905-2274-4613-96f9-c8843c5034f5 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Could not find the following interface in the 'ironic.hardware.interfaces.network' entrypoint: foo. Valid interfaces are ['flat', 'neutron', 'noop'].\", \"debuginfo\": null}"} DEBUG util.py:445: POST: /v1/nodes {'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'instance_uuid': None, 'instance_info': {'configdrive': 'TG9yZW0gaXBzdW0gZG9sb3Igc2l0IGFtZXQ=', 'image_url': 'http://example.com/test_image_url', 'foo': 'bar'}, 'driver': 'fake-hardware', 'driver_info': {'foo': 'bar', 'fake_password': 'fakepass'}, 'properties': {'cpu_arch': 'x86_64', 'cpus': '8', 'local_gb': '10', 'memory_mb': '4096'}, 'maintenance': False, 'console_enabled': False, 'extra': {}, '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-4b8a8b66-99d4-472a-9cb6-effbac897d60 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Could not find the following interface in the 'ironic.hardware.interfaces.storage' entrypoint: foo. Valid interfaces are ['fake', 'noop'].\", \"debuginfo\": null}"} DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_update_resource_class_max_length [0.061402s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_node.TestPost.test_create_node_no_chassis_uuid [0.048208s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_node.TestNodeHistory.test_get_history_item_old_version [0.054419s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_update_resource_class_old_api [0.033136s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_node.TestPost.test_create_node_no_default_resource_class [0.051738s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_remove_internal_field [0.053067s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_remove_ok [0.058319s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_add_root [0.124565s] ... 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-1be24719-803b-44b3-9f32-01bbdc8ddfda DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.48 DEBUG util.py:445: {"uuid": "ab525d18-455a-4e38-afca-f2cb94424351", "created_at": "2024-05-14T11:54:08.363636+00:00", "updated_at": null, "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/ab525d18-455a-4e38-afca-f2cb94424351", "rel": "self"}, {"href": "http://localhost/nodes/ab525d18-455a-4e38-afca-f2cb94424351", "rel": "bookmark"}], "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/ab525d18-455a-4e38-afca-f2cb94424351/ports", "rel": "self"}, {"href": "http://localhost/nodes/ab525d18-455a-4e38-afca-f2cb94424351/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/ab525d18-455a-4e38-afca-f2cb94424351/states", "rel": "self"}, {"href": "http://localhost/nodes/ab525d18-455a-4e38-afca-f2cb94424351/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/ab525d18-455a-4e38-afca-f2cb94424351/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/ab525d18-455a-4e38-afca-f2cb94424351/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/ab525d18-455a-4e38-afca-f2cb94424351/volume", "rel": "self"}, {"href": "http://localhost/nodes/ab525d18-455a-4e38-afca-f2cb94424351/volume", "rel": "bookmark"}]} DEBUG util.py:445: PATCH: /v1/nodes/46a1314d-7fab-434b-8c12-6d75d1ab054b [{'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-fff410c9-4fd8-4619-b187-67ee0da1c87d DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.48 DEBUG util.py:445: {"uuid": "46a1314d-7fab-434b-8c12-6d75d1ab054b", "created_at": "2024-05-14T11:54:08.421357+00:00", "updated_at": null, "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/46a1314d-7fab-434b-8c12-6d75d1ab054b", "rel": "self"}, {"href": "http://localhost/nodes/46a1314d-7fab-434b-8c12-6d75d1ab054b", "rel": "bookmark"}], "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/46a1314d-7fab-434b-8c12-6d75d1ab054b/ports", "rel": "self"}, {"href": "http://localhost/nodes/46a1314d-7fab-434b-8c12-6d75d1ab054b/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/46a1314d-7fab-434b-8c12-6d75d1ab054b/states", "rel": "self"}, {"href": "http://localhost/nodes/46a1314d-7fab-434b-8c12-6d75d1ab054b/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/46a1314d-7fab-434b-8c12-6d75d1ab054b/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/46a1314d-7fab-434b-8c12-6d75d1ab054b/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/46a1314d-7fab-434b-8c12-6d75d1ab054b/volume", "rel": "self"}, {"href": "http://localhost/nodes/46a1314d-7fab-434b-8c12-6d75d1ab054b/volume", "rel": "bookmark"}]} DEBUG util.py:445: PATCH: /v1/nodes/09296535-c4a7-4a26-8d84-36ed7ee7b919 [{'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-721c950e-1fad-4190-94f7-d5441c907c5a DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.21 DEBUG util.py:445: {"uuid": "09296535-c4a7-4a26-8d84-36ed7ee7b919", "created_at": "2024-05-14T11:54:08.484234+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/09296535-c4a7-4a26-8d84-36ed7ee7b919", "rel": "self"}, {"href": "http://localhost/nodes/09296535-c4a7-4a26-8d84-36ed7ee7b919", "rel": "bookmark"}], "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/09296535-c4a7-4a26-8d84-36ed7ee7b919/ports", "rel": "self"}, {"href": "http://localhost/nodes/09296535-c4a7-4a26-8d84-36ed7ee7b919/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/09296535-c4a7-4a26-8d84-36ed7ee7b919/states", "rel": "self"}, {"href": "http://localhost/nodes/09296535-c4a7-4a26-8d84-36ed7ee7b919/states", "rel": "bookmark"}]} DEBUG util.py:445: PATCH: /v1/nodes/cff22ffd-da32-4a2b-a9d5-acd7ebd6b4e8 [{'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-cfcecd48-6d6f-439e-9c55-bbd9ab6b2bba DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.20 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Request not acceptable.\", \"debuginfo\": null}"} DEBUG util.py:445: PATCH: /v1/nodes/7a293ab0-0dbe-42cc-82e7-858c28471765 [{'path': '/retired', 'value': True, 'op': 'replace'}] DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_update_retired [0.081205s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_replace_provision_updated_at [0.031352s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_patch_add_name_empty_invalid [0.073351s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_update_storage_interface [0.122335s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_patch_add_name_empty_not_acceptable [0.069589s] ... 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-5a58b7b6-e365-4bc5-bad2-92690d0775a6 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.61 DEBUG util.py:445: {"uuid": "7a293ab0-0dbe-42cc-82e7-858c28471765", "created_at": "2024-05-14T11:54:08.574346+00:00", "updated_at": null, "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/7a293ab0-0dbe-42cc-82e7-858c28471765", "rel": "self"}, {"href": "http://localhost/nodes/7a293ab0-0dbe-42cc-82e7-858c28471765", "rel": "bookmark"}], "conductor": null, "allocation_uuid": null, "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/7a293ab0-0dbe-42cc-82e7-858c28471765/ports", "rel": "self"}, {"href": "http://localhost/nodes/7a293ab0-0dbe-42cc-82e7-858c28471765/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/7a293ab0-0dbe-42cc-82e7-858c28471765/states", "rel": "self"}, {"href": "http://localhost/nodes/7a293ab0-0dbe-42cc-82e7-858c28471765/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/7a293ab0-0dbe-42cc-82e7-858c28471765/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/7a293ab0-0dbe-42cc-82e7-858c28471765/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/7a293ab0-0dbe-42cc-82e7-858c28471765/volume", "rel": "self"}, {"href": "http://localhost/nodes/7a293ab0-0dbe-42cc-82e7-858c28471765/volume", "rel": "bookmark"}]} DEBUG util.py:445: PATCH: /v1/nodes/0a28d41f-6d1a-4819-9383-a8f2fd430168 [{'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-dd4083c9-1863-43cf-878b-cdb0dca68240 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"uuid": "0a28d41f-6d1a-4819-9383-a8f2fd430168", "created_at": "2024-05-14T11:54:08.702408+00:00", "updated_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/0a28d41f-6d1a-4819-9383-a8f2fd430168", "rel": "self"}, {"href": "http://localhost/nodes/0a28d41f-6d1a-4819-9383-a8f2fd430168", "rel": "bookmark"}], "conductor": null, "allocation_uuid": null, "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/0a28d41f-6d1a-4819-9383-a8f2fd430168/ports", "rel": "self"}, {"href": "http://localhost/nodes/0a28d41f-6d1a-4819-9383-a8f2fd430168/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/0a28d41f-6d1a-4819-9383-a8f2fd430168/states", "rel": "self"}, {"href": "http://localhost/nodes/0a28d41f-6d1a-4819-9383-a8f2fd430168/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/0a28d41f-6d1a-4819-9383-a8f2fd430168/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/0a28d41f-6d1a-4819-9383-a8f2fd430168/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/0a28d41f-6d1a-4819-9383-a8f2fd430168/volume", "rel": "self"}, {"href": "http://localhost/nodes/0a28d41f-6d1a-4819-9383-a8f2fd430168/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: {1} ironic.tests.unit.api.controllers.v1.test_node.TestPost.test_create_node_automated_clean [0.122159s] ... 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': {}} 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-bf325f47-0780-47a3-ab25-5862c1c351f6 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.1 DEBUG util.py:445: {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "created_at": "2024-05-14T11:54:08.533185+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': {}, '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-002cf638-1729-420b-a654-9c220ad0e246 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.1 DEBUG util.py:445: {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "created_at": "2024-05-14T11:54:08.579480+00:00", "updated_at": null, "console_enabled": false, "driver": "fake-hardware", "driver_info": {"foo": "bar", "fake_password": "******"}, "extra": {}, "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar"}, "instance_uuid": null, "last_error": null, "maintenance": false, "maintenance_reason": null, "power_state": null, "properties": {"cpu_arch": "x86_64", "cpus": "8", "local_gb": "10", "memory_mb": "4096"}, "provision_state": null, "provision_updated_at": null, "reservation": null, "target_power_state": null, "target_provision_state": null, "links": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "bookmark"}], "chassis_uuid": "e74c40e0-d825-11e2-a28f-0800200c9a66", "ports": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "bookmark"}]} DEBUG util.py:445: GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 {} DEBUG util.py:445: GOT:{'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'created_at': '2024-05-14T11:54:08.579480+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': '17bf99a7-b577-4fbf-8f1a-587f6d873ce1', 'instance_uuid': None, 'instance_info': {'configdrive': 'TG9yZW0gaXBzdW0gZG9sb3Igc2l0IGFtZXQ=', 'image_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/17bf99a7-b577-4fbf-8f1a-587f6d873ce1 DEBUG util.py:445: Openstack-Request-Id: req-4563d3b2-5667-4e77-b052-1ebb5b0eea95 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.40 DEBUG util.py:445: {"uuid": "17bf99a7-b577-4fbf-8f1a-587f6d873ce1", "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/17bf99a7-b577-4fbf-8f1a-587f6d873ce1", "rel": "self"}, {"href": "http://localhost/nodes/17bf99a7-b577-4fbf-8f1a-587f6d873ce1", "rel": "bookmark"}], "chassis_uuid": "e74c40e0-d825-11e2-a28f-0800200c9a66", "ports": [{"href": "http://localhost/v1/nodes/17bf99a7-b577-4fbf-8f1a-587f6d873ce1/ports", "rel": "self"}, {"href": "http://localhost/nodes/17bf99a7-b577-4fbf-8f1a-587f6d873ce1/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/17bf99a7-b577-4fbf-8f1a-587f6d873ce1/states", "rel": "self"}, {"href": "http://localhost/nodes/17bf99a7-b577-4fbf-8f1a-587f6d873ce1/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/17bf99a7-b577-4fbf-8f1a-587f6d873ce1/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/17bf99a7-b577-4fbf-8f1a-587f6d873ce1/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/17bf99a7-b577-4fbf-8f1a-587f6d873ce1/volume", "rel": "self"}, {"href": "http://localhost/nodes/17bf99a7-b577-4fbf-8f1a-587f6d873ce1/volume", "rel": "bookmark"}]} DEBUG util.py:445: GET: /v1/nodes/17bf99a7-b577-4fbf-8f1a-587f6d873ce1 {} DEBUG util.py:445: GOT:{'uuid': '17bf99a7-b577-4fbf-8f1a-587f6d873ce1', '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/17bf99a7-b577-4fbf-8f1a-587f6d873ce1', 'rel': 'self'}, {'href': 'http://localhost/nodes/17bf99a7-b577-4fbf-8f1a-587f6d873ce1', 'rel': 'bookmark'}], 'chassis_uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'ports': [{'href': 'http://localhost/v1/nodes/17bf99a7-b577-4fbf-8f1a-587f6d873ce1/ports', 'rel': 'self'}, {'href': 'http://localhost/nodes/17bf99a7-b577-4fbf-8f1a-587f6d873ce1/ports', 'rel': 'bookmark'}], 'states': [{'href': 'http://localhost/v1/nodes/17bf99a7-b577-4fbf-8f1a-587f6d873ce1/states', 'rel': 'self'}, {'href': 'http://localhost/nodes/17bf99a7-b577-4fbf-8f1a-587f6d873ce1/states', 'rel': 'bookmark'}], 'portgroups': [{'href': 'http://localhost/v1/nodes/17bf99a7-b577-4fbf-8f1a-587f6d873ce1/portgroups', 'rel': 'self'}, {'href': 'http://localhost/nodes/17bf99a7-b577-4fbf-8f1a-587f6d873ce1/portgroups', 'rel': 'bookmark'}], 'volume': [{'href': 'http://localhost/v1/nodes/17bf99a7-b577-4fbf-8f1a-587f6d873ce1/volume', 'rel': 'self'}, {'href': 'http://localhost/nodes/17bf99a7-b577-4fbf-8f1a-587f6d873ce1/volume', 'rel': 'bookmark'}]} DEBUG util.py:445: POST: /v1/nodes {'uuid': 'a2b05dd7-8b30-4db0-909b-0a296cae5adf', 'instance_uuid': None, 'instance_info': {'configdrive': 'TG9yZW0gaXBzdW0gZG9sb3Igc2l0IGFtZXQ=', 'image_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/a2b05dd7-8b30-4db0-909b-0a296cae5adf DEBUG util.py:445: Openstack-Request-Id: req-ff7a318c-22e4-4f27-808b-4d55c43111d0 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.40 DEBUG util.py:445: {"uuid": "a2b05dd7-8b30-4db0-909b-0a296cae5adf", "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/a2b05dd7-8b30-4db0-909b-0a296cae5adf", "rel": "self"}, {"href": "http://localhost/nodes/a2b05dd7-8b30-4db0-909b-0a296cae5adf", "rel": "bookmark"}], "chassis_uuid": "e74c40e0-d825-11e2-a28f-0800200c9a66", "ports": [{"href": "http://localhost/v1/nodes/a2b05dd7-8b30-4db0-909b-0a296cae5adf/ports", "rel": "self"}, {"href": "http://localhost/nodes/a2b05dd7-8b30-4db0-909b-0a296cae5adf/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/a2b05dd7-8b30-4db0-909b-0a296cae5adf/states", "rel": "self"}, {"href": "http://localhost/nodes/a2b05dd7-8b30-4db0-909b-0a296cae5adf/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/a2b05dd7-8b30-4db0-909b-0a296cae5adf/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/a2b05dd7-8b30-4db0-909b-0a296cae5adf/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/a2b05dd7-8b30-4db0-909b-0a296cae5adf/volume", "rel": "self"}, {"href": "http://localhost/nodes/a2b05dd7-8b30-4db0-909b-0a296cae5adf/volume", "rel": "bookmark"}]} DEBUG util.py:445: GET: /v1/nodes/a2b05dd7-8b30-4db0-909b-0a296cae5adf {} DEBUG util.py:445: GOT:{'uuid': 'a2b05dd7-8b30-4db0-909b-0a296cae5adf', '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/a2b05dd7-8b30-4db0-909b-0a296cae5adf', 'rel': 'self'}, {'href': 'http://localhost/nodes/a2b05dd7-8b30-4db0-909b-0a296cae5adf', 'rel': 'bookmark'}], 'chassis_uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'ports': [{'href': 'http://localhost/v1/nodes/a2b05dd7-8b30-4db0-909b-0a296cae5adf/ports', 'rel': 'self'}, {'href': 'http://localhost/nodes/a2b05dd7-8b30-4db0-909b-0a296cae5adf/ports', 'rel': 'bookmark'}], 'states': [{'href': 'http://localhost/v1/nodes/a2b05dd7-8b30-4db0-909b-0a296cae5adf/states', 'rel': 'self'}, {'href': 'http://localhost/nodes/a2b05dd7-8b30-4db0-909b-0a296cae5adf/states', 'rel': 'bookmark'}], 'portgroups': [{'href': 'http://localhost/v1/nodes/a2b05dd7-8b30-4db0-909b-0a296cae5adf/portgroups', 'rel': 'self'}, {'href': 'http://localhost/nodes/a2b05dd7-8b30-4db0-909b-0a296cae5adf/portgroups', 'rel': 'bookmark'}], 'volume': [{'href': 'http://localhost/v1/nodes/a2b05dd7-8b30-4db0-909b-0a296cae5adf/volume', 'rel': 'self'}, {'href': 'http://localhost/nodes/a2b05dd7-8b30-4db0-909b-0a296cae5adf/volume', 'rel': 'bookmark'}]} DEBUG util.py:445: POST: /v1/nodes {'uuid': '3b2a9ce5-3194-4684-833a-7be265939ac2', 'instance_uuid': None, 'instance_info': {'configdrive': 'TG9yZW0gaXBzdW0gZG9sb3Igc2l0IGFtZXQ=', 'image_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/3b2a9ce5-3194-4684-833a-7be265939ac2 DEBUG util.py:445: Openstack-Request-Id: req-80e482c7-e788-4024-b396-4b7df2137313 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.40 DEBUG util.py:445: {"uuid": "3b2a9ce5-3194-4684-833a-7be265939ac2", "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/3b2a9ce5-3194-4684-833a-7be265939ac2", "rel": "self"}, {"href": "http://localhost/nodes/3b2a9ce5-3194-4684-833a-7be265939ac2", "rel": "bookmark"}], "chassis_uuid": "e74c40e0-d825-11e2-a28f-0800200c9a66", "ports": [{"href": "http://localhost/v1/nodes/3b2a9ce5-3194-4684-833a-7be265939ac2/ports", "rel": "self"}, {"href": "http://localhost/nodes/3b2a9ce5-3194-4684-833a-7be265939ac2/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/3b2a9ce5-3194-4684-833a-7be265939ac2/states", "rel": "self"}, {"href": "http://localhost/nodes/3b2a9ce5-3194-4684-833a-7be265939ac2/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/3b2a9ce5-3194-4684-833a-7be265939ac2/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/3b2a9ce5-3194-4684-833a-7be265939ac2/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/3b2a9ce5-3194-4684-833a-7be265939ac2/volume", "rel": "self"}, {"href": "http://localhost/nodes/3b2a9ce5-3194-4684-833a-7be265939ac2/volume", "rel": "bookmark"}]} DEBUG util.py:445: GET: /v1/nodes/3b2a9ce5-3194-4684-833a-7be265939ac2 {} DEBUG util.py:445: GOT:{'uuid': '3b2a9ce5-3194-4684-833a-7be265939ac2', '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/3b2a9ce5-3194-4684-833a-7be265939ac2', 'rel': 'self'}, {'href': 'http://localhost/nodes/3b2a9ce5-3194-4684-833a-7be265939ac2', 'rel': 'bookmark'}], 'chassis_uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'ports': [{'href': 'http://localhost/v1/nodes/3b2a9ce5-3194-4684-833a-7be265939ac2/ports', 'rel': 'self'}, {'href': 'http://localhost/nodes/3b2a9ce5-3194-4684-833a-7be265939ac2/ports', 'rel': 'bookmark'}], 'states': [{'href': 'http://localhost/v1/nodes/3b2a9ce5-3194-4684-833a-7be265939ac2/states', 'rel': 'self'}, {'href': 'http://localhost/nodes/3b2a9ce5-3194-4684-833a-7be265939ac2/states', 'rel': 'bookmark'}], 'portgroups': [{'href': 'http://localhost/v1/nodes/3b2a9ce5-3194-4684-833a-7be265939ac2/portgroups', 'rel': 'self'}, {'href': 'http://localhost/nodes/3b2a9ce5-3194-4684-833a-7be265939ac2/portgroups', 'rel': 'bookmark'}], 'volume': [{'href': 'http://localhost/v1/nodes/3b2a9ce5-3194-4684-833a-7be265939ac2/volume', 'rel': 'self'}, {'href': 'http://localhost/nodes/3b2a9ce5-3194-4684-833a-7be265939ac2/volume', 'rel': 'bookmark'}]} DEBUG util.py:445: POST: /v1/nodes {'uuid': '73d8f818-2130-4c15-b66f-c016e2aaef58', 'instance_uuid': None, 'instance_info': {'configdrive': 'TG9yZW0gaXBzdW0gZG9sb3Igc2l0IGFtZXQ=', 'image_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/73d8f818-2130-4c15-b66f-c016e2aaef58 DEBUG util.py:445: Openstack-Request-Id: req-469415fc-5098-4ef7-ac58-549f72be232f DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.40 DEBUG util.py:445: {"uuid": "73d8f818-2130-4c15-b66f-c016e2aaef58", "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/73d8f818-2130-4c15-b66f-c016e2aaef58", "rel": "self"}, {"href": "http://localhost/nodes/73d8f818-2130-4c15-b66f-c016e2aaef58", "rel": "bookmark"}], "chassis_uuid": "e74c40e0-d825-11e2-a28f-0800200c9a66", "ports": [{"href": "http://localhost/v1/nodes/73d8f818-2130-4c15-b66f-c016e2aaef58/ports", "rel": "self"}, {"href": "http://localhost/nodes/73d8f818-2130-4c15-b66f-c016e2aaef58/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/73d8f818-2130-4c15-b66f-c016e2aaef58/states", "rel": "self"}, {"href": "http://localhost/nodes/73d8f818-2130-4c15-b66f-c016e2aaef58/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/73d8f818-2130-4c15-b66f-c016e2aaef58/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/73d8f818-2130-4c15-b66f-c016e2aaef58/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/73d8f818-2130-4c15-b66f-c016e2aaef58/volume", "rel": "self"}, {"href": "http://localhost/nodes/73d8f818-2130-4c15-b66f-c016e2aaef58/volume", "rel": "bookmark"}]} DEBUG util.py:445: GET: /v1/nodes/73d8f818-2130-4c15-b66f-c016e2aaef58 {} DEBUG util.py:445: GOT:{'uuid': '73d8f818-2130-4c15-b66f-c016e2aaef58', '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/73d8f818-2130-4c15-b66f-c016e2aaef58', 'rel': 'self'}, {'href': 'http://localhost/nodes/73d8f818-2130-4c15-b66f-c016e2aaef58', 'rel': 'bookmark'}], 'chassis_uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'ports': [{'href': 'http://localhost/v1/nodes/73d8f818-2130-4c15-b66f-c016e2aaef58/ports', 'rel': 'self'}, {'href': 'http://localhost/nodes/73d8f818-2130-4c15-b66f-c016e2aaef58/ports', 'rel': 'bookmark'}], 'states': [{'href': 'http://localhost/v1/nodes/73d8f818-2130-4c15-b66f-c016e2aaef58/states', 'rel': 'self'}, {'href': 'http://localhost/nodes/73d8f818-2130-4c15-b66f-c016e2aaef58/states', 'rel': 'bookmark'}], 'portgroups': [{'href': 'http://localhost/v1/nodes/73d8f818-2130-4c15-b66f-c016e2aaef58/portgroups', 'rel': 'self'}, {'href': 'http://localhost/nodes/73d8f818-2130-4c15-b66f-c016e2aaef58/portgroups', 'rel': 'bookmark'}], 'volume': [{'href': 'http://localhost/v1/nodes/73d8f818-2130-4c15-b66f-c016e2aaef58/volume', 'rel': 'self'}, {'href': 'http://localhost/nodes/73d8f818-2130-4c15-b66f-c016e2aaef58/volume', 'rel': 'bookmark'}]} DEBUG util.py:445: POST: /v1/nodes {'uuid': 'cb16d597-5938-4000-ac01-8546d78f3131', 'instance_uuid': None, 'instance_info': {'configdrive': 'TG9yZW0gaXBzdW0gZG9sb3Igc2l0IGFtZXQ=', 'image_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/cb16d597-5938-4000-ac01-8546d78f3131 DEBUG util.py:445: Openstack-Request-Id: req-2b58fdf2-80a9-4717-81a6-9970b8c394e3 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.40 DEBUG util.py:445: {"uuid": "cb16d597-5938-4000-ac01-8546d78f3131", "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/cb16d597-5938-4000-ac01-8546d78f3131", "rel": "self"}, {"href": "http://localhost/nodes/cb16d597-5938-4000-ac01-8546d78f3131", "rel": "bookmark"}], "chassis_uuid": "e74c40e0-d825-11e2-a28f-0800200c9a66", "ports": [{"href": "http://localhost/v1/nodes/cb16d597-5938-4000-ac01-8546d78f3131/ports", "rel": "self"}, {"href": "http://localhost/nodes/cb16d597-5938-4000-ac01-8546d78f3131/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/cb16d597-5938-4000-ac01-8546d78f3131/states", "rel": "self"}, {"href": "http://localhost/nodes/cb16d597-5938-4000-ac01-8546d78f3131/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/cb16d597-5938-4000-ac01-8546d78f3131/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/cb16d597-5938-4000-ac01-8546d78f3131/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/cb16d597-5938-4000-ac01-8546d78f3131/volume", "rel": "self"}, {"href": "http://localhost/nodes/cb16d597-5938-4000-ac01-8546d78f3131/volume", "rel": "bookmark"}]} DEBUG util.py:445: GET: /v1/nodes/cb16d597-5938-4000-ac01-8546d78f3131 {} DEBUG util.py:445: GOT:{'uuid': 'cb16d597-5938-4000-ac01-8546d78f3131', '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/cb16d597-5938-4000-ac01-8546d78f3131', 'rel': 'self'}, {'href': 'http://localhost/nodes/cb16d597-5938-4000-ac01-8546d78f3131', 'rel': 'bookmark'}], 'chassis_uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'ports': [{'href': 'http://localhost/v1/nodes/cb16d597-5938-4000-ac01-8546d78f3131/ports', 'rel': 'self'}, {'href': 'http://localhost/nodes/cb16d597-5938-4000-ac01-8546d78f3131/ports', 'rel': 'bookmark'}], 'states': [{'href': 'http://localhost/v1/nodes/cb16d597-5938-4000-ac01-8546d78f3131/states', 'rel': 'self'}, {'href': 'http://localhost/nodes/cb16d597-5938-4000-ac01-8546d78f3131/states', 'rel': 'bookmark'}], 'portgroups': [{'href': 'http://localhost/v1/nodes/cb16d597-5938-4000-ac01-8546d78f3131/portgroups', 'rel': 'self'}, {'href': 'http://localhost/nodes/cb16d597-5938-4000-ac01-8546d78f3131/portgroups', 'rel': 'bookmark'}], 'volume': [{'href': 'http://localhost/v1/nodes/cb16d597-5938-4000-ac01-8546d78f3131/volume', 'rel': 'self'}, {'href': 'http://localhost/nodes/cb16d597-5938-4000-ac01-8546d78f3131/volume', 'rel': 'bookmark'}]} DEBUG util.py:445: POST: /v1/nodes {'uuid': 'a923d0a6-fc1d-4872-8770-1fbf129ef98b', 'instance_uuid': None, 'instance_info': {'configdrive': 'TG9yZW0gaXBzdW0gZG9sb3Igc2l0IGFtZXQ=', 'image_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/a923d0a6-fc1d-4872-8770-1fbf129ef98b DEBUG util.py:445: Openstack-Request-Id: req-9c261ab4-9f00-41b1-a30d-91527ddf7695 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.40 DEBUG util.py:445: {"uuid": "a923d0a6-fc1d-4872-8770-1fbf129ef98b", "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/a923d0a6-fc1d-4872-8770-1fbf129ef98b", "rel": "self"}, {"href": "http://localhost/nodes/a923d0a6-fc1d-4872-8770-1fbf129ef98b", "rel": "bookmark"}], "chassis_uuid": "e74c40e0-d825-11e2-a28f-0800200c9a66", "ports": [{"href": "http://localhost/v1/nodes/a923d0a6-fc1d-4872-8770-1fbf129ef98b/ports", "rel": "self"}, {"href": "http://localhost/nodes/a923d0a6-fc1d-4872-8770-1fbf129ef98b/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/a923d0a6-fc1d-4872-8770-1fbf129ef98b/states", "rel": "self"}, {"href": "http://localhost/nodes/a923d0a6-fc1d-4872-8770-1fbf129ef98b/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/a923d0a6-fc1d-4872-8770-1fbf129ef98b/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/a923d0a6-fc1d-4872-8770-1fbf129ef98b/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/a923d0a6-fc1d-4872-8770-1fbf129ef98b/volume", "rel": "self"}, {"href": "http://localhost/nodes/a923d0a6-fc1d-4872-8770-1fbf129ef98b/volume", "rel": "bookmark"}]} DEBUG util.py:445: GET: /v1/nodes/a923d0a6-fc1d-4872-8770-1fbf129ef98b {} DEBUG util.py:445: GOT:{'uuid': 'a923d0a6-fc1d-4872-8770-1fbf129ef98b', '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/a923d0a6-fc1d-4872-8770-1fbf129ef98b', 'rel': 'self'}, {'href': 'http://localhost/nodes/a923d0a6-fc1d-4872-8770-1fbf129ef98b', 'rel': 'bookmark'}], 'chassis_uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'ports': [{'href': 'http://localhost/v1/nodes/a923d0a6-fc1d-4872-8770-1fbf129ef98b/ports', 'rel': 'self'}, {'href': 'http://localhost/nodes/a923d0a6-fc1d-4872-8770-1fbf129ef98b/ports', 'rel': 'bookmark'}], 'states': [{'href': 'http://localhost/v1/nodes/a923d0a6-fc1d-4872-8770-1fbf129ef98b/states', 'rel': 'self'}, {'href': 'http://localhost/nodes/a923d0a6-fc1d-4872-8770-1fbf129ef98b/states', 'rel': 'bookmark'}], 'portgroups': [{'href': 'http://localhost/v1/nodes/a923d0a6-fc1d-4872-8770-1fbf129ef98b/portgroups', 'rel': 'self'}, {'href': 'http://localhost/nodes/a923d0a6-fc1d-4872-8770-1fbf129ef98b/portgroups', 'rel': 'bookmark'}], 'volume': [{'href': 'http://localhost/v1/nodes/a923d0a6-fc1d-4872-8770-1fbf129ef98b/volume', 'rel': 'self'}, {'href': 'http://localhost/nodes/a923d0a6-fc1d-4872-8770-1fbf129ef98b/volume', 'rel': 'bookmark'}]} DEBUG util.py:445: POST: /v1/nodes {'uuid': 'abe582ba-a9ed-4e4c-b140-8469db37ffe4', 'instance_uuid': None, 'instance_info': {'configdrive': 'TG9yZW0gaXBzdW0gZG9sb3Igc2l0IGFtZXQ=', 'image_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/abe582ba-a9ed-4e4c-b140-8469db37ffe4 DEBUG util.py:445: Openstack-Request-Id: req-c9e8a15a-6272-475b-89e8-6027195df4ff DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.40 DEBUG util.py:445: {"uuid": "abe582ba-a9ed-4e4c-b140-8469db37ffe4", "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/abe582ba-a9ed-4e4c-b140-8469db37ffe4", "rel": "self"}, {"href": "http://localhost/nodes/abe582ba-a9ed-4e4c-b140-8469db37ffe4", "rel": "bookmark"}], "chassis_uuid": "e74c40e0-d825-11e2-a28f-0800200c9a66", "ports": [{"href": "http://localhost/v1/nodes/abe582ba-a9ed-4e4c-b140-8469db37ffe4/ports", "rel": "self"}, {"href": "http://localhost/nodes/abe582ba-a9ed-4e4c-b140-8469db37ffe4/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/abe582ba-a9ed-4e4c-b140-8469db37ffe4/states", "rel": "self"}, {"href": "http://localhost/nodes/abe582ba-a9ed-4e4c-b140-8469db37ffe4/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/abe582ba-a9ed-4e4c-b140-8469db37ffe4/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/abe582ba-a9ed-4e4c-b140-8469db37ffe4/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/abe582ba-a9ed-4e4c-b140-8469db37ffe4/volume", "rel": "self"}, {"href": "http://localhost/nodes/abe582ba-a9ed-4e4c-b140-8469db37ffe4/volume", "rel": "bookmark"}]} DEBUG util.py:445: GET: /v1/nodes/abe582ba-a9ed-4e4c-b140-8469db37ffe4 {} DEBUG util.py:445: GOT:{'uuid': 'abe582ba-a9ed-4e4c-b140-8469db37ffe4', '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/abe582ba-a9ed-4e4c-b140-8469db37ffe4', 'rel': 'self'}, {'href': 'http://localhost/nodes/abe582ba-a9ed-4e4c-b140-8469db37ffe4', 'rel': 'bookmark'}], 'chassis_uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'ports': [{'href': 'http://localhost/v1/nodes/abe582ba-a9ed-4e4c-b140-8469db37ffe4/ports', 'rel': 'self'}, {'href': 'http://localhost/nodes/abe582ba-a9ed-4e4c-b140-8469db37ffe4/ports', 'rel': 'bookmark'}], 'states': [{'href': 'http://localhost/v1/nodes/abe582ba-a9ed-4e4c-b140-8469db37ffe4/states', 'rel': 'self'}, {'href': 'http://localhost/nodes/abe582ba-a9ed-4e4c-b140-8469db37ffe4/states', 'rel': 'bookmark'}], 'portgroups': [{'href': 'http://localhost/v1/nodes/abe582ba-a9ed-4e4c-b140-8469db37ffe4/portgroups', 'rel': 'self'}, {'href': 'http://localhost/nodes/abe582ba-a9ed-4e4c-b140-8469db37ffe4/portgroups', 'rel': 'bookmark'}], 'volume': [{'href': 'http://localhost/v1/nodes/abe582ba-a9ed-4e4c-b140-8469db37ffe4/volume', 'rel': 'self'}, {'href': 'http://localhost/nodes/abe582ba-a9ed-4e4c-b140-8469db37ffe4/volume', 'rel': 'bookmark'}]} DEBUG util.py:445: POST: /v1/nodes {'uuid': '7c873dc3-c071-47ae-b248-e18f8cae0079', 'instance_uuid': None, 'instance_info': {'configdrive': 'TG9yZW0gaXBzdW0gZG9sb3Igc2l0IGFtZXQ=', 'image_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/7c873dc3-c071-47ae-b248-e18f8cae0079 DEBUG util.py:445: Openstack-Request-Id: req-b3ae4afe-4e4c-4560-aad8-662004532a36 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.40 DEBUG util.py:445: {"uuid": "7c873dc3-c071-47ae-b248-e18f8cae0079", "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/7c873dc3-c071-47ae-b248-e18f8cae0079", "rel": "self"}, {"href": "http://localhost/nodes/7c873dc3-c071-47ae-b248-e18f8cae0079", "rel": "bookmark"}], "chassis_uuid": "e74c40e0-d825-11e2-a28f-0800200c9a66", "ports": [{"href": "http://localhost/v1/nodes/7c873dc3-c071-47ae-b248-e18f8cae0079/ports", "rel": "self"}, {"href": "http://localhost/nodes/7c873dc3-c071-47ae-b248-e18f8cae0079/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/7c873dc3-c071-47ae-b248-e18f8cae0079/states", "rel": "self"}, {"href": "http://localhost/nodes/7c873dc3-c071-47ae-b248-e18f8cae0079/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/7c873dc3-c071-47ae-b248-e18f8cae0079/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/7c873dc3-c071-47ae-b248-e18f8cae0079/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/7c873dc3-c071-47ae-b248-e18f8cae0079/volume", "rel": "self"}, {"href": "http://localhost/nodes/7c873dc3-c071-47ae-b248-e18f8cae0079/volume", "rel": "bookmark"}]} DEBUG util.py:445: GET: /v1/nodes/7c873dc3-c071-47ae-b248-e18f8cae0079 {} DEBUG util.py:445: GOT:{'uuid': '7c873dc3-c071-47ae-b248-e18f8cae0079', '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/7c873dc3-c071-47ae-b248-e18f8cae0079', 'rel': 'self'}, {'href': 'http://localhost/nodes/7c873dc3-c071-47ae-b248-e18f8cae0079', 'rel': 'bookmark'}], 'chassis_uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'ports': [{'href': 'http://localhost/v1/nodes/7c873dc3-c071-47ae-b248-e18f8cae0079/ports', 'rel': 'self'}, {'href': 'http://localhost/nodes/7c873dc3-c071-47ae-b248-e18f8cae0079/ports', 'rel': 'bookmark'}], 'states': [{'href': 'http://localhost/v1/nodes/7c873dc3-c071-47ae-b248-e18f8cae0079/states', 'rel': 'self'}, {'href': 'http://localhost/nodes/7c873dc3-c071-47ae-b248-e18f8cae0079/states', 'rel': 'bookmark'}], 'portgroups': [{'href': 'http://localhost/v1/nodes/7c873dc3-c071-47ae-b248-e18f8cae0079/portgroups', 'rel': 'self'}, {'href': 'http://localhost/nodes/7c873dc3-c071-47ae-b248-e18f8cae0079/portgroups', 'rel': 'bookmark'}], 'volume': [{'href': 'http://localhost/v1/nodes/7c873dc3-c071-47ae-b248-e18f8cae0079/volume', 'rel': 'self'}, {'href': 'http://localhost/nodes/7c873dc3-c071-47ae-b248-e18f8cae0079/volume', 'rel': 'bookmark'}]} DEBUG util.py:445: POST: /v1/nodes {'uuid': '0a7ce670-5f7f-40eb-88cc-0627c7245269', 'instance_uuid': None, 'instance_info': {'configdrive': 'TG9yZW0gaXBzdW0gZG9sb3Igc2l0IGFtZXQ=', 'image_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/0a7ce670-5f7f-40eb-88cc-0627c7245269 DEBUG util.py:445: Openstack-Request-Id: req-6b89e0ad-8da6-4a78-bfd2-f1a567018320 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.40 DEBUG util.py:445: {"uuid": "0a7ce670-5f7f-40eb-88cc-0627c7245269", "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/0a7ce670-5f7f-40eb-88cc-0627c7245269", "rel": "self"}, {"href": "http://localhost/nodes/0a7ce670-5f7f-40eb-88cc-0627c7245269", "rel": "bookmark"}], "chassis_uuid": "e74c40e0-d825-11e2-a28f-0800200c9a66", "ports": [{"href": "http://localhost/v1/nodes/0a7ce670-5f7f-40eb-88cc-0627c7245269/ports", "rel": "self"}, {"href": "http://localhost/nodes/0a7ce670-5f7f-40eb-88cc-0627c7245269/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/0a7ce670-5f7f-40eb-88cc-0627c7245269/states", "rel": "self"}, {"href": "http://localhost/nodes/0a7ce670-5f7f-40eb-88cc-0627c7245269/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/0a7ce670-5f7f-40eb-88cc-0627c7245269/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/0a7ce670-5f7f-40eb-88cc-0627c7245269/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/0a7ce670-5f7f-40eb-88cc-0627c7245269/volume", "rel": "self"}, {"href": "http://localhost/nodes/0a7ce670-5f7f-40eb-88cc-0627c7245269/volume", "rel": "bookmark"}]} DEBUG util.py:445: GET: /v1/nodes/0a7ce670-5f7f-40eb-88cc-0627c7245269 {} DEBUG util.py:445: GOT:{'uuid': '0a7ce670-5f7f-40eb-88cc-0627c7245269', '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/0a7ce670-5f7f-40eb-88cc-0627c7245269', 'rel': 'self'}, {'href': 'http://localhost/nodes/0a7ce670-5f7f-40eb-88cc-0627c7245269', 'rel': 'bookmark'}], 'chassis_uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'ports': [{'href': 'http://localhost/v1/nodes/0a7ce670-5f7f-40eb-88cc-0627c7245269/ports', 'rel': 'self'}, {'href': 'http://localhost/nodes/0a7ce670-5f7f-40eb-88cc-0627c7245269/ports', 'rel': 'bookmark'}], 'states': [{'href': 'http://localhost/v1/nodes/0a7ce670-5f7f-40eb-88cc-0627c7245269/states', 'rel': 'self'}, {'href': 'http://localhost/nodes/0a7ce670-5f7f-40eb-88cc-0627c7245269/states', 'rel': 'bookmark'}], 'portgroups': [{'href': 'http://localhost/v1/nodes/0a7ce670-5f7f-40eb-88cc-0627c7245269/portgroups', 'rel': 'self'}, {'href': 'http://localhost/nodes/0a7ce670-5f7f-40eb-88cc-0627c7245269/portgroups', 'rel': 'bookmark'}], 'volume': [{'href': 'http://localhost/v1/nodes/0a7ce670-5f7f-40eb-88cc-0627c7245269/volume', 'rel': 'self'}, {'href': 'http://localhost/nodes/0a7ce670-5f7f-40eb-88cc-0627c7245269/volume', 'rel': 'bookmark'}]} DEBUG util.py:445: POST: /v1/nodes {'uuid': '19b8a74a-aba3-48f6-9287-76840fb062ce', 'instance_uuid': None, 'instance_info': {'configdrive': 'TG9yZW0gaXBzdW0gZG9sb3Igc2l0IGFtZXQ=', 'image_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/19b8a74a-aba3-48f6-9287-76840fb062ce DEBUG util.py:445: Openstack-Request-Id: req-3b097c67-125b-4363-8d4a-bceafe9efd7d DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.40 DEBUG util.py:445: {"uuid": "19b8a74a-aba3-48f6-9287-76840fb062ce", "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/19b8a74a-aba3-48f6-9287-76840fb062ce", "rel": "self"}, {"href": "http://localhost/nodes/19b8a74a-aba3-48f6-9287-76840fb062ce", "rel": "bookmark"}], "chassis_uuid": "e74c40e0-d825-11e2-a28f-0800200c9a66", "ports": [{"href": "http://localhost/v1/nodes/19b8a74a-aba3-48f6-9287-76840fb062ce/ports", "rel": "self"}, {"href": "http://localhost/nodes/19b8a74a-aba3-48f6-9287-76840fb062ce/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/19b8a74a-aba3-48f6-9287-76840fb062ce/states", "rel": "self"}, {"href": "http://localhost/nodes/19b8a74a-aba3-48f6-9287-76840fb062ce/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/19b8a74a-aba3-48f6-9287-76840fb062ce/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/19b8a74a-aba3-48f6-9287-76840fb062ce/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/19b8a74a-aba3-48f6-9287-76840fb062ce/volume", "rel": "self"}, {"href": "http://localhost/nodes/19b8a74a-aba3-48f6-9287-76840fb062ce/volume", "rel": "bookmark"}]} DEBUG util.py:445: GET: /v1/nodes/19b8a74a-aba3-48f6-9287-76840fb062ce {} DEBUG util.py:445: GOT:{'uuid': '19b8a74a-aba3-48f6-9287-76840fb062ce', '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/19b8a74a-aba3-48f6-9287-76840fb062ce', 'rel': 'self'}, {'href': 'http://localhost/nodes/19b8a74a-aba3-48f6-9287-76840fb062ce', 'rel': 'bookmark'}], 'chassis_uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'ports': [{'href': 'http://localhost/v1/nodes/19b8a74a-aba3-48f6-9287-76840fb062ce/ports', 'rel': 'self'}, {'href': 'http://localhost/nodes/19b8a74a-aba3-48f6-9287-76840fb062ce/ports', 'rel': 'bookmark'}], 'states': [{'href': 'http://localhost/v1/nodes/19b8a74a-aba3-48f6-9287-76840fb062ce/states', 'rel': 'self'}, {'href': 'http://localhost/nodes/19b8a74a-aba3-48f6-9287-76840fb062ce/states', 'rel': 'bookmark'}], 'portgroups': [{'href': 'http://localhost/v1/nodes/19b8a74a-aba3-48f6-9287-76840fb062ce/portgroups', 'rel': 'self'}, {'href': 'http://localhost/nodes/19b8a74a-aba3-48f6-9287-76840fb062ce/portgroups', 'rel': 'bookmark'}], 'volume': [{'href': 'http://localhost/v1/nodes/19b8a74a-aba3-48f6-9287-76840fb062ce/volume', 'rel': 'self'}, {'href': 'http://localhost/nodes/19b8a74a-aba3-48f6-9287-76840fb062ce/volume', 'rel': 'bookmark'}]} DEBUG util.py:445: POST: /v1/nodes {'uuid': '3552588d-1e95-4483-9e13-edc9093f1f81', 'instance_uuid': None, 'instance_info': {'configdrive': 'TG9yZW0gaXBzdW0gZG9sb3Igc2l0IGFtZXQ=', 'image_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/3552588d-1e95-4483-9e13-edc9093f1f81 DEBUG util.py:445: Openstack-Request-Id: req-db93f806-3bbc-49cd-a373-0ba22c4f3f1f DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.40 DEBUG util.py:445: {"uuid": "3552588d-1e95-4483-9e13-edc9093f1f81", "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/3552588d-1e95-4483-9e13-edc9093f1f81", "rel": "self"}, {"href": "http://localhost/nodes/3552588d-1e95-4483-9e13-edc9093f1f81", "rel": "bookmark"}], "chassis_uuid": "e74c40e0-d825-11e2-a28f-0800200c9a66", "ports": [{"href": "http://localhost/v1/nodes/3552588d-1e95-4483-9e13-edc9093f1f81/ports", "rel": "self"}, {"href": "http://localhost/nodes/3552588d-1e95-4483-9e13-edc9093f1f81/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/3552588d-1e95-4483-9e13-edc9093f1f81/states", "rel": "self"}, {"href": "http://localhost/nodes/3552588d-1e95-4483-9e13-edc9093f1f81/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/3552588d-1e95-4483-9e13-edc9093f1f81/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/3552588d-1e95-4483-9e13-edc9093f1f81/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/3552588d-1e95-4483-9e13-edc9093f1f81/volume", "rel": "self"}, {"href": "http://localhost/nodes/3552588d-1e95-4483-9e13-edc9093f1f81/volume", "rel": "bookmark"}]} DEBUG util.py:445: GET: /v1/nodes/3552588d-1e95-4483-9e13-edc9093f1f81 {} DEBUG util.py:445: GOT:{'uuid': '3552588d-1e95-4483-9e13-edc9093f1f81', '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/3552588d-1e95-4483-9e13-edc9093f1f81', 'rel': 'self'}, {'href': 'http://localhost/nodes/3552588d-1e95-4483-9e13-edc9093f1f81', 'rel': 'bookmark'}], 'chassis_uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'ports': [{'href': 'http://localhost/v1/nodes/3552588d-1e95-4483-9e13-edc9093f1f81/ports', 'rel': 'self'}, {'href': 'http://localhost/nodes/3552588d-1e95-4483-9e13-edc9093f1f81/ports', 'rel': 'bookmark'}], 'states': [{'href': 'http://localhost/v1/nodes/3552588d-1e95-4483-9e13-edc9093f1f81/states', 'rel': 'self'}, {'href': 'http://localhost/nodes/3552588d-1e95-4483-9e13-edc9093f1f81/states', 'rel': 'bookmark'}], 'portgroups': [{'href': 'http://localhost/v1/nodes/3552588d-1e95-4483-9e13-edc9093f1f81/portgroups', 'rel': 'self'}, {'href': 'http://localhost/nodes/3552588d-1e95-4483-9e13-edc9093f1f81/portgroups', 'rel': 'bookmark'}], 'volume': [{'href': 'http://localhost/v1/nodes/3552588d-1e95-4483-9e13-edc9093f1f81/volume', 'rel': 'self'}, {'href': 'http://localhost/nodes/3552588d-1e95-4483-9e13-edc9093f1f81/volume', 'rel': 'bookmark'}]} DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_node.TestPost.test_create_node_specify_interfaces [0.341863s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_node.TestPost.test_create_node_storage_interface_old_api_version [0.034116s] ... 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-3790d835-93ca-421a-a88b-235c3654b0bd DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "created_at": "2024-05-14T11:54:08.846431+00:00", "updated_at": null, "automated_clean": true, "bios_interface": "fake", "boot_interface": "fake", "boot_mode": null, "clean_step": {}, "conductor_group": "", "console_enabled": false, "console_interface": "fake", "deploy_interface": "fake", "deploy_step": {}, "description": null, "driver": "fake-hardware", "driver_info": {"foo": "bar", "fake_password": "******"}, "driver_internal_info": {}, "extra": {}, "fault": null, "inspection_finished_at": null, "inspection_started_at": null, "inspect_interface": "fake", "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar"}, "instance_uuid": null, "last_error": null, "lessee": null, "maintenance": false, "maintenance_reason": null, "management_interface": "fake", "name": null, "network_data": {}, "network_interface": "flat", "owner": null, "power_interface": "fake", "power_state": null, "properties": {"cpu_arch": "x86_64", "cpus": "8", "local_gb": "10", "memory_mb": "4096"}, "protected": false, "protected_reason": null, "provision_state": "enroll", "provision_updated_at": null, "raid_config": {}, "raid_interface": "fake", "rescue_interface": "fake", "reservation": null, "resource_class": null, "retired": false, "retired_reason": null, "secure_boot": null, "storage_interface": "noop", "target_power_state": null, "target_provision_state": null, "target_raid_config": {}, "traits": [], "vendor_interface": "fake", "links": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "bookmark"}], "conductor": null, "allocation_uuid": null, "chassis_uuid": "e74c40e0-d825-11e2-a28f-0800200c9a66", "ports": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume", "rel": "bookmark"}]} DEBUG util.py:445: GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 {} DEBUG util.py:445: GOT:{'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'created_at': '2024-05-14T11:54:08.846431+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': {}, '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-aff8d737-632d-421d-924c-d356e2e09293 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.1 DEBUG util.py:445: {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "created_at": "2000-01-01T00:00:00+00:00", "updated_at": null, "console_enabled": false, "driver": "fake-hardware", "driver_info": {"foo": "bar", "fake_password": "******"}, "extra": {}, "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar"}, "instance_uuid": null, "last_error": null, "maintenance": false, "maintenance_reason": null, "power_state": null, "properties": {"cpu_arch": "x86_64", "cpus": "8", "local_gb": "10", "memory_mb": "4096"}, "provision_state": null, "provision_updated_at": null, "reservation": null, "target_power_state": null, "target_provision_state": null, "links": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "bookmark"}], "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "bookmark"}]} DEBUG util.py:445: GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 {} DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_node.TestPost.test_create_node_chassis_uuid_always_in_response [0.163327s] ... ok DEBUG util.py:445: GOT:{'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'created_at': '2024-05-14T11:54:08.400080+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/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/1234 {} DEBUG util.py:445: GOT:Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: {"error_message": "{\"code\": 404, \"title\": \"Not Found\", \"description\": \"\"}"} DEBUG util.py:445: PATCH: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 [{'path': '/instance_uuid', 'value': 'aaaaaaaa-1111-bbbb-2222-cccccccccccc', 'op': 'add'}] DEBUG util.py:445: GOT:Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-bdc7661c-5089-4fd4-a539-2df0b6c0bd9c DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.1 DEBUG util.py:445: {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "created_at": "2024-05-14T11:54:08.570695+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-89b3f630-850b-478b-8db0-567e7d8c5997 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.5 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node deadbeef-0000-1111-2222-333333333333: Cannot change name to invalid name ''\", \"debuginfo\": null}"} DEBUG util.py:445: PATCH: /v1/nodes/deadbeef-0000-1111-2222-333333333333 [{'path': '/name', 'op': 'add', 'value': ''}] DEBUG util.py:445: GOT:Response: 406 Not Acceptable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-1e31a6aa-5a4b-46ae-91aa-28ea9ceca2bd DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.1 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Request not acceptable.\", \"debuginfo\": null}"} DEBUG util.py:445: PATCH: /v1/nodes/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-713753bf-5ee5-4a56-85c1-2fca1918ac7d DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.10 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"The word \\\"maintenance\\\" is reserved and can not be used as a node name. Reserved words are: maintenance, management, states, vendor_passthru, detail, validate.\", \"debuginfo\": null}"} DEBUG util.py:445: PATCH: /v1/nodes/deadbeef-0000-1111-2222-333333333333 [{'path': '/name', 'op': 'add', 'value': 'management'}] DEBUG util.py:445: GOT:Response: 400 Bad Request DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-00f1c9c5-77c4-4bb9-ae46-b70d93a04353 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.10 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"The word \\\"management\\\" is reserved and can not be used as a node name. Reserved words are: maintenance, management, states, vendor_passthru, detail, validate.\", \"debuginfo\": null}"} DEBUG util.py:445: PATCH: /v1/nodes/deadbeef-0000-1111-2222-333333333333 [{'path': '/name', 'op': 'add', 'value': 'states'}] DEBUG util.py:445: GOT:Response: 400 Bad Request DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-33c18e18-7e93-4ca2-be0e-3aa8711eb0fb DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.10 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"The word \\\"states\\\" is reserved and can not be used as a node name. Reserved words are: maintenance, management, states, vendor_passthru, detail, validate.\", \"debuginfo\": null}"} DEBUG util.py:445: PATCH: /v1/nodes/deadbeef-0000-1111-2222-333333333333 [{'path': '/name', 'op': 'add', 'value': 'vendor_passthru'}] DEBUG util.py:445: GOT:Response: 400 Bad Request DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-b8aa7a3a-7871-46f3-abb2-dd9fc55925ef DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.10 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"The word \\\"vendor_passthru\\\" is reserved and can not be used as a node name. Reserved words are: maintenance, management, states, vendor_passthru, detail, validate.\", \"debuginfo\": null}"} DEBUG util.py:445: PATCH: /v1/nodes/deadbeef-0000-1111-2222-333333333333 [{'path': '/name', 'op': 'add', 'value': 'detail'}] DEBUG util.py:445: GOT:Response: 400 Bad Request DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-e51eaa5b-c734-4d6c-ad51-7a1377ab1e94 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.10 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"The word \\\"detail\\\" is reserved and can not be used as a node name. Reserved words are: maintenance, management, states, vendor_passthru, detail, validate.\", \"debuginfo\": null}"} DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_patch_add_name_reserved [0.134766s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_patch_name_replace_ok [0.058599s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_patch_policy_update_generic_extra_instance_info [0.058978s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_patch_policy_update_none [0.065207s] ... ok DEBUG util.py:445: POST: /v1/nodes {'uuid': '963c2c19-c626-40a1-b383-06a528c63466', 'instance_uuid': None, 'instance_info': {'configdrive': 'TG9yZW0gaXBzdW0gZG9sb3Igc2l0IGFtZXQ=', 'image_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/963c2c19-c626-40a1-b383-06a528c63466 DEBUG util.py:445: Openstack-Request-Id: req-bc47578e-ac0a-4316-9443-22a30cfe78a4 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.40 DEBUG util.py:445: {"uuid": "963c2c19-c626-40a1-b383-06a528c63466", "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/963c2c19-c626-40a1-b383-06a528c63466", "rel": "self"}, {"href": "http://localhost/nodes/963c2c19-c626-40a1-b383-06a528c63466", "rel": "bookmark"}], "chassis_uuid": "e74c40e0-d825-11e2-a28f-0800200c9a66", "ports": [{"href": "http://localhost/v1/nodes/963c2c19-c626-40a1-b383-06a528c63466/ports", "rel": "self"}, {"href": "http://localhost/nodes/963c2c19-c626-40a1-b383-06a528c63466/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/963c2c19-c626-40a1-b383-06a528c63466/states", "rel": "self"}, {"href": "http://localhost/nodes/963c2c19-c626-40a1-b383-06a528c63466/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/963c2c19-c626-40a1-b383-06a528c63466/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/963c2c19-c626-40a1-b383-06a528c63466/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/963c2c19-c626-40a1-b383-06a528c63466/volume", "rel": "self"}, {"href": "http://localhost/nodes/963c2c19-c626-40a1-b383-06a528c63466/volume", "rel": "bookmark"}]} DEBUG util.py:445: GET: /v1/nodes/963c2c19-c626-40a1-b383-06a528c63466 {} DEBUG util.py:445: GOT:{'uuid': '963c2c19-c626-40a1-b383-06a528c63466', '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/963c2c19-c626-40a1-b383-06a528c63466', 'rel': 'self'}, {'href': 'http://localhost/nodes/963c2c19-c626-40a1-b383-06a528c63466', 'rel': 'bookmark'}], 'chassis_uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'ports': [{'href': 'http://localhost/v1/nodes/963c2c19-c626-40a1-b383-06a528c63466/ports', 'rel': 'self'}, {'href': 'http://localhost/nodes/963c2c19-c626-40a1-b383-06a528c63466/ports', 'rel': 'bookmark'}], 'states': [{'href': 'http://localhost/v1/nodes/963c2c19-c626-40a1-b383-06a528c63466/states', 'rel': 'self'}, {'href': 'http://localhost/nodes/963c2c19-c626-40a1-b383-06a528c63466/states', 'rel': 'bookmark'}], 'portgroups': [{'href': 'http://localhost/v1/nodes/963c2c19-c626-40a1-b383-06a528c63466/portgroups', 'rel': 'self'}, {'href': 'http://localhost/nodes/963c2c19-c626-40a1-b383-06a528c63466/portgroups', 'rel': 'bookmark'}], 'volume': [{'href': 'http://localhost/v1/nodes/963c2c19-c626-40a1-b383-06a528c63466/volume', 'rel': 'self'}, {'href': 'http://localhost/nodes/963c2c19-c626-40a1-b383-06a528c63466/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': {}, '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-426edc3e-890f-49af-bd9d-915b42c82421 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.32 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Request not acceptable.\", \"debuginfo\": null}"} DEBUG util.py:445: POST: /v1/nodes {'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'instance_uuid': None, 'instance_info': {'configdrive': 'TG9yZW0gaXBzdW0gZG9sb3Igc2l0IGFtZXQ=', 'image_url': 'http://example.com/test_image_url', 'foo': 'bar'}, 'driver': 'fake-hardware', 'driver_info': {'str': 'foo', 'int': 123, 'float': 0.1, 'bool': True, 'list': [1, 2], 'none': None, 'dict': {'cat': 'meow'}}, 'properties': {'cpu_arch': 'x86_64', 'cpus': '8', 'local_gb': '10', 'memory_mb': '4096'}, 'maintenance': False, 'console_enabled': False, 'extra': {}, 'chassis_uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66'} DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_node.TestPost.test_create_node_valid_driver_info [0.068848s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_node.TestPost.test_post_volume_connectors_subresource [0.027062s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_node.TestPost.test_vendor_passthru_async [0.026617s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_node.TestPost.test_vendor_passthru_delete [0.026883s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_node.TestPost.test_vendor_passthru_sync [0.027890s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_boot_mode_bios_older_soft_ver [0.036946s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_node.TestPost.test_create_node_default_state_enroll [0.152555s] ... ok 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-3f482767-8012-4f36-b9f1-72e2fb9bf78f DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.10 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"The word \\\"validate\\\" is reserved and can not be used as a node name. Reserved words are: maintenance, management, states, vendor_passthru, detail, validate.\", \"debuginfo\": null}"} DEBUG util.py:445: PATCH: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 [{'path': '/name', 'op': 'replace', 'value': 'guido-van-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-087398ac-33da-4b36-8081-853109865843 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.5 DEBUG util.py:445: {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "created_at": "2024-05-14T11:54:08.961900+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/950c4dfb-0b3b-4d21-9b14-8faa9dcefc02 [{'path': '/description', 'value': 'foo', 'op': 'replace'}, {'path': '/extra/foo', 'value': 'bar', 'op': 'add'}, {'path': '/instance_info/foo', 'value': 'bar', 'op': 'add'}] DEBUG util.py:445: GOT:Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-5e63112d-e5e1-4366-8001-ac205d5356a4 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"uuid": "950c4dfb-0b3b-4d21-9b14-8faa9dcefc02", "created_at": "2024-05-14T11:54:09.032745+00:00", "updated_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/950c4dfb-0b3b-4d21-9b14-8faa9dcefc02", "rel": "self"}, {"href": "http://localhost/nodes/950c4dfb-0b3b-4d21-9b14-8faa9dcefc02", "rel": "bookmark"}], "conductor": null, "allocation_uuid": null, "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/950c4dfb-0b3b-4d21-9b14-8faa9dcefc02/ports", "rel": "self"}, {"href": "http://localhost/nodes/950c4dfb-0b3b-4d21-9b14-8faa9dcefc02/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/950c4dfb-0b3b-4d21-9b14-8faa9dcefc02/states", "rel": "self"}, {"href": "http://localhost/nodes/950c4dfb-0b3b-4d21-9b14-8faa9dcefc02/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/950c4dfb-0b3b-4d21-9b14-8faa9dcefc02/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/950c4dfb-0b3b-4d21-9b14-8faa9dcefc02/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/950c4dfb-0b3b-4d21-9b14-8faa9dcefc02/volume", "rel": "self"}, {"href": "http://localhost/nodes/950c4dfb-0b3b-4d21-9b14-8faa9dcefc02/volume", "rel": "bookmark"}]} DEBUG util.py:445: PATCH: /v1/nodes/6df205ff-9f60-4005-a853-31fd59b81917 [] DEBUG util.py:445: GOT:Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-7885ade4-f331-4cb7-84f8-c53e2e28534b DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"uuid": "6df205ff-9f60-4005-a853-31fd59b81917", "created_at": "2024-05-14T11:54:09.092888+00:00", "updated_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/6df205ff-9f60-4005-a853-31fd59b81917", "rel": "self"}, {"href": "http://localhost/nodes/6df205ff-9f60-4005-a853-31fd59b81917", "rel": "bookmark"}], "conductor": null, "allocation_uuid": null, "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/6df205ff-9f60-4005-a853-31fd59b81917/ports", "rel": "self"}, {"href": "http://localhost/nodes/6df205ff-9f60-4005-a853-31fd59b81917/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/6df205ff-9f60-4005-a853-31fd59b81917/states", "rel": "self"}, {"href": "http://localhost/nodes/6df205ff-9f60-4005-a853-31fd59b81917/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/6df205ff-9f60-4005-a853-31fd59b81917/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/6df205ff-9f60-4005-a853-31fd59b81917/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/6df205ff-9f60-4005-a853-31fd59b81917/volume", "rel": "self"}, {"href": "http://localhost/nodes/6df205ff-9f60-4005-a853-31fd59b81917/volume", "rel": "bookmark"}]} DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_patch_ports_subresource [0.031945s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_patch_update_drive_console_enabled [0.052368s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_boot_mode_uefi_older_soft_ver [0.031283s] ... 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-32727b8b-776f-4d77-aa9e-bed0ae6253aa DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"uuid": "f64369d0-146c-4fd0-a765-19644e7bc5aa", "created_at": "2024-05-14T11:54:08.397767+00:00", "updated_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/f64369d0-146c-4fd0-a765-19644e7bc5aa", "rel": "self"}, {"href": "http://localhost/nodes/f64369d0-146c-4fd0-a765-19644e7bc5aa", "rel": "bookmark"}], "conductor": null, "allocation_uuid": null, "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/f64369d0-146c-4fd0-a765-19644e7bc5aa/ports", "rel": "self"}, {"href": "http://localhost/nodes/f64369d0-146c-4fd0-a765-19644e7bc5aa/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/f64369d0-146c-4fd0-a765-19644e7bc5aa/states", "rel": "self"}, {"href": "http://localhost/nodes/f64369d0-146c-4fd0-a765-19644e7bc5aa/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/f64369d0-146c-4fd0-a765-19644e7bc5aa/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/f64369d0-146c-4fd0-a765-19644e7bc5aa/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/f64369d0-146c-4fd0-a765-19644e7bc5aa/volume", "rel": "self"}, {"href": "http://localhost/nodes/f64369d0-146c-4fd0-a765-19644e7bc5aa/volume", "rel": "bookmark"}]} 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-ca1ba8e6-ad17-461b-bf48-6672c22fbec2 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Operation not permitted.\", \"debuginfo\": null}"} DEBUG util.py:445: PATCH: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 [{'path': '/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-6f07e2c4-9fac-4b08-aee5-e26ab4df904e DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.1 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Cannot patch /last_error. Only the following can be updated: automated_clean, bios_interface, boot_interface, chassis_uuid, conductor_group, console_interface, deploy_interface, description, driver, driver_info, extra, inspect_interface, instance_info, instance_uuid, lessee, maintenance, management_interface, name, network_data, network_interface, owner, power_interface, properties, protected, protected_reason, raid_interface, rescue_interface, resource_class, retired, retired_reason, storage_interface, vendor_interface\", \"debuginfo\": null}"} DEBUG util.py:445: PATCH: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 [{'path': '/extra', 'op': 'remove'}] DEBUG util.py:445: GOT:Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-b67f11c0-04d0-402a-b7c4-b9905b26b62a DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.1 DEBUG util.py:445: {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "created_at": "2024-05-14T11:54:08.607750+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': '/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-bb182d61-c23e-4e79-bfc7-b5bba6abc000 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.1 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Cannot patch /provision_updated_at. Only the following can be updated: automated_clean, bios_interface, boot_interface, chassis_uuid, conductor_group, console_interface, deploy_interface, description, driver, driver_info, extra, inspect_interface, instance_info, instance_uuid, lessee, maintenance, management_interface, name, network_data, network_interface, owner, power_interface, properties, protected, protected_reason, raid_interface, rescue_interface, resource_class, retired, retired_reason, storage_interface, vendor_interface\", \"debuginfo\": null}"} DEBUG util.py:445: PATCH: /v1/nodes/58851d82-133a-437c-8aae-31f0484771db [{'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-1f89e560-d664-4d49-bf3f-b0da63b5f894 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"uuid": "58851d82-133a-437c-8aae-31f0484771db", "created_at": "2024-05-14T11:54:08.709281+00:00", "updated_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/58851d82-133a-437c-8aae-31f0484771db", "rel": "self"}, {"href": "http://localhost/nodes/58851d82-133a-437c-8aae-31f0484771db", "rel": "bookmark"}], "conductor": null, "allocation_uuid": null, "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/58851d82-133a-437c-8aae-31f0484771db/ports", "rel": "self"}, {"href": "http://localhost/nodes/58851d82-133a-437c-8aae-31f0484771db/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/58851d82-133a-437c-8aae-31f0484771db/states", "rel": "self"}, {"href": "http://localhost/nodes/58851d82-133a-437c-8aae-31f0484771db/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/58851d82-133a-437c-8aae-31f0484771db/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/58851d82-133a-437c-8aae-31f0484771db/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/58851d82-133a-437c-8aae-31f0484771db/volume", "rel": "self"}, {"href": "http://localhost/nodes/58851d82-133a-437c-8aae-31f0484771db/volume", "rel": "bookmark"}]} DEBUG util.py:445: PATCH: /v1/nodes/58851d82-133a-437c-8aae-31f0484771db [{'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-7faecb03-a497-41db-8b28-14b7baadf91a DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"uuid": "58851d82-133a-437c-8aae-31f0484771db", "created_at": "2024-05-14T11:54:08.709281+00:00", "updated_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/58851d82-133a-437c-8aae-31f0484771db", "rel": "self"}, {"href": "http://localhost/nodes/58851d82-133a-437c-8aae-31f0484771db", "rel": "bookmark"}], "conductor": null, "allocation_uuid": null, "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/58851d82-133a-437c-8aae-31f0484771db/ports", "rel": "self"}, {"href": "http://localhost/nodes/58851d82-133a-437c-8aae-31f0484771db/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/58851d82-133a-437c-8aae-31f0484771db/states", "rel": "self"}, {"href": "http://localhost/nodes/58851d82-133a-437c-8aae-31f0484771db/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/58851d82-133a-437c-8aae-31f0484771db/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/58851d82-133a-437c-8aae-31f0484771db/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/58851d82-133a-437c-8aae-31f0484771db/volume", "rel": "self"}, {"href": "http://localhost/nodes/58851d82-133a-437c-8aae-31f0484771db/volume", "rel": "bookmark"}]} DEBUG util.py:445: PATCH: /v1/nodes/58851d82-133a-437c-8aae-31f0484771db [{'path': '/deploy_interface', 'op': 'remove'}] DEBUG util.py:445: GOT:Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-ce288792-a816-4a48-9258-356b4a8ed741 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"uuid": "58851d82-133a-437c-8aae-31f0484771db", "created_at": "2024-05-14T11:54:08.709281+00:00", "updated_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/58851d82-133a-437c-8aae-31f0484771db", "rel": "self"}, {"href": "http://localhost/nodes/58851d82-133a-437c-8aae-31f0484771db", "rel": "bookmark"}], "conductor": null, "allocation_uuid": null, "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/58851d82-133a-437c-8aae-31f0484771db/ports", "rel": "self"}, {"href": "http://localhost/nodes/58851d82-133a-437c-8aae-31f0484771db/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/58851d82-133a-437c-8aae-31f0484771db/states", "rel": "self"}, {"href": "http://localhost/nodes/58851d82-133a-437c-8aae-31f0484771db/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/58851d82-133a-437c-8aae-31f0484771db/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/58851d82-133a-437c-8aae-31f0484771db/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/58851d82-133a-437c-8aae-31f0484771db/volume", "rel": "self"}, {"href": "http://localhost/nodes/58851d82-133a-437c-8aae-31f0484771db/volume", "rel": "bookmark"}]} DEBUG util.py:445: PATCH: /v1/nodes/58851d82-133a-437c-8aae-31f0484771db [{'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-9aa6ec4f-b932-49a9-b41e-5fa2c9414cfe DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"uuid": "58851d82-133a-437c-8aae-31f0484771db", "created_at": "2024-05-14T11:54:08.709281+00:00", "updated_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/58851d82-133a-437c-8aae-31f0484771db", "rel": "self"}, {"href": "http://localhost/nodes/58851d82-133a-437c-8aae-31f0484771db", "rel": "bookmark"}], "conductor": null, "allocation_uuid": null, "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/58851d82-133a-437c-8aae-31f0484771db/ports", "rel": "self"}, {"href": "http://localhost/nodes/58851d82-133a-437c-8aae-31f0484771db/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/58851d82-133a-437c-8aae-31f0484771db/states", "rel": "self"}, {"href": "http://localhost/nodes/58851d82-133a-437c-8aae-31f0484771db/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/58851d82-133a-437c-8aae-31f0484771db/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/58851d82-133a-437c-8aae-31f0484771db/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/58851d82-133a-437c-8aae-31f0484771db/volume", "rel": "self"}, {"href": "http://localhost/nodes/58851d82-133a-437c-8aae-31f0484771db/volume", "rel": "bookmark"}]} DEBUG util.py:445: PATCH: /v1/nodes/58851d82-133a-437c-8aae-31f0484771db [{'path': '/management_interface', 'op': 'remove'}] DEBUG util.py:445: GOT:Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-b23f4154-5569-4e0c-ba3c-0fd2dc23f649 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"uuid": "58851d82-133a-437c-8aae-31f0484771db", "created_at": "2024-05-14T11:54:08.709281+00:00", "updated_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/58851d82-133a-437c-8aae-31f0484771db", "rel": "self"}, {"href": "http://localhost/nodes/58851d82-133a-437c-8aae-31f0484771db", "rel": "bookmark"}], "conductor": null, "allocation_uuid": null, "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/58851d82-133a-437c-8aae-31f0484771db/ports", "rel": "self"}, {"href": "http://localhost/nodes/58851d82-133a-437c-8aae-31f0484771db/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/58851d82-133a-437c-8aae-31f0484771db/states", "rel": "self"}, {"href": "http://localhost/nodes/58851d82-133a-437c-8aae-31f0484771db/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/58851d82-133a-437c-8aae-31f0484771db/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/58851d82-133a-437c-8aae-31f0484771db/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/58851d82-133a-437c-8aae-31f0484771db/volume", "rel": "self"}, {"href": "http://localhost/nodes/58851d82-133a-437c-8aae-31f0484771db/volume", "rel": "bookmark"}]} DEBUG util.py:445: PATCH: /v1/nodes/58851d82-133a-437c-8aae-31f0484771db [{'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-eccc268e-4ee3-4138-8db4-7919bb284e9d DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"uuid": "58851d82-133a-437c-8aae-31f0484771db", "created_at": "2024-05-14T11:54:08.709281+00:00", "updated_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/58851d82-133a-437c-8aae-31f0484771db", "rel": "self"}, {"href": "http://localhost/nodes/58851d82-133a-437c-8aae-31f0484771db", "rel": "bookmark"}], "conductor": null, "allocation_uuid": null, "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/58851d82-133a-437c-8aae-31f0484771db/ports", "rel": "self"}, {"href": "http://localhost/nodes/58851d82-133a-437c-8aae-31f0484771db/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/58851d82-133a-437c-8aae-31f0484771db/states", "rel": "self"}, {"href": "http://localhost/nodes/58851d82-133a-437c-8aae-31f0484771db/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/58851d82-133a-437c-8aae-31f0484771db/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/58851d82-133a-437c-8aae-31f0484771db/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/58851d82-133a-437c-8aae-31f0484771db/volume", "rel": "self"}, {"href": "http://localhost/nodes/58851d82-133a-437c-8aae-31f0484771db/volume", "rel": "bookmark"}]} DEBUG util.py:445: PATCH: /v1/nodes/58851d82-133a-437c-8aae-31f0484771db [{'path': '/raid_interface', 'op': 'remove'}] DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_reset_interface_fields [0.185023s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_reset_interfaces_not_supported [0.033085s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_update_allowed_in_power_transition [0.057438s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_boot_mode_uefi_valid_soft_ver [0.034632s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_remove_chassis_id [0.032388s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_clean_disable_ramdisk_old_api [0.036479s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_remove_mandatory_field [0.078284s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_clean_no_cleansteps [0.040569s] ... 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-376d5f73-6238-4256-9288-8a3b342f78a9 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"uuid": "58851d82-133a-437c-8aae-31f0484771db", "created_at": "2024-05-14T11:54:08.709281+00:00", "updated_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/58851d82-133a-437c-8aae-31f0484771db", "rel": "self"}, {"href": "http://localhost/nodes/58851d82-133a-437c-8aae-31f0484771db", "rel": "bookmark"}], "conductor": null, "allocation_uuid": null, "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/58851d82-133a-437c-8aae-31f0484771db/ports", "rel": "self"}, {"href": "http://localhost/nodes/58851d82-133a-437c-8aae-31f0484771db/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/58851d82-133a-437c-8aae-31f0484771db/states", "rel": "self"}, {"href": "http://localhost/nodes/58851d82-133a-437c-8aae-31f0484771db/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/58851d82-133a-437c-8aae-31f0484771db/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/58851d82-133a-437c-8aae-31f0484771db/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/58851d82-133a-437c-8aae-31f0484771db/volume", "rel": "self"}, {"href": "http://localhost/nodes/58851d82-133a-437c-8aae-31f0484771db/volume", "rel": "bookmark"}]} DEBUG util.py:445: PATCH: /v1/nodes/58851d82-133a-437c-8aae-31f0484771db [{'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-2618ec80-b176-4523-a4d1-dfce73e386c7 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"uuid": "58851d82-133a-437c-8aae-31f0484771db", "created_at": "2024-05-14T11:54:08.709281+00:00", "updated_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/58851d82-133a-437c-8aae-31f0484771db", "rel": "self"}, {"href": "http://localhost/nodes/58851d82-133a-437c-8aae-31f0484771db", "rel": "bookmark"}], "conductor": null, "allocation_uuid": null, "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/58851d82-133a-437c-8aae-31f0484771db/ports", "rel": "self"}, {"href": "http://localhost/nodes/58851d82-133a-437c-8aae-31f0484771db/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/58851d82-133a-437c-8aae-31f0484771db/states", "rel": "self"}, {"href": "http://localhost/nodes/58851d82-133a-437c-8aae-31f0484771db/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/58851d82-133a-437c-8aae-31f0484771db/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/58851d82-133a-437c-8aae-31f0484771db/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/58851d82-133a-437c-8aae-31f0484771db/volume", "rel": "self"}, {"href": "http://localhost/nodes/58851d82-133a-437c-8aae-31f0484771db/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-3ffc0a26-4965-4ace-8f87-40102fc90d85 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.1 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Request not acceptable.\", \"debuginfo\": null}"} DEBUG util.py:445: PATCH: /v1/nodes/325ba611-5a4f-4e8e-9ce5-dcb6fdd409d5 [{'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-848c591c-b6d6-4987-878d-afe348e402d1 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.1 DEBUG util.py:445: {"uuid": "325ba611-5a4f-4e8e-9ce5-dcb6fdd409d5", "created_at": "2024-05-14T11:54:08.926635+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/325ba611-5a4f-4e8e-9ce5-dcb6fdd409d5", "rel": "self"}, {"href": "http://localhost/nodes/325ba611-5a4f-4e8e-9ce5-dcb6fdd409d5", "rel": "bookmark"}], "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/325ba611-5a4f-4e8e-9ce5-dcb6fdd409d5/ports", "rel": "self"}, {"href": "http://localhost/nodes/325ba611-5a4f-4e8e-9ce5-dcb6fdd409d5/ports", "rel": "bookmark"}]} DEBUG util.py:445: PATCH: /v1/nodes/node-57.1 [{'path': '/instance_uuid', 'value': 'aaaaaaaa-1111-bbbb-2222-cccccccccccc', 'op': 'replace'}] DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_update_by_name_unsupported [0.101434s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_update_conductor_group [0.129137s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_update_conductor_group_old_api [0.083115s] ... ok 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': '50a76152-7103-48c1-8b7b-c63b9de9c370', 'instance_uuid': None, 'instance_info': {'configdrive': 'TG9yZW0gaXBzdW0gZG9sb3Igc2l0IGFtZXQ=', 'image_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/50a76152-7103-48c1-8b7b-c63b9de9c370 DEBUG util.py:445: Openstack-Request-Id: req-77690a90-a7a2-4945-8f22-a144a4c16e5d DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.1 DEBUG util.py:445: {"uuid": "50a76152-7103-48c1-8b7b-c63b9de9c370", "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/50a76152-7103-48c1-8b7b-c63b9de9c370", "rel": "self"}, {"href": "http://localhost/nodes/50a76152-7103-48c1-8b7b-c63b9de9c370", "rel": "bookmark"}], "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/50a76152-7103-48c1-8b7b-c63b9de9c370/ports", "rel": "self"}, {"href": "http://localhost/nodes/50a76152-7103-48c1-8b7b-c63b9de9c370/ports", "rel": "bookmark"}]} DEBUG util.py:445: GET: /v1/nodes/50a76152-7103-48c1-8b7b-c63b9de9c370 {} DEBUG util.py:445: GOT:{'uuid': '50a76152-7103-48c1-8b7b-c63b9de9c370', '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/50a76152-7103-48c1-8b7b-c63b9de9c370', 'rel': 'self'}, {'href': 'http://localhost/nodes/50a76152-7103-48c1-8b7b-c63b9de9c370', 'rel': 'bookmark'}], 'chassis_uuid': None, 'ports': [{'href': 'http://localhost/v1/nodes/50a76152-7103-48c1-8b7b-c63b9de9c370/ports', 'rel': 'self'}, {'href': 'http://localhost/nodes/50a76152-7103-48c1-8b7b-c63b9de9c370/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-da768bae-d16a-443f-8ec9-3b40fb20903d DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.11 DEBUG util.py:445: {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "created_at": "2024-05-14T11:54:09.161389+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': '2024-05-14T11:54:09.161389+00:00', 'updated_at': None, 'console_enabled': False, 'driver': 'fake-hardware', 'driver_info': {'foo': 'bar', 'fake_password': '******'}, 'extra': {}, 'instance_info': {'configdrive': '******', 'image_url': '******', 'foo': 'bar'}, 'instance_uuid': None, 'last_error': None, 'maintenance': False, 'maintenance_reason': None, 'power_state': None, 'properties': {'cpu_arch': 'x86_64', 'cpus': '8', 'local_gb': '10', 'memory_mb': '4096'}, 'provision_state': 'enroll', 'provision_updated_at': None, 'reservation': None, 'target_power_state': None, 'target_provision_state': None, 'links': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'rel': 'bookmark'}], 'chassis_uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'ports': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports', 'rel': 'bookmark'}]} DEBUG util.py:445: POST: /v1/nodes {'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'instance_uuid': None, 'instance_info': {'configdrive': 'TG9yZW0gaXBzdW0gZG9sb3Igc2l0IGFtZXQ=', 'image_url': 'http://example.com/test_image_url', 'foo': 'bar'}, 'driver': 'fake-hardware', 'driver_info': {'foo': 'bar', 'fake_password': 'fakepass'}, 'properties': {'cpu_arch': 'x86_64', 'cpus': '8', 'local_gb': '10', 'memory_mb': '4096'}, 'maintenance': False, 'console_enabled': False, 'extra': {}, '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.077320s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_replace_consoled_enabled [0.033786s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_inject_nmi [0.034884s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_update_fails_bad_driver_info [0.109451s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_replace_internal_field [0.032280s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_inspect_abort_raises_before_1_41 [0.035902s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_node.TestPost.test_create_node_doesnt_contain_id [0.126437s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_inspect_already_in_progress [0.034651s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_replace_maintenance_by_name [0.062912s] ... 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-b0fdcd10-d54e-4e19-9555-218d7f720d0a DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Schema error for node: '1234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678last weed' is too long Failed validating 'maxLength' in schema['properties']['description']\", \"debuginfo\": null}"} DEBUG util.py:445: POST: /v1/nodes {'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'instance_uuid': None, 'instance_info': {'configdrive': 'TG9yZW0gaXBzdW0gZG9sb3Igc2l0IGFtZXQ=', 'image_url': 'http://example.com/test_image_url', 'foo': 'bar'}, 'driver': 'fake-hardware', 'driver_info': {'foo': 'bar', 'fake_password': 'fakepass'}, 'properties': {'cpu_arch': 'x86_64', 'cpus': '8', 'local_gb': '10', 'memory_mb': '4096'}, 'maintenance': False, 'console_enabled': False, 'extra': {'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-a90b721f-ded4-49b3-b2f6-d0f8ef3d91ce DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.1 DEBUG util.py:445: {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "created_at": "2024-05-14T11:54:09.367909+00:00", "updated_at": null, "console_enabled": false, "driver": "fake-hardware", "driver_info": {"foo": "bar", "fake_password": "******"}, "extra": {"foo": 123}, "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar"}, "instance_uuid": null, "last_error": null, "maintenance": false, "maintenance_reason": null, "power_state": null, "properties": {"cpu_arch": "x86_64", "cpus": "8", "local_gb": "10", "memory_mb": "4096"}, "provision_state": null, "provision_updated_at": null, "reservation": null, "target_power_state": null, "target_provision_state": null, "links": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "bookmark"}], "chassis_uuid": "e74c40e0-d825-11e2-a28f-0800200c9a66", "ports": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "bookmark"}]} DEBUG util.py:445: GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 {} DEBUG util.py:445: GOT:{'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'created_at': '2024-05-14T11:54:09.367909+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: {1} ironic.tests.unit.api.controllers.v1.test_node.TestPost.test_create_node_explicit_resource_class [0.107055s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_replace_non_existent_chassis_uuid [0.077944s] ... 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-eb4a179d-c234-49f8-9406-e2a8057a039f DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.1 DEBUG util.py:445: {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "created_at": "2024-05-14T11:54:09.010965+00:00", "updated_at": null, "console_enabled": false, "driver": "fake-hardware", "driver_info": {"str": "foo", "int": 123, "float": 0.1, "bool": true, "list": [1, 2], "none": null, "dict": {"cat": "meow"}}, "extra": {}, "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar"}, "instance_uuid": null, "last_error": null, "maintenance": false, "maintenance_reason": null, "power_state": null, "properties": {"cpu_arch": "x86_64", "cpus": "8", "local_gb": "10", "memory_mb": "4096"}, "provision_state": null, "provision_updated_at": null, "reservation": null, "target_power_state": null, "target_provision_state": null, "links": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "bookmark"}], "chassis_uuid": "e74c40e0-d825-11e2-a28f-0800200c9a66", "ports": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "bookmark"}]} DEBUG util.py:445: GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 {} DEBUG util.py:445: GOT:{'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'created_at': '2024-05-14T11:54:09.010965+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/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-16472cc0-40f7-49ef-ae94-db19088fe349 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Operation not permitted.\", \"debuginfo\": null}"} DEBUG util.py:445: POST: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/vendor_passthru/test {'foo': 'bar'} DEBUG util.py:445: GOT:Response: 202 Accepted DEBUG util.py:445: Openstack-Request-Id: req-e078891b-bc4d-4d7a-90bc-de1e25c85bc3 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.1 DEBUG util.py:445: DELETE: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/vendor_passthru/do_test DEBUG util.py:445: GOT:Response: 202 Accepted DEBUG util.py:445: Openstack-Request-Id: req-06cf055e-d04b-41e2-98fb-ac95b53bbfa4 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.1 DEBUG util.py:445: POST: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/vendor_passthru/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-7d38de25-9737-4da3-ace0-6324a8670f11 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.1 DEBUG util.py:445: {"cat": "meow"} DEBUG util.py:445: PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/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-c68242de-4b20-4e05-a7f4-3fdfe2ba8cf3 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.75 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"This endpoint is supported starting with the API version 1.76\", \"debuginfo\": null}"} DEBUG util.py:445: PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/boot_mode {'target': 'uefi'} DEBUG util.py:445: GOT:Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-35005758-df38-4334-8b60-9000b6019cc7 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.75 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"This endpoint is supported starting with the API version 1.76\", \"debuginfo\": null}"} DEBUG util.py:445: PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/boot_mode {'target': 'uefi'} DEBUG util.py:445: GOT:Response: 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-565686af-bf5a-434a-8ed0-33e1f7a98dfc DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.76 DEBUG util.py:445: PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/provision {'target': 'clean', 'clean_steps': [{'step': 'upgrade_firmware', 'interface': 'deploy'}], 'disable_ramdisk': True} DEBUG util.py:445: GOT:Response: 406 Not Acceptable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-a6093190-585c-4c1c-a261-0157dba843cf DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.69 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"disable_ramdisk is not acceptable in this API version\", \"debuginfo\": null}"} DEBUG util.py:445: PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/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-fa0ac9ba-82de-49b0-a899-f4f7c33efb31 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.15 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"\\\"clean_steps\\\" is required when setting target provision state to clean\", \"debuginfo\": null}"} DEBUG util.py:445: PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/management/inject_nmi {} DEBUG util.py:445: GOT:Response: 204 No Content DEBUG util.py:445: Openstack-Request-Id: req-178d4282-9419-4c64-ab35-17b99aafb324 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.29 DEBUG util.py:445: PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/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-197ecd14-4292-4ecf-8eda-a4c56040a864 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.40 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Request not acceptable.\", \"debuginfo\": null}"} DEBUG util.py:445: PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/provision {'target': 'manageable'} DEBUG util.py:445: GOT:Response: 409 Conflict DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-e3dedb02-dbe1-4bb2-812f-10b15cb5ed58 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.1 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 is locked by host fake-host, please retry after the current operation is completed.\", \"debuginfo\": null}"} DEBUG util.py:445: PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/power {'target': 'power off'} DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_power_change_when_being_cleaned [0.040334s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_update_fails_bad_driver [0.063555s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_node.TestPost.test_create_node_invalid_bios_interface [0.085364s] ... 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-48bf8430-881f-4fbd-a338-d95c5f682c36 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.1 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node node-57.1 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: PATCH: /v1/nodes/f1484cf5-feec-4d40-8ea7-80c60f37cba0 [{'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-3b811e0d-0724-4ac4-a898-6339b0f46974 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.46 DEBUG util.py:445: {"uuid": "f1484cf5-feec-4d40-8ea7-80c60f37cba0", "created_at": "2024-05-14T11:54:09.108341+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/f1484cf5-feec-4d40-8ea7-80c60f37cba0", "rel": "self"}, {"href": "http://localhost/nodes/f1484cf5-feec-4d40-8ea7-80c60f37cba0", "rel": "bookmark"}], "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/f1484cf5-feec-4d40-8ea7-80c60f37cba0/ports", "rel": "self"}, {"href": "http://localhost/nodes/f1484cf5-feec-4d40-8ea7-80c60f37cba0/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/f1484cf5-feec-4d40-8ea7-80c60f37cba0/states", "rel": "self"}, {"href": "http://localhost/nodes/f1484cf5-feec-4d40-8ea7-80c60f37cba0/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/f1484cf5-feec-4d40-8ea7-80c60f37cba0/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/f1484cf5-feec-4d40-8ea7-80c60f37cba0/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/f1484cf5-feec-4d40-8ea7-80c60f37cba0/volume", "rel": "self"}, {"href": "http://localhost/nodes/f1484cf5-feec-4d40-8ea7-80c60f37cba0/volume", "rel": "bookmark"}]} DEBUG util.py:445: PATCH: /v1/nodes/0da3d712-d51f-4cb2-9f0f-e4db4008b85d [{'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-83e52a93-5a30-4027-ac81-73c63787b2ed DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.45 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Request not acceptable.\", \"debuginfo\": null}"} DEBUG util.py:445: PATCH: /v1/nodes/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-7de69218-bf16-4538-85f2-ee0e99cdb715 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.1 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Fake Error Message\", \"debuginfo\": null}"} DEBUG util.py:445: PATCH: /v1/nodes/66a15f05-c6c1-463f-90e9-069fff4f87d6 [{'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-3e1c6c45-3231-48ca-b9b9-d880a058a12d DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.1 DEBUG util.py:445: {"uuid": "66a15f05-c6c1-463f-90e9-069fff4f87d6", "created_at": "2024-05-14T11:54:09.440985+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/66a15f05-c6c1-463f-90e9-069fff4f87d6", "rel": "self"}, {"href": "http://localhost/nodes/66a15f05-c6c1-463f-90e9-069fff4f87d6", "rel": "bookmark"}], "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/66a15f05-c6c1-463f-90e9-069fff4f87d6/ports", "rel": "self"}, {"href": "http://localhost/nodes/66a15f05-c6c1-463f-90e9-069fff4f87d6/ports", "rel": "bookmark"}]} DEBUG util.py:445: PATCH: /v1/nodes/e16861d3-ee56-4d8f-a91a-360ac1c4279a [{'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-bb8ba3da-1e22-4386-b948-58b2c229f65f DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.1 DEBUG util.py:445: {"uuid": "e16861d3-ee56-4d8f-a91a-360ac1c4279a", "created_at": "2024-05-14T11:54:09.494868+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/e16861d3-ee56-4d8f-a91a-360ac1c4279a", "rel": "self"}, {"href": "http://localhost/nodes/e16861d3-ee56-4d8f-a91a-360ac1c4279a", "rel": "bookmark"}], "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/e16861d3-ee56-4d8f-a91a-360ac1c4279a/ports", "rel": "self"}, {"href": "http://localhost/nodes/e16861d3-ee56-4d8f-a91a-360ac1c4279a/ports", "rel": "bookmark"}]} DEBUG util.py:445: PATCH: /v1/nodes/01c79010-6d86-49ac-ba6a-b3c70d2d3955 [{'path': '/extra/foo', 'value': 'bar', 'op': 'add'}] DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_power_state_soft_power_off_invalid_timeout_valid_soft_ver [0.162381s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_power_state_soft_power_off_no_timeout_no_ver [0.029587s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_node.TestPost.test_create_node_invalid_driver [0.065803s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_provide_from_manage [0.032748s] ... ok 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-dd1c3fce-3285-4fdf-8fa2-af409e914037 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.1 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Operation not permitted.\", \"debuginfo\": null}"} DEBUG util.py:445: PATCH: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 [{'path': '/driver', 'value': 'foo', 'op': 'add'}] DEBUG util.py:445: GOT:Response: 409 Conflict DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-4a58641c-c564-4c8d-882f-015da61b5253 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.1 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 can not update the driver while the console is enabled. Please stop the console first.\", \"debuginfo\": null}"} DEBUG util.py:445: PATCH: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 [{'path': '/chassis_id', 'op': 'remove'}] DEBUG util.py:445: GOT:Response: 400 Bad Request DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-a5b484cb-ab33-46e7-8695-b0d86349cef1 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.1 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Cannot patch /chassis_id. Only the following can be updated: automated_clean, bios_interface, boot_interface, chassis_uuid, conductor_group, console_interface, deploy_interface, description, driver, driver_info, extra, inspect_interface, instance_info, instance_uuid, lessee, maintenance, management_interface, name, network_data, network_interface, owner, power_interface, properties, protected, protected_reason, raid_interface, rescue_interface, resource_class, retired, retired_reason, storage_interface, vendor_interface\", \"debuginfo\": null}"} DEBUG util.py:445: PATCH: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 [{'path': '/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-860edcfa-9742-4087-89a5-14e2f4aa739b DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.1 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Schema error for patch: 'driver' is a required property Failed validating 'required' in schema\", \"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-76fd8fa7-396c-47cc-8087-b8b766dec070 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.1 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Cannot patch /console_enabled. Only the following can be updated: automated_clean, bios_interface, boot_interface, chassis_uuid, conductor_group, console_interface, deploy_interface, description, driver, driver_info, extra, inspect_interface, instance_info, instance_uuid, lessee, maintenance, management_interface, name, network_data, network_interface, owner, power_interface, properties, protected, protected_reason, raid_interface, rescue_interface, resource_class, retired, retired_reason, storage_interface, vendor_interface\", \"debuginfo\": null}"} DEBUG util.py:445: PATCH: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 [{'path': '/power_state', 'op': 'replace', 'value': 'fake-state'}] DEBUG util.py:445: GOT:Response: 400 Bad Request DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-30995474-1b0b-4581-a737-b8c186602f3a DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.1 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Cannot patch /power_state. Only the following can be updated: automated_clean, bios_interface, boot_interface, chassis_uuid, conductor_group, console_interface, deploy_interface, description, driver, driver_info, extra, inspect_interface, instance_info, instance_uuid, lessee, maintenance, management_interface, name, network_data, network_interface, owner, power_interface, properties, protected, protected_reason, raid_interface, rescue_interface, resource_class, retired, retired_reason, storage_interface, vendor_interface\", \"debuginfo\": null}"} DEBUG util.py:445: PATCH: /v1/nodes/node-57.1 [{'path': '/maintenance', 'op': 'replace', 'value': True}] DEBUG util.py:445: GOT:Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-9be00e06-0f54-4b86-bcdf-faf5077fddb8 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.5 DEBUG util.py:445: {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "created_at": "2024-05-14T11:54:09.410760+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 [{'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-7b3a9ddb-e59a-4abf-a5fb-fead6fedf3b9 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.1 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Chassis eeeeeeee-dddd-cccc-bbbb-aaaaaaaaaaaa could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: PATCH: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 [{'path': '/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-d595f490-68c6-4f03-8840-9938d7648102 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.1 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Fake Error\", \"debuginfo\": null}"} DEBUG util.py:445: PATCH: /v1/nodes/73689c95-5276-4f33-bdd3-34a8fa965554 [{'path': '/instance_uuid', 'op': 'remove'}] DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_update_in_inspecting_allowed [0.085864s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_provision_already_in_progress [0.033185s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_update_in_inspecting_not_allowed [0.058264s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_provision_rescue_empty_password [0.036391s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_update_lessee_old_api [0.034408s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_node.TestPost.test_create_node_no_mandatory_field_driver [0.118262s] ... 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-d1db65be-4551-414b-90a5-85511f18b4c4 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.1 DEBUG util.py:445: {"uuid": "01c79010-6d86-49ac-ba6a-b3c70d2d3955", "created_at": "2024-05-14T11:54:09.542658+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/01c79010-6d86-49ac-ba6a-b3c70d2d3955", "rel": "self"}, {"href": "http://localhost/nodes/01c79010-6d86-49ac-ba6a-b3c70d2d3955", "rel": "bookmark"}], "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/01c79010-6d86-49ac-ba6a-b3c70d2d3955/ports", "rel": "self"}, {"href": "http://localhost/nodes/01c79010-6d86-49ac-ba6a-b3c70d2d3955/ports", "rel": "bookmark"}]} DEBUG util.py:445: PATCH: /v1/nodes/81defad9-4f60-4075-8447-8211009ed9de [{'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-16590564-10f8-459b-a193-0c61dc059886 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.1 DEBUG util.py:445: {"uuid": "81defad9-4f60-4075-8447-8211009ed9de", "created_at": "2024-05-14T11:54:09.583459+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/81defad9-4f60-4075-8447-8211009ed9de", "rel": "self"}, {"href": "http://localhost/nodes/81defad9-4f60-4075-8447-8211009ed9de", "rel": "bookmark"}], "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/81defad9-4f60-4075-8447-8211009ed9de/ports", "rel": "self"}, {"href": "http://localhost/nodes/81defad9-4f60-4075-8447-8211009ed9de/ports", "rel": "bookmark"}]} DEBUG util.py:445: PATCH: /v1/nodes/b9923233-1d8b-4b09-82d9-6c3ce29ae892 [{'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-30ef9fba-629a-4213-9563-baeb2fbd8d01 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.1 DEBUG util.py:445: {"uuid": "b9923233-1d8b-4b09-82d9-6c3ce29ae892", "created_at": "2024-05-14T11:54:09.639147+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/b9923233-1d8b-4b09-82d9-6c3ce29ae892", "rel": "self"}, {"href": "http://localhost/nodes/b9923233-1d8b-4b09-82d9-6c3ce29ae892", "rel": "bookmark"}], "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/b9923233-1d8b-4b09-82d9-6c3ce29ae892/ports", "rel": "self"}, {"href": "http://localhost/nodes/b9923233-1d8b-4b09-82d9-6c3ce29ae892/ports", "rel": "bookmark"}]} DEBUG util.py:445: PATCH: /v1/nodes/c09806d5-bb03-449a-8f4e-9c7d28a9ba9f [{'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-d7ccfa78-353b-47b7-b435-6dc824f443a0 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.1 DEBUG util.py:445: {"uuid": "c09806d5-bb03-449a-8f4e-9c7d28a9ba9f", "created_at": "2024-05-14T11:54:09.675790+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/c09806d5-bb03-449a-8f4e-9c7d28a9ba9f", "rel": "self"}, {"href": "http://localhost/nodes/c09806d5-bb03-449a-8f4e-9c7d28a9ba9f", "rel": "bookmark"}], "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/c09806d5-bb03-449a-8f4e-9c7d28a9ba9f/ports", "rel": "self"}, {"href": "http://localhost/nodes/c09806d5-bb03-449a-8f4e-9c7d28a9ba9f/ports", "rel": "bookmark"}]} DEBUG util.py:445: PATCH: /v1/nodes/7be5e90f-491b-4f3a-80e9-f7f8d5312fa8 [{'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-df46f1c4-932d-4818-b49e-d4646c8e727d DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.1 DEBUG util.py:445: {"uuid": "7be5e90f-491b-4f3a-80e9-f7f8d5312fa8", "created_at": "2024-05-14T11:54:09.706918+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/7be5e90f-491b-4f3a-80e9-f7f8d5312fa8", "rel": "self"}, {"href": "http://localhost/nodes/7be5e90f-491b-4f3a-80e9-f7f8d5312fa8", "rel": "bookmark"}], "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/7be5e90f-491b-4f3a-80e9-f7f8d5312fa8/ports", "rel": "self"}, {"href": "http://localhost/nodes/7be5e90f-491b-4f3a-80e9-f7f8d5312fa8/ports", "rel": "bookmark"}]} DEBUG util.py:445: PATCH: /v1/nodes/35dafcfd-9219-4ffb-8d8f-8f5303582773 [{'path': '/extra/foo', 'value': 'bar', 'op': 'add'}] DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_provision_unrescue_in_disallowed_states [0.059451s] ... 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-4f51e0ec-c404-40cb-ab6b-3433d9625f5a DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.38 DEBUG util.py:445: {"uuid": "73689c95-5276-4f33-bdd3-34a8fa965554", "created_at": "2024-05-14T11:54:09.632887+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/73689c95-5276-4f33-bdd3-34a8fa965554", "rel": "self"}, {"href": "http://localhost/nodes/73689c95-5276-4f33-bdd3-34a8fa965554", "rel": "bookmark"}], "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/73689c95-5276-4f33-bdd3-34a8fa965554/ports", "rel": "self"}, {"href": "http://localhost/nodes/73689c95-5276-4f33-bdd3-34a8fa965554/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/73689c95-5276-4f33-bdd3-34a8fa965554/states", "rel": "self"}, {"href": "http://localhost/nodes/73689c95-5276-4f33-bdd3-34a8fa965554/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/73689c95-5276-4f33-bdd3-34a8fa965554/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/73689c95-5276-4f33-bdd3-34a8fa965554/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/73689c95-5276-4f33-bdd3-34a8fa965554/volume", "rel": "self"}, {"href": "http://localhost/nodes/73689c95-5276-4f33-bdd3-34a8fa965554/volume", "rel": "bookmark"}]} DEBUG util.py:445: PATCH: /v1/nodes/437fdf8f-62a2-4fa1-87f4-31663494c5f5 [{'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-bb813d89-837d-45a7-bf18-64813d2e248f DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.39 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Cannot update node \\\"437fdf8f-62a2-4fa1-87f4-31663494c5f5\\\" while it is in state \\\"inspecting\\\".\", \"debuginfo\": null}"} DEBUG util.py:445: PATCH: /v1/nodes/96c38ead-56a8-46db-b34f-f91c39b237da [{'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-b7187054-5118-40d3-ad2b-96b629610be8 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.64 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Request not acceptable.\", \"debuginfo\": null}"} DEBUG util.py:445: PATCH: /v1/nodes/7311491b-87e2-49ca-b318-881e399e5ab4 [{'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: {3} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_update_network_data [0.074873s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_provision_with_cleansteps_not_clean [0.031557s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_update_in_UPDATE_ALLOWED_STATES [0.492973s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_provision_with_deploy [0.034823s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_update_network_data_custom [0.054635s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_provision_with_deploy_after_deployfail [0.034899s] ... 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': {}, 'resource_class': 'class2', 'chassis_uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66'} DEBUG util.py:445: GOT:Response: 201 Created DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Location: http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 DEBUG util.py:445: Openstack-Request-Id: req-18e39cd2-06b3-40f3-8670-b94b72138462 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.21 DEBUG util.py:445: {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "created_at": "2024-05-14T11:54:09.500048+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': '2024-05-14T11:54:09.500048+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': {}, '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-5c0385c1-54dd-4856-92d9-b2e460bc0aa8 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Could not find the following interface in the 'ironic.hardware.interfaces.bios' entrypoint: foo. Valid interfaces are ['fake', 'no-bios'].\", \"debuginfo\": null}"} DEBUG util.py:445: POST: /v1/nodes {'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'instance_uuid': None, 'instance_info': {'configdrive': 'TG9yZW0gaXBzdW0gZG9sb3Igc2l0IGFtZXQ=', 'image_url': 'http://example.com/test_image_url', 'foo': 'bar'}, 'driver': 'fake-hardware', 'driver_info': {'foo': 'bar', 'fake_password': 'fakepass'}, 'properties': {'cpu_arch': 'x86_64', 'cpus': '8', 'local_gb': '10', 'memory_mb': '4096'}, 'maintenance': False, 'console_enabled': False, 'extra': {}, 'chassis_uuid': '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-5c7e9892-8ca4-498c-bf24-f3e50f6d6805 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.1 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Fake Error\", \"debuginfo\": null}"} DEBUG util.py:445: POST: /v1/nodes {'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'instance_uuid': None, 'instance_info': {'configdrive': 'TG9yZW0gaXBzdW0gZG9sb3Igc2l0IGFtZXQ=', 'image_url': 'http://example.com/test_image_url', 'foo': 'bar'}, 'driver_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-efc6b17e-78c2-4a2a-af36-553800b33ea5 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.1 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Schema error for node: 'driver' is a required property Failed validating 'required' in schema\", \"debuginfo\": null}"} DEBUG util.py:445: POST: /v1/nodes {'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'instance_uuid': None, 'instance_info': {'configdrive': 'TG9yZW0gaXBzdW0gZG9sb3Igc2l0IGFtZXQ=', 'image_url': 'http://example.com/test_image_url', 'foo': 'bar'}, 'driver': 'fake-hardware', 'driver_info': {'foo': 'bar', 'fake_password': 'fakepass'}, 'properties': {'cpu_arch': 'x86_64', 'cpus': '8', 'local_gb': '10', 'memory_mb': '4096'}, 'maintenance': False, 'console_enabled': False, 'extra': {}, 'owner': 'cowsay', 'chassis_uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66'} DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_node.TestPost.test_create_node_owner [0.126238s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_provision_with_deploy_configdrive_as_dict [0.030634s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_update_lessee [0.121173s] ... 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-bb0c1104-b9d3-4783-a3f5-6743cdde41dd DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "created_at": "2024-05-14T11:54:09.866456+00:00", "updated_at": null, "automated_clean": null, "bios_interface": "fake", "boot_interface": "fake", "boot_mode": null, "clean_step": {}, "conductor_group": "", "console_enabled": false, "console_interface": "fake", "deploy_interface": "fake", "deploy_step": {}, "description": null, "driver": "fake-hardware", "driver_info": {"foo": "bar", "fake_password": "******"}, "driver_internal_info": {}, "extra": {}, "fault": null, "inspection_finished_at": null, "inspection_started_at": null, "inspect_interface": "fake", "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar"}, "instance_uuid": null, "last_error": null, "lessee": null, "maintenance": false, "maintenance_reason": null, "management_interface": "fake", "name": null, "network_data": {}, "network_interface": "flat", "owner": "cowsay", "power_interface": "fake", "power_state": null, "properties": {"cpu_arch": "x86_64", "cpus": "8", "local_gb": "10", "memory_mb": "4096"}, "protected": false, "protected_reason": null, "provision_state": "enroll", "provision_updated_at": null, "raid_config": {}, "raid_interface": "fake", "rescue_interface": "fake", "reservation": null, "resource_class": null, "retired": false, "retired_reason": null, "secure_boot": null, "storage_interface": "noop", "target_power_state": null, "target_provision_state": null, "target_raid_config": {}, "traits": [], "vendor_interface": "fake", "links": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "bookmark"}], "conductor": null, "allocation_uuid": null, "chassis_uuid": "e74c40e0-d825-11e2-a28f-0800200c9a66", "ports": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume", "rel": "bookmark"}]} DEBUG util.py:445: GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 {} DEBUG util.py:445: GOT:{'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'created_at': '2024-05-14T11:54:09.866456+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': {}, 'resource_class': 'foo', 'chassis_uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66'} DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_node.TestPost.test_create_node_resource_class [0.123369s] ... 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-07256185-8451-4da5-8e0c-db9e25adda09 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.1 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"The requested action \\\"power off\\\" can not be performed on node \\\"1be26c0b-03f2-4d2e-ae87-c02d7f33c123\\\" while it is in state \\\"cleaning\\\".\", \"debuginfo\": null}"} DEBUG util.py:445: PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/power {'target': 'power off'} DEBUG util.py:445: GOT:Response: 400 Bad Request DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-4a1416e6-a412-4d57-b462-8345b0c03246 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.1 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"The requested action \\\"power off\\\" can not be performed on node \\\"1be26c0b-03f2-4d2e-ae87-c02d7f33c123\\\" while it is in state \\\"clean wait\\\".\", \"debuginfo\": null}"} DEBUG util.py:445: PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/power {'target': '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-e00e2143-1d35-4df2-b8b6-de6af824c4b0 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.27 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"timeout has to be positive integer\", \"debuginfo\": null}"} DEBUG util.py:445: PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/power {'target': 'soft power off'} DEBUG util.py:445: GOT:Response: 406 Not Acceptable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-265fec1b-e021-499a-af48-f4b344d9bb31 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.1 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Request not acceptable.\", \"debuginfo\": null}"} DEBUG util.py:445: PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/provision {'target': '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-2d0e53b7-ddea-427e-a065-0938097023b9 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.4 DEBUG util.py:445: PUT: /v1/nodes/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-bea99014-336c-4011-b2af-994c797588ee DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.1 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 is locked by host fake-host, please retry after the current operation is completed.\", \"debuginfo\": null}"} DEBUG util.py:445: PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/provision {'target': '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-b43b9776-c712-4694-8ee7-7d6db903203c DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.38 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"A non-empty \\\"rescue_password\\\" is required when setting target provision state to rescue\", \"debuginfo\": null}"} DEBUG util.py:445: PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/provision {'target': 'unrescue'} DEBUG util.py:445: GOT:Response: 409 Conflict DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-4ffa02e7-d87a-410e-9797-e454a432784b DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.38 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 is locked by host fake-host, please retry after the current operation is completed.\", \"debuginfo\": null}"} DEBUG util.py:445: PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/provision {'target': 'unrescue'} DEBUG util.py:445: GOT:Response: 409 Conflict DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-b78226ea-702b-4dd2-b126-fee3b814cbf9 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.38 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 is locked by host fake-host, please retry after the current operation is completed.\", \"debuginfo\": null}"} DEBUG util.py:445: PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/provision {'target': 'unrescue'} DEBUG util.py:445: GOT:Response: 409 Conflict DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-29eb8b19-052b-47d1-abd4-f5e39ca7abdb DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.38 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 is locked by host fake-host, please retry after the current operation is completed.\", \"debuginfo\": null}"} DEBUG util.py:445: PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/provision {'target': 'unrescue'} DEBUG util.py:445: GOT:Response: 409 Conflict DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-d2f907ea-8c41-482e-843b-b8ef2b262ae0 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.38 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 is locked by host fake-host, please retry after the current operation is completed.\", \"debuginfo\": null}"} DEBUG util.py:445: PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/provision {'target': 'unrescue'} DEBUG util.py:445: GOT:Response: 409 Conflict DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-cbd2bae4-cfb3-4bbc-81b1-eefdfd753c10 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.38 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 is locked by host fake-host, please retry after the current operation is completed.\", \"debuginfo\": null}"} DEBUG util.py:445: PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/provision {'target': '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-65ff0f05-2771-4f98-8f2f-94706593de9b DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.4 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Expected types , for clean_steps: foo\", \"debuginfo\": null}"} DEBUG util.py:445: PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/provision {'target': 'active'} 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-51718715-40d8-42b8-8757-a48f5254e8b5 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.1 DEBUG util.py:445: PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/provision {'target': 'active'} 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-b725f8be-4655-4018-a6c2-c7d2d01872fb DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.1 DEBUG util.py:445: PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/provision {'target': 'active', 'configdrive': {'user_data': '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-20125c76-0b7e-4349-82f0-0714281433f4 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.56 DEBUG util.py:445: PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/provision {'target': 'undeploy'} DEBUG util.py:445: GOT:Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-0808879c-6c68-47a2-9a4f-2b5cb586f2bd DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.66 DEBUG util.py:445: {"uuid": "7311491b-87e2-49ca-b318-881e399e5ab4", "created_at": "2024-05-14T11:54:09.800890+00:00", "updated_at": null, "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/7311491b-87e2-49ca-b318-881e399e5ab4", "rel": "self"}, {"href": "http://localhost/nodes/7311491b-87e2-49ca-b318-881e399e5ab4", "rel": "bookmark"}], "conductor": null, "allocation_uuid": null, "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/7311491b-87e2-49ca-b318-881e399e5ab4/ports", "rel": "self"}, {"href": "http://localhost/nodes/7311491b-87e2-49ca-b318-881e399e5ab4/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/7311491b-87e2-49ca-b318-881e399e5ab4/states", "rel": "self"}, {"href": "http://localhost/nodes/7311491b-87e2-49ca-b318-881e399e5ab4/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/7311491b-87e2-49ca-b318-881e399e5ab4/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/7311491b-87e2-49ca-b318-881e399e5ab4/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/7311491b-87e2-49ca-b318-881e399e5ab4/volume", "rel": "self"}, {"href": "http://localhost/nodes/7311491b-87e2-49ca-b318-881e399e5ab4/volume", "rel": "bookmark"}]} DEBUG util.py:445: PATCH: /v1/nodes/20517132-59d2-4d87-92e0-ef8eace5e111 [{'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-7163fa73-88d0-4f31-89bc-23400441946a DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.66 DEBUG util.py:445: {"uuid": "20517132-59d2-4d87-92e0-ef8eace5e111", "created_at": "2024-05-14T11:54:09.876594+00:00", "updated_at": null, "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/20517132-59d2-4d87-92e0-ef8eace5e111", "rel": "self"}, {"href": "http://localhost/nodes/20517132-59d2-4d87-92e0-ef8eace5e111", "rel": "bookmark"}], "conductor": null, "allocation_uuid": null, "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/20517132-59d2-4d87-92e0-ef8eace5e111/ports", "rel": "self"}, {"href": "http://localhost/nodes/20517132-59d2-4d87-92e0-ef8eace5e111/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/20517132-59d2-4d87-92e0-ef8eace5e111/states", "rel": "self"}, {"href": "http://localhost/nodes/20517132-59d2-4d87-92e0-ef8eace5e111/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/20517132-59d2-4d87-92e0-ef8eace5e111/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/20517132-59d2-4d87-92e0-ef8eace5e111/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/20517132-59d2-4d87-92e0-ef8eace5e111/volume", "rel": "self"}, {"href": "http://localhost/nodes/20517132-59d2-4d87-92e0-ef8eace5e111/volume", "rel": "bookmark"}]} DEBUG util.py:445: PATCH: /v1/nodes/edb48072-46ea-4b67-af5c-aefd00a117c4 [{'path': '/network_interface', 'value': 'flat', 'op': 'add'}] DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_update_network_interface [0.074127s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_update_ok_by_name_with_json [0.059792s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_provision_with_tear_down_undeploy [0.033012s] ... 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-8424e37d-b8e9-40d7-908e-20a168692611 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.1 DEBUG util.py:445: {"uuid": "35dafcfd-9219-4ffb-8d8f-8f5303582773", "created_at": "2024-05-14T11:54:09.738468+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/35dafcfd-9219-4ffb-8d8f-8f5303582773", "rel": "self"}, {"href": "http://localhost/nodes/35dafcfd-9219-4ffb-8d8f-8f5303582773", "rel": "bookmark"}], "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/35dafcfd-9219-4ffb-8d8f-8f5303582773/ports", "rel": "self"}, {"href": "http://localhost/nodes/35dafcfd-9219-4ffb-8d8f-8f5303582773/ports", "rel": "bookmark"}]} DEBUG util.py:445: PATCH: /v1/nodes/2fd3e595-f343-4933-8ff8-c7f1e93f6f34 [{'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-2502496f-44b2-4f9b-989c-923d51a3b2f0 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.1 DEBUG util.py:445: {"uuid": "2fd3e595-f343-4933-8ff8-c7f1e93f6f34", "created_at": "2024-05-14T11:54:09.776062+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/2fd3e595-f343-4933-8ff8-c7f1e93f6f34", "rel": "self"}, {"href": "http://localhost/nodes/2fd3e595-f343-4933-8ff8-c7f1e93f6f34", "rel": "bookmark"}], "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/2fd3e595-f343-4933-8ff8-c7f1e93f6f34/ports", "rel": "self"}, {"href": "http://localhost/nodes/2fd3e595-f343-4933-8ff8-c7f1e93f6f34/ports", "rel": "bookmark"}]} DEBUG util.py:445: PATCH: /v1/nodes/c47154bb-02fb-4ed5-bb41-944d48d74e3f [{'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-87a7f68d-d436-4b8d-a3d9-088d69bdda7f DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.1 DEBUG util.py:445: {"uuid": "c47154bb-02fb-4ed5-bb41-944d48d74e3f", "created_at": "2024-05-14T11:54:09.818813+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/c47154bb-02fb-4ed5-bb41-944d48d74e3f", "rel": "self"}, {"href": "http://localhost/nodes/c47154bb-02fb-4ed5-bb41-944d48d74e3f", "rel": "bookmark"}], "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/c47154bb-02fb-4ed5-bb41-944d48d74e3f/ports", "rel": "self"}, {"href": "http://localhost/nodes/c47154bb-02fb-4ed5-bb41-944d48d74e3f/ports", "rel": "bookmark"}]} DEBUG util.py:445: PATCH: /v1/nodes/2f307c81-6a8b-4cbe-a314-dc0740517ffd [{'path': '/lessee', 'value': 'new-project', 'op': 'replace'}] DEBUG util.py:445: GOT:Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-f0690400-4cff-4676-85fc-74e08d2ca1dc DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.65 DEBUG util.py:445: {"uuid": "2f307c81-6a8b-4cbe-a314-dc0740517ffd", "created_at": "2024-05-14T11:54:09.938399+00:00", "updated_at": null, "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/2f307c81-6a8b-4cbe-a314-dc0740517ffd", "rel": "self"}, {"href": "http://localhost/nodes/2f307c81-6a8b-4cbe-a314-dc0740517ffd", "rel": "bookmark"}], "conductor": null, "allocation_uuid": null, "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/2f307c81-6a8b-4cbe-a314-dc0740517ffd/ports", "rel": "self"}, {"href": "http://localhost/nodes/2f307c81-6a8b-4cbe-a314-dc0740517ffd/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/2f307c81-6a8b-4cbe-a314-dc0740517ffd/states", "rel": "self"}, {"href": "http://localhost/nodes/2f307c81-6a8b-4cbe-a314-dc0740517ffd/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/2f307c81-6a8b-4cbe-a314-dc0740517ffd/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/2f307c81-6a8b-4cbe-a314-dc0740517ffd/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/2f307c81-6a8b-4cbe-a314-dc0740517ffd/volume", "rel": "self"}, {"href": "http://localhost/nodes/2f307c81-6a8b-4cbe-a314-dc0740517ffd/volume", "rel": "bookmark"}]} DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_update_network_data_old_api [0.087662s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_update_owner_allocation [0.063911s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_put_raid_iface_not_supported [0.031401s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_put_raid_older_version [0.036516s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_rescue_raises_error_before_1_38 [0.029460s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_secure_boot_on_valid_soft_ver [0.030602s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_update_owner_allocation_owned [0.036190s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_update_network_interface_old_api [0.056572s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_node.TestPost.test_create_node_specify_traits [0.116073s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_set_boot_device_persistent_invalid_value [0.030119s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_set_console_by_name [0.041944s] ... 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-8eb1dba9-5fd5-4a8f-a752-439b390d1263 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "created_at": "2024-05-14T11:54:10.005174+00:00", "updated_at": null, "automated_clean": null, "bios_interface": "fake", "boot_interface": "fake", "boot_mode": null, "clean_step": {}, "conductor_group": "", "console_enabled": false, "console_interface": "fake", "deploy_interface": "fake", "deploy_step": {}, "description": null, "driver": "fake-hardware", "driver_info": {"foo": "bar", "fake_password": "******"}, "driver_internal_info": {}, "extra": {}, "fault": null, "inspection_finished_at": null, "inspection_started_at": null, "inspect_interface": "fake", "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar"}, "instance_uuid": null, "last_error": null, "lessee": null, "maintenance": false, "maintenance_reason": null, "management_interface": "fake", "name": null, "network_data": {}, "network_interface": "flat", "owner": null, "power_interface": "fake", "power_state": null, "properties": {"cpu_arch": "x86_64", "cpus": "8", "local_gb": "10", "memory_mb": "4096"}, "protected": false, "protected_reason": null, "provision_state": "enroll", "provision_updated_at": null, "raid_config": {}, "raid_interface": "fake", "rescue_interface": "fake", "reservation": null, "resource_class": "foo", "retired": false, "retired_reason": null, "secure_boot": null, "storage_interface": "noop", "target_power_state": null, "target_provision_state": null, "target_raid_config": {}, "traits": [], "vendor_interface": "fake", "links": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "bookmark"}], "conductor": null, "allocation_uuid": null, "chassis_uuid": "e74c40e0-d825-11e2-a28f-0800200c9a66", "ports": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume", "rel": "bookmark"}]} DEBUG util.py:445: GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 {} DEBUG util.py:445: GOT:{'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'created_at': '2024-05-14T11:54:10.005174+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', 'instance_uuid': None, 'instance_info': {'configdrive': 'TG9yZW0gaXBzdW0gZG9sb3Igc2l0IGFtZXQ=', 'image_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-bcb826ff-fdee-46b4-8776-79936fe1986d DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Schema error for node: Additional properties are not allowed ('traits' was unexpected) Failed validating 'additionalProperties' in schema\", \"debuginfo\": null}"} DEBUG util.py:445: POST: /v1/nodes {'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'instance_uuid': None, 'instance_info': {'configdrive': 'TG9yZW0gaXBzdW0gZG9sb3Igc2l0IGFtZXQ=', 'image_url': 'http://example.com/test_image_url', 'foo': 'bar'}, 'driver': 'fake-hardware', 'driver_info': {'foo': 'bar', 'fake_password': 'fakepass'}, 'properties': {'cpu_arch': 'x86_64', 'cpus': '8', 'local_gb': '10', 'memory_mb': '4096'}, 'maintenance': False, 'console_enabled': False, 'extra': {'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: {1} ironic.tests.unit.api.controllers.v1.test_node.TestPost.test_create_node_valid_extra [0.062355s] ... 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-1e64a2f7-2ef8-4efb-a37e-7e637b0d480a DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"uuid": "edb48072-46ea-4b67-af5c-aefd00a117c4", "created_at": "2024-05-14T11:54:09.946622+00:00", "updated_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/edb48072-46ea-4b67-af5c-aefd00a117c4", "rel": "self"}, {"href": "http://localhost/nodes/edb48072-46ea-4b67-af5c-aefd00a117c4", "rel": "bookmark"}], "conductor": null, "allocation_uuid": null, "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/edb48072-46ea-4b67-af5c-aefd00a117c4/ports", "rel": "self"}, {"href": "http://localhost/nodes/edb48072-46ea-4b67-af5c-aefd00a117c4/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/edb48072-46ea-4b67-af5c-aefd00a117c4/states", "rel": "self"}, {"href": "http://localhost/nodes/edb48072-46ea-4b67-af5c-aefd00a117c4/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/edb48072-46ea-4b67-af5c-aefd00a117c4/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/edb48072-46ea-4b67-af5c-aefd00a117c4/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/edb48072-46ea-4b67-af5c-aefd00a117c4/volume", "rel": "self"}, {"href": "http://localhost/nodes/edb48072-46ea-4b67-af5c-aefd00a117c4/volume", "rel": "bookmark"}]} DEBUG util.py:445: PATCH: /v1/nodes/node-57.1.json [{'path': '/instance_uuid', 'value': 'aaaaaaaa-1111-bbbb-2222-cccccccccccc', 'op': 'replace'}] DEBUG util.py:445: GOT:Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-cc013177-7acb-4c53-b6ff-389ec551abb7 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.5 DEBUG util.py:445: {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "created_at": "2024-05-14T11:54:09.994750+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/23f871fd-a826-492b-b29e-4addae80a225 [{'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-9d813a14-d48a-4686-b0d1-823623079309 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.50 DEBUG util.py:445: {"uuid": "23f871fd-a826-492b-b29e-4addae80a225", "created_at": "2024-05-14T11:54:10.065873+00:00", "updated_at": null, "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/23f871fd-a826-492b-b29e-4addae80a225", "rel": "self"}, {"href": "http://localhost/nodes/23f871fd-a826-492b-b29e-4addae80a225", "rel": "bookmark"}], "conductor": null, "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/23f871fd-a826-492b-b29e-4addae80a225/ports", "rel": "self"}, {"href": "http://localhost/nodes/23f871fd-a826-492b-b29e-4addae80a225/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/23f871fd-a826-492b-b29e-4addae80a225/states", "rel": "self"}, {"href": "http://localhost/nodes/23f871fd-a826-492b-b29e-4addae80a225/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/23f871fd-a826-492b-b29e-4addae80a225/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/23f871fd-a826-492b-b29e-4addae80a225/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/23f871fd-a826-492b-b29e-4addae80a225/volume", "rel": "self"}, {"href": "http://localhost/nodes/23f871fd-a826-492b-b29e-4addae80a225/volume", "rel": "bookmark"}]} DEBUG util.py:445: PATCH: /v1/nodes/e43b2238-7d25-451b-8c9d-8f49238bf1a1 [{'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-01ab9c21-2af8-4d4b-9737-b9f542752a19 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.50 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Cannot update owner of node \\\"e43b2238-7d25-451b-8c9d-8f49238bf1a1\\\" while it is allocated to an allocation with an owner.\", \"debuginfo\": null}"} DEBUG util.py:445: PATCH: /v1/nodes/eb027cab-b42b-479c-92cc-fa424dd3348d [{'path': '/protected_reason', 'value': 'reason!', 'op': 'replace'}] DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_update_protected_reason [0.054051s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_update_resource_class [0.054408s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_set_console_by_name_unsupported [0.066667s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_node.TestPost.test_create_node_valid_properties [0.059594s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_update_ok_by_name [0.133281s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_update_storage_interface_old_api [0.032239s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_update_traits [0.033719s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_set_console_mode_bad_request_missing_parameter [0.061709s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_update_owner_old_api [0.065171s] ... 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-278ef126-7070-4655-8de7-0e8e7a0494a7 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.1 DEBUG util.py:445: {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "created_at": "2024-05-14T11:54:10.198463+00:00", "updated_at": null, "console_enabled": false, "driver": "fake-hardware", "driver_info": {"foo": "bar", "fake_password": "******"}, "extra": {"str": "foo", "int": 123, "float": 0.1, "bool": true, "list": [1, 2], "none": null, "dict": {"cat": "meow"}}, "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar"}, "instance_uuid": null, "last_error": null, "maintenance": false, "maintenance_reason": null, "power_state": null, "properties": {"cpu_arch": "x86_64", "cpus": "8", "local_gb": "10", "memory_mb": "4096"}, "provision_state": null, "provision_updated_at": null, "reservation": null, "target_power_state": null, "target_provision_state": null, "links": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "bookmark"}], "chassis_uuid": "e74c40e0-d825-11e2-a28f-0800200c9a66", "ports": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "bookmark"}]} DEBUG util.py:445: GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 {} DEBUG util.py:445: GOT:{'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'created_at': '2024-05-14T11:54:10.198463+00:00', 'updated_at': None, 'console_enabled': False, 'driver': 'fake-hardware', 'driver_info': {'foo': 'bar', 'fake_password': '******'}, 'extra': {'str': 'foo', 'int': 123, 'float': 0.1, 'bool': True, 'list': [1, 2], 'none': None, 'dict': {'cat': 'meow'}}, 'instance_info': {'configdrive': '******', 'image_url': '******', 'foo': 'bar'}, 'instance_uuid': None, 'last_error': None, 'maintenance': False, 'maintenance_reason': None, 'power_state': None, 'properties': {'cpu_arch': 'x86_64', 'cpus': '8', 'local_gb': '10', 'memory_mb': '4096'}, 'provision_state': None, 'provision_updated_at': None, 'reservation': None, 'target_power_state': None, 'target_provision_state': None, 'links': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'rel': 'bookmark'}], 'chassis_uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'ports': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports', 'rel': 'bookmark'}]} DEBUG util.py:445: POST: /v1/nodes {'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'instance_uuid': None, 'instance_info': {'configdrive': 'TG9yZW0gaXBzdW0gZG9sb3Igc2l0IGFtZXQ=', 'image_url': 'http://example.com/test_image_url', 'foo': 'bar'}, 'driver': 'fake-hardware', 'driver_info': {'foo': 'bar', 'fake_password': 'fakepass'}, 'properties': {'str': 'foo', 'int': 123, 'float': 0.1, 'bool': True, 'list': [1, 2], 'none': None, 'dict': {'cat': 'meow'}}, 'maintenance': False, 'console_enabled': False, 'extra': {}, 'chassis_uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66'} DEBUG util.py:445: GOT:Response: 201 Created DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Location: http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 DEBUG util.py:445: Openstack-Request-Id: req-ddde0580-100d-4a4f-9f81-98f848898fa7 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.1 DEBUG util.py:445: {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "created_at": "2024-05-14T11:54:10.258624+00:00", "updated_at": null, "console_enabled": false, "driver": "fake-hardware", "driver_info": {"foo": "bar", "fake_password": "******"}, "extra": {}, "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar"}, "instance_uuid": null, "last_error": null, "maintenance": false, "maintenance_reason": null, "power_state": null, "properties": {"str": "foo", "int": 123, "float": 0.1, "bool": true, "list": [1, 2], "none": null, "dict": {"cat": "meow"}}, "provision_state": null, "provision_updated_at": null, "reservation": null, "target_power_state": null, "target_provision_state": null, "links": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "bookmark"}], "chassis_uuid": "e74c40e0-d825-11e2-a28f-0800200c9a66", "ports": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "bookmark"}]} DEBUG util.py:445: GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 {} DEBUG util.py:445: GOT:{'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'created_at': '2024-05-14T11:54:10.258624+00:00', 'updated_at': None, 'console_enabled': False, 'driver': 'fake-hardware', 'driver_info': {'foo': 'bar', 'fake_password': '******'}, 'extra': {}, 'instance_info': {'configdrive': '******', 'image_url': '******', 'foo': 'bar'}, 'instance_uuid': None, 'last_error': None, 'maintenance': False, 'maintenance_reason': None, 'power_state': None, 'properties': {'str': 'foo', 'int': 123, 'float': 0.1, 'bool': True, 'list': [1, 2], 'none': None, 'dict': {'cat': 'meow'}}, 'provision_state': None, 'provision_updated_at': None, 'reservation': None, 'target_power_state': None, 'target_provision_state': None, 'links': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'rel': 'bookmark'}], 'chassis_uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'ports': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports', 'rel': 'bookmark'}]} DEBUG util.py:445: POST: /v1/nodes {'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'instance_uuid': None, 'instance_info': {'configdrive': 'TG9yZW0gaXBzdW0gZG9sb3Igc2l0IGFtZXQ=', 'image_url': 'http://example.com/test_image_url', 'foo': 'bar'}, 'driver': 'fake-hardware', 'driver_info': {'foo': 'bar', 'fake_password': 'fakepass'}, 'properties': {'cpu_arch': 'x86_64', 'cpus': '8', 'local_gb': '10', 'memory_mb': '4096'}, 'maintenance': False, 'console_enabled': False, 'extra': {}, 'chassis_uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66'} DEBUG util.py:445: GOT:Response: 201 Created DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Location: http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 DEBUG util.py:445: Openstack-Request-Id: req-2c81715c-be44-43de-bbfd-a628f339abfd DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.1 DEBUG util.py:445: {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "created_at": "2024-05-14T11:54:10.314112+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: {1} ironic.tests.unit.api.controllers.v1.test_node.TestPost.test_create_node_with_chassis_uuid [0.055373s] ... 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-d017712c-817e-49a7-83af-39c1fca97521 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.48 DEBUG util.py:445: {"uuid": "eb027cab-b42b-479c-92cc-fa424dd3348d", "created_at": "2024-05-14T11:54:10.164043+00:00", "updated_at": null, "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/eb027cab-b42b-479c-92cc-fa424dd3348d", "rel": "self"}, {"href": "http://localhost/nodes/eb027cab-b42b-479c-92cc-fa424dd3348d", "rel": "bookmark"}], "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/eb027cab-b42b-479c-92cc-fa424dd3348d/ports", "rel": "self"}, {"href": "http://localhost/nodes/eb027cab-b42b-479c-92cc-fa424dd3348d/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/eb027cab-b42b-479c-92cc-fa424dd3348d/states", "rel": "self"}, {"href": "http://localhost/nodes/eb027cab-b42b-479c-92cc-fa424dd3348d/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/eb027cab-b42b-479c-92cc-fa424dd3348d/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/eb027cab-b42b-479c-92cc-fa424dd3348d/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/eb027cab-b42b-479c-92cc-fa424dd3348d/volume", "rel": "self"}, {"href": "http://localhost/nodes/eb027cab-b42b-479c-92cc-fa424dd3348d/volume", "rel": "bookmark"}]} DEBUG util.py:445: PATCH: /v1/nodes/986a923d-babf-437c-acde-49205be6a90a [{'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-109199e2-f16f-47e8-9fdb-f60aa4305f23 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.21 DEBUG util.py:445: {"uuid": "986a923d-babf-437c-acde-49205be6a90a", "created_at": "2024-05-14T11:54:10.218468+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/986a923d-babf-437c-acde-49205be6a90a", "rel": "self"}, {"href": "http://localhost/nodes/986a923d-babf-437c-acde-49205be6a90a", "rel": "bookmark"}], "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/986a923d-babf-437c-acde-49205be6a90a/ports", "rel": "self"}, {"href": "http://localhost/nodes/986a923d-babf-437c-acde-49205be6a90a/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/986a923d-babf-437c-acde-49205be6a90a/states", "rel": "self"}, {"href": "http://localhost/nodes/986a923d-babf-437c-acde-49205be6a90a/states", "rel": "bookmark"}]} DEBUG util.py:445: PATCH: /v1/nodes/b84fb04d-21cf-4b88-946c-12e700c6fb8e [{'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-35394a3a-49b4-4c9c-8927-c886dcc30c0e DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.32 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Request not acceptable.\", \"debuginfo\": null}"} DEBUG util.py:445: PATCH: /v1/nodes/c08ff62c-9b34-4590-b7cc-df213c52abe3 [{'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-8ccad33e-2e7a-4f94-81ca-0fed837dcf42 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Cannot patch /traits. Only the following can be updated: automated_clean, bios_interface, boot_interface, chassis_uuid, conductor_group, console_interface, deploy_interface, description, driver, driver_info, extra, inspect_interface, instance_info, instance_uuid, lessee, maintenance, management_interface, name, network_data, network_interface, owner, power_interface, properties, protected, protected_reason, raid_interface, rescue_interface, resource_class, retired, retired_reason, storage_interface, vendor_interface\", \"debuginfo\": null}"} DEBUG util.py:445: PATCH: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123?reset_interfaces=True [{'path': '/driver', 'value': 'ipmi', 'op': 'replace'}] DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_set_indicator_state_qs [0.063611s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_update_with_reset_interfaces [0.059258s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_node.TestPost.test_create_node_with_default_resource_class [0.055500s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_node.TestPost.test_post_ports_subresource_no_node_id [0.022893s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_node.TestPost.test_create_node_explicit_network_interface [0.055953s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_node.TestPost.test_vendor_passthru_put [0.026313s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_set_node_maintenance_mode_no_reason [0.063817s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_update_owner_provisioned [0.127677s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_abort_invalid_state [0.032957s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_adopt_from_adoptfail [0.032235s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_set_node_maintenance_mode_no_reason_by_name [0.064571s] ... 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-4faa5947-53f3-4e97-8c09-be841b1841a6 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.45 DEBUG util.py:445: {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "created_at": "2024-05-14T11:54:10.330852+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': {}, 'network_interface': 'neutron', 'chassis_uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66'} DEBUG util.py:445: GOT:Response: 201 Created DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Location: http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 DEBUG util.py:445: Openstack-Request-Id: req-0c2f194f-0820-4aa2-b811-11f26788c700 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.20 DEBUG util.py:445: {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "created_at": "2000-01-01T00:00:00+00:00", "updated_at": null, "clean_step": {}, "console_enabled": false, "driver": "fake-hardware", "driver_info": {"foo": "bar", "fake_password": "******"}, "driver_internal_info": {}, "extra": {}, "inspection_finished_at": null, "inspection_started_at": null, "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar"}, "instance_uuid": null, "last_error": null, "maintenance": false, "maintenance_reason": null, "name": null, "network_interface": "neutron", "power_state": null, "properties": {"cpu_arch": "x86_64", "cpus": "8", "local_gb": "10", "memory_mb": "4096"}, "provision_state": "enroll", "provision_updated_at": null, "raid_config": {}, "reservation": null, "target_power_state": null, "target_provision_state": null, "target_raid_config": {}, "links": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "bookmark"}], "chassis_uuid": "e74c40e0-d825-11e2-a28f-0800200c9a66", "ports": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states", "rel": "bookmark"}]} DEBUG util.py:445: GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 {} DEBUG util.py:445: GOT:{'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'created_at': '2000-01-01T00:00:00+00:00', 'updated_at': None, 'clean_step': {}, 'console_enabled': False, 'driver': 'fake-hardware', 'driver_info': {'foo': 'bar', 'fake_password': '******'}, 'driver_internal_info': {}, 'extra': {}, 'inspection_finished_at': None, 'inspection_started_at': None, 'instance_info': {'configdrive': '******', 'image_url': '******', 'foo': 'bar'}, 'instance_uuid': None, 'last_error': None, 'maintenance': False, 'maintenance_reason': None, 'name': None, 'network_interface': 'neutron', 'power_state': None, 'properties': {'cpu_arch': 'x86_64', 'cpus': '8', 'local_gb': '10', 'memory_mb': '4096'}, 'provision_state': 'enroll', 'provision_updated_at': None, 'raid_config': {}, 'reservation': None, 'target_power_state': None, 'target_provision_state': None, 'target_raid_config': {}, 'links': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'rel': 'bookmark'}], 'chassis_uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'ports': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports', 'rel': 'bookmark'}], 'states': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states', 'rel': 'bookmark'}]} 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: {3} ironic.tests.unit.api.controllers.v1.test_node.TestPost.test_create_node_lessee [0.054395s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_node.TestPost.test_create_node_lessee_old_api_version [0.033921s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_update_owner_provisioned_forbidden [0.064545s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_node.TestPost.test_create_node_name_empty_invalid [0.032707s] ... ok DEBUG util.py:445: GOT:{'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'created_at': '2024-05-14T11:54:10.314112+00:00', 'updated_at': None, 'console_enabled': False, 'driver': 'fake-hardware', 'driver_info': {'foo': 'bar', 'fake_password': '******'}, 'extra': {}, 'instance_info': {'configdrive': '******', 'image_url': '******', 'foo': 'bar'}, 'instance_uuid': None, 'last_error': None, 'maintenance': False, 'maintenance_reason': None, 'power_state': None, 'properties': {'cpu_arch': 'x86_64', 'cpus': '8', 'local_gb': '10', 'memory_mb': '4096'}, 'provision_state': None, 'provision_updated_at': None, 'reservation': None, 'target_power_state': None, 'target_provision_state': None, 'links': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'rel': 'bookmark'}], 'chassis_uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'ports': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports', 'rel': 'bookmark'}]} DEBUG util.py:445: POST: /v1/nodes {'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'instance_uuid': None, 'instance_info': {'configdrive': 'TG9yZW0gaXBzdW0gZG9sb3Igc2l0IGFtZXQ=', 'image_url': 'http://example.com/test_image_url', 'foo': 'bar'}, 'driver': 'fake-hardware', 'driver_info': {'foo': 'bar', 'fake_password': 'fakepass'}, 'properties': {'cpu_arch': 'x86_64', 'cpus': '8', 'local_gb': '10', 'memory_mb': '4096'}, 'maintenance': False, 'console_enabled': False, 'extra': {}, 'chassis_uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66'} DEBUG util.py:445: GOT:Response: 201 Created DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Location: http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 DEBUG util.py:445: Openstack-Request-Id: req-6ac5387f-eda6-4178-8586-cd93f1a5006c DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.1 DEBUG util.py:445: {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "created_at": "2024-05-14T11:54:10.369500+00:00", "updated_at": null, "console_enabled": false, "driver": "fake-hardware", "driver_info": {"foo": "bar", "fake_password": "******"}, "extra": {}, "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar"}, "instance_uuid": null, "last_error": null, "maintenance": false, "maintenance_reason": null, "power_state": null, "properties": {"cpu_arch": "x86_64", "cpus": "8", "local_gb": "10", "memory_mb": "4096"}, "provision_state": null, "provision_updated_at": null, "reservation": null, "target_power_state": null, "target_provision_state": null, "links": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "bookmark"}], "chassis_uuid": "e74c40e0-d825-11e2-a28f-0800200c9a66", "ports": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "bookmark"}]} DEBUG util.py:445: GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 {} DEBUG util.py:445: GOT:{'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'created_at': '2024-05-14T11:54:10.369500+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/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: 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-806479e1-e32b-4801-a6e8-a0f918c59b4f DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.1 DEBUG util.py:445: PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/provision {'target': '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-8b4db412-5161-434f-8a69-62116e381757 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.13 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"The requested action \\\"abort\\\" can not be performed on node \\\"1be26c0b-03f2-4d2e-ae87-c02d7f33c123\\\" while it is in state \\\"cleaning\\\".\", \"debuginfo\": null}"} DEBUG util.py:445: PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/provision {'target': '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-38edb6b5-8ab9-4fde-8f0d-82e589d63422 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.17 DEBUG util.py:445: PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/provision {'target': '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-1bd85688-209f-4f1f-b9a1-0809c3565eaf DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.1 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"The requested action \\\"active\\\" can not be performed on node \\\"1be26c0b-03f2-4d2e-ae87-c02d7f33c123\\\" while it is in state \\\"adopt failed\\\".\", \"debuginfo\": null}"} DEBUG util.py:445: PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/provision {'target': 'rebuild'} DEBUG util.py:445: GOT:Response: 400 Bad Request DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-0d735f9d-3905-4aec-a18b-41f5fb3f5451 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.1 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"The requested action \\\"rebuild\\\" can not be performed on node \\\"1be26c0b-03f2-4d2e-ae87-c02d7f33c123\\\" while it is in state \\\"adopt failed\\\".\", \"debuginfo\": null}"} DEBUG util.py:445: PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/provision {'target': 'deleted'} DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_bad_requests_in_adoption_failed_state [0.042500s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_clean_disable_ramdisk [0.034758s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_node.TestTraits.test_add_single_trait_fails_if_node_locked [0.055052s] ... ok DEBUG util.py:445: PATCH: /v1/nodes/2e31e93d-1cb7-468b-9b27-10f9180ba66a [{'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-30fcf53c-cf71-40e2-9969-218b19a0dffd DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.62 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Request not acceptable.\", \"debuginfo\": null}"} DEBUG util.py:445: PATCH: /v1/nodes/045eadec-49e8-4388-ba48-eb635b8ac076 [{'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-65385da2-de6c-4ece-b031-a38530792361 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.15 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Request not acceptable.\", \"debuginfo\": null}"} DEBUG util.py:445: PATCH: /v1/nodes/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-e9244882-cbba-4915-99aa-501e6cc96b2e DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.5 DEBUG util.py:445: {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "created_at": "2024-05-14T11:54:10.198632+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/4db2b0d9-2976-4636-b70b-7073732d7051 [{'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-61ecc808-196f-4952-bfc5-73b838b3c02d DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.47 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Request not acceptable.\", \"debuginfo\": null}"} DEBUG util.py:445: PATCH: /v1/nodes/972e7d1e-972f-4c64-b5e3-6175ae8e5481 [{'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-c9d7156e-1f2d-4406-8bcd-368653503d84 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.50 DEBUG util.py:445: {"uuid": "972e7d1e-972f-4c64-b5e3-6175ae8e5481", "created_at": "2024-05-14T11:54:10.400487+00:00", "updated_at": null, "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/972e7d1e-972f-4c64-b5e3-6175ae8e5481", "rel": "self"}, {"href": "http://localhost/nodes/972e7d1e-972f-4c64-b5e3-6175ae8e5481", "rel": "bookmark"}], "conductor": null, "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/972e7d1e-972f-4c64-b5e3-6175ae8e5481/ports", "rel": "self"}, {"href": "http://localhost/nodes/972e7d1e-972f-4c64-b5e3-6175ae8e5481/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/972e7d1e-972f-4c64-b5e3-6175ae8e5481/states", "rel": "self"}, {"href": "http://localhost/nodes/972e7d1e-972f-4c64-b5e3-6175ae8e5481/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/972e7d1e-972f-4c64-b5e3-6175ae8e5481/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/972e7d1e-972f-4c64-b5e3-6175ae8e5481/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/972e7d1e-972f-4c64-b5e3-6175ae8e5481/volume", "rel": "self"}, {"href": "http://localhost/nodes/972e7d1e-972f-4c64-b5e3-6175ae8e5481/volume", "rel": "bookmark"}]} DEBUG util.py:445: PATCH: /v1/nodes/263e0dd9-9674-4b4b-8419-23459cb0b46b [{'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-00588d75-4e09-4371-98b5-52c2bd52b929 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.50 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Cannot update owner of node \\\"263e0dd9-9674-4b4b-8419-23459cb0b46b\\\" while it is in state \\\"active\\\".\", \"debuginfo\": null}"} DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_update_protected_old_api [0.068579s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_inject_nmi_not_allowed [0.029271s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_node.TestTraits.test_add_single_trait_fails_with_bad_version [0.059874s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_inject_nmi_not_supported [0.030629s] ... 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-a4fe7c10-d312-43da-b9c5-7e4e03c036b7 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "created_at": "2024-05-14T11:54:10.467302+00:00", "updated_at": null, "automated_clean": null, "bios_interface": "fake", "boot_interface": "fake", "boot_mode": null, "clean_step": {}, "conductor_group": "", "console_enabled": false, "console_interface": "fake", "deploy_interface": "fake", "deploy_step": {}, "description": null, "driver": "fake-hardware", "driver_info": {"foo": "bar", "fake_password": "******"}, "driver_internal_info": {}, "extra": {}, "fault": null, "inspection_finished_at": null, "inspection_started_at": null, "inspect_interface": "fake", "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar"}, "instance_uuid": null, "last_error": null, "lessee": "project", "maintenance": false, "maintenance_reason": null, "management_interface": "fake", "name": null, "network_data": {}, "network_interface": "flat", "owner": null, "power_interface": "fake", "power_state": null, "properties": {"cpu_arch": "x86_64", "cpus": "8", "local_gb": "10", "memory_mb": "4096"}, "protected": false, "protected_reason": null, "provision_state": "enroll", "provision_updated_at": null, "raid_config": {}, "raid_interface": "fake", "rescue_interface": "fake", "reservation": null, "resource_class": null, "retired": false, "retired_reason": null, "secure_boot": null, "storage_interface": "noop", "target_power_state": null, "target_provision_state": null, "target_raid_config": {}, "traits": [], "vendor_interface": "fake", "links": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "bookmark"}], "conductor": null, "allocation_uuid": null, "chassis_uuid": "e74c40e0-d825-11e2-a28f-0800200c9a66", "ports": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume", "rel": "bookmark"}]} DEBUG util.py:445: GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 {} DEBUG util.py:445: GOT:{'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'created_at': '2024-05-14T11:54:10.467302+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': {}, '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-ebad4af6-e675-49f3-a525-30bb0a0c21fa DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.64 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Request not acceptable.\", \"debuginfo\": null}"} DEBUG util.py:445: POST: /v1/nodes {'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-7989fe83-0b97-4244-ab12-4f61ed6f8114 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.10 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Cannot create node with invalid name ''\", \"debuginfo\": null}"} DEBUG util.py:445: POST: /v1/nodes {'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: {3} ironic.tests.unit.api.controllers.v1.test_node.TestPost.test_create_node_name_empty_not_acceptable [0.033552s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_node.TestPost.test_create_node_protected_not_allowed [0.051760s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_node.TestPost.test_create_node_resource_class_old_api_version [0.033818s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_inspect_abort_accepted_after_1_41 [0.034986s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_node.TestTraits.test_add_single_trait_rejects_too_long_trait [0.054828s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_update_protected_remove [0.104916s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_manage_from_adoptfail [0.033319s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_node.TestPost.test_create_node_specify_conductor_group_bad_version [0.055869s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_update_protected_string_invalid [0.049495s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_node.TestTraits.test_delete_all_traits [0.074776s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_node.TestPost.test_post_ports_subresource [0.045634s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_node.TestTraits.test_delete_all_traits_fails_with_bad_version [0.025626s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_node.TestTraits.test_delete_all_traits_with_chassis [0.036363s] ... ok DEBUG util.py:445: PATCH: /v1/nodes/4c05b1a3-54a4-430a-b90d-9378e24730c7 [{'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-c275bd20-8aba-4606-8402-df883032a611 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.47 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Request not acceptable.\", \"debuginfo\": null}"} DEBUG util.py:445: PATCH: /v1/nodes/3a2c7284-24aa-4416-a1cd-9701738383bf [{'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-bd18a01e-f00b-4ea6-9b48-27dec43bd74c DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.48 DEBUG util.py:445: {"uuid": "3a2c7284-24aa-4416-a1cd-9701738383bf", "created_at": "2024-05-14T11:54:10.660176+00:00", "updated_at": null, "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/3a2c7284-24aa-4416-a1cd-9701738383bf", "rel": "self"}, {"href": "http://localhost/nodes/3a2c7284-24aa-4416-a1cd-9701738383bf", "rel": "bookmark"}], "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/3a2c7284-24aa-4416-a1cd-9701738383bf/ports", "rel": "self"}, {"href": "http://localhost/nodes/3a2c7284-24aa-4416-a1cd-9701738383bf/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/3a2c7284-24aa-4416-a1cd-9701738383bf/states", "rel": "self"}, {"href": "http://localhost/nodes/3a2c7284-24aa-4416-a1cd-9701738383bf/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/3a2c7284-24aa-4416-a1cd-9701738383bf/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/3a2c7284-24aa-4416-a1cd-9701738383bf/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/3a2c7284-24aa-4416-a1cd-9701738383bf/volume", "rel": "self"}, {"href": "http://localhost/nodes/3a2c7284-24aa-4416-a1cd-9701738383bf/volume", "rel": "bookmark"}]} DEBUG util.py:445: PATCH: /v1/nodes/f56cf4fa-1a1d-4ddd-b342-f87e5f51f228 [{'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-c4f20a88-5558-436d-a00f-b4201232e8d7 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.48 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Invalid protected: Unrecognized value 'YeahNahGood', acceptable values are: '0', '1', 'f', 'false', 'n', 'no', 'off', 'on', 't', 'true', 'y', 'yes'\", \"debuginfo\": null}"} DEBUG util.py:445: POST: /v1/nodes {'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'instance_uuid': None, 'instance_info': {'configdrive': 'TG9yZW0gaXBzdW0gZG9sb3Igc2l0IGFtZXQ=', 'image_url': 'http://example.com/test_image_url', 'foo': 'bar'}, 'driver': 'fake-hardware', 'driver_info': {'foo': 'bar', 'fake_password': 'fakepass'}, 'properties': {'cpu_arch': 'x86_64', 'cpus': '8', 'local_gb': '10', 'memory_mb': '4096'}, 'maintenance': False, 'console_enabled': False, 'extra': {}, 'storage_interface': 'cinder', 'chassis_uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66'} DEBUG util.py:445: GOT:Response: 201 Created DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Location: http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 DEBUG util.py:445: Openstack-Request-Id: req-027af246-0e72-42cf-9c59-5f6d675abbd4 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.33 DEBUG util.py:445: {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "created_at": "2000-01-01T00:00:00+00:00", "updated_at": null, "boot_interface": "fake", "clean_step": {}, "console_enabled": false, "console_interface": "fake", "deploy_interface": "fake", "driver": "fake-hardware", "driver_info": {"foo": "bar", "fake_password": "******"}, "driver_internal_info": {}, "extra": {}, "inspection_finished_at": null, "inspection_started_at": null, "inspect_interface": "fake", "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar"}, "instance_uuid": null, "last_error": null, "maintenance": false, "maintenance_reason": null, "management_interface": "fake", "name": null, "network_interface": "flat", "power_interface": "fake", "power_state": null, "properties": {"cpu_arch": "x86_64", "cpus": "8", "local_gb": "10", "memory_mb": "4096"}, "provision_state": "enroll", "provision_updated_at": null, "raid_config": {}, "raid_interface": "fake", "reservation": null, "resource_class": null, "storage_interface": "cinder", "target_power_state": null, "target_provision_state": null, "target_raid_config": {}, "vendor_interface": "fake", "links": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "bookmark"}], "chassis_uuid": "e74c40e0-d825-11e2-a28f-0800200c9a66", "ports": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume", "rel": "bookmark"}]} DEBUG util.py:445: GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 {} DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_node.TestTraits.test_delete_trait_fails_if_node_locked [0.030365s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_node.TestPost.test_create_node_explicit_storage_interface [0.055438s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_node.TestPost.test_create_node_invalid_chassis [0.035260s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_node.TestPost.test_post_volume_targets_subresource [0.090204s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_manage_from_available [0.164347s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_power_state_power_on_invalid_timeout_invalid_soft_ver [0.029551s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_power_state_power_on_no_timeout_no_ver [0.030513s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_node.TestPost.test_vendor_passthru_get [0.059143s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_node.TestPost.test_vendor_passthru_methods [0.044621s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_power_state_power_on_no_timeout_valid_soft_ver [0.029478s] ... 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-65f9f0a5-24e9-4aad-b223-461b19dff868 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.1 DEBUG util.py:445: PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/raid {'logical_disks': [{'size_gb': 100, 'raid_level': 1}]} DEBUG util.py:445: GOT:Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-af9c45f9-b0d9-4761-8f2d-7a94aef0b956 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.12 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Driver fake-hardware does not support raid (disabled or not implemented).\", \"debuginfo\": null}"} DEBUG util.py:445: PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/raid {'logical_disks': [{'size_gb': 100, 'raid_level': 1}]} DEBUG util.py:445: GOT:Response: 406 Not Acceptable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-f0c1dc48-cae6-4ec8-8ea9-4fc53f78a5d3 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.5 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Request not acceptable.\", \"debuginfo\": null}"} DEBUG util.py:445: PUT: /v1/nodes/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-298e1aad-da6f-4fad-8b19-f1ceb8ad01c3 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.37 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Request not acceptable.\", \"debuginfo\": null}"} DEBUG util.py:445: PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/secure_boot {'target': 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-c8623ab1-e0ff-40d8-a1eb-bb4d74c905dd DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.76 DEBUG util.py:445: PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/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-e9efbde0-db8e-4ad0-8dc6-3883a87cb6cf DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.1 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Invalid persistent: Unrecognized value 'blah', acceptable values are: '0', '1', 'f', 'false', 'n', 'no', 'off', 'on', 't', 'true', 'y', 'yes'\", \"debuginfo\": null}"} DEBUG util.py:445: PUT: /v1/nodes/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-d0a4dd07-634c-48d4-b633-304c845bd174 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.5 DEBUG util.py:445: PUT: /v1/nodes/node-39/states/console {'enabled': 'true'} DEBUG util.py:445: GOT:Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-475d74bc-c05a-4a6c-8e8e-d58eff84f342 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.1 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node node-39 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/console {} DEBUG util.py:445: GOT:Response: 400 Bad Request DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-765d50a2-ddb4-4cf1-9763-3253eff8d6b3 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.1 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Missing mandatory parameter: enabled\", \"debuginfo\": null}"} DEBUG util.py:445: PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/management/indicators/led@system?state=on {} DEBUG util.py:445: GOT:Response: 204 No Content DEBUG util.py:445: Openstack-Request-Id: req-12e71fcf-e602-4a90-b64f-3ce68b45e2bd DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.1 DEBUG util.py:445: PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/maintenance {} DEBUG util.py:445: GOT:Response: 202 Accepted DEBUG util.py:445: Openstack-Request-Id: req-178c8c29-6e49-4f45-919f-c1f0ba75d46f DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.1 DEBUG util.py:445: PUT: /v1/nodes/node-39/maintenance {} DEBUG util.py:445: GOT:Response: 202 Accepted DEBUG util.py:445: Openstack-Request-Id: req-82c6bdf9-d707-4df3-9728-876c15f1b2df DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.5 DEBUG util.py:445: PUT: /v1/nodes/node-39/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-77f8c888-29b5-4e50-9fd4-e75cf28517ee DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.37 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 is locked by host host1, please retry after the current operation is completed.\", \"debuginfo\": null}"} DEBUG util.py:445: PUT: /v1/nodes/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: 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-419b8254-9616-459e-8aaf-49079c04a6bc DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.37 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Schema error for trait: 'CUSTOM_TTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTT' is too long Failed validating 'maxLength' in schema[0]\", \"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-0f88b6a4-1bbc-4731-85a1-4f73ed472802 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.37 DEBUG util.py:445: DELETE: /v1/nodes/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-87a3b321-e405-45f4-8863-4e0f710990a6 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.36 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Resource could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: DELETE: /v1/nodes/node-39/traits DEBUG util.py:445: GOT:Response: 204 No Content DEBUG util.py:445: Openstack-Request-Id: req-1a5179d3-819d-4b5e-ad58-2dccb00181b8 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.37 DEBUG util.py:445: DELETE: /v1/nodes/node-39/traits/CUSTOM_1 DEBUG util.py:445: GOT:Response: 409 Conflict DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-f37ffbb3-2f12-4572-bad2-92271d470ad5 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.37 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 is locked by host host1, please retry after the current operation is completed.\", \"debuginfo\": null}"} DEBUG util.py:445: GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/traits {} DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_node.TestTraits.test_get_all_traits_fails_with_bad_version [0.026470s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_node.TestTraits.test_set_all_traits [0.028951s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_node.TestTraits.test_set_all_traits_fails_with_bad_version [0.023111s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_notification_utils.APINotifyTestCase.test_portgroup_notification [0.013892s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_port.TestDelete.test_portgroups_subresource_delete [0.026803s] ... ok DEBUG util.py:445: GOT:{'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'created_at': '2000-01-01T00:00:00+00:00', 'updated_at': None, 'boot_interface': 'fake', 'clean_step': {}, 'console_enabled': False, 'console_interface': 'fake', 'deploy_interface': 'fake', 'driver': 'fake-hardware', 'driver_info': {'foo': 'bar', 'fake_password': '******'}, 'driver_internal_info': {}, 'extra': {}, 'inspection_finished_at': None, 'inspection_started_at': None, 'inspect_interface': 'fake', 'instance_info': {'configdrive': '******', 'image_url': '******', 'foo': 'bar'}, 'instance_uuid': None, 'last_error': None, 'maintenance': False, 'maintenance_reason': None, 'management_interface': 'fake', 'name': None, 'network_interface': 'flat', 'power_interface': 'fake', 'power_state': None, 'properties': {'cpu_arch': 'x86_64', 'cpus': '8', 'local_gb': '10', 'memory_mb': '4096'}, 'provision_state': 'enroll', 'provision_updated_at': None, 'raid_config': {}, 'raid_interface': 'fake', 'reservation': None, 'resource_class': None, 'storage_interface': 'cinder', 'target_power_state': None, 'target_provision_state': None, 'target_raid_config': {}, 'vendor_interface': 'fake', 'links': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'rel': 'bookmark'}], 'chassis_uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'ports': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports', 'rel': 'bookmark'}], 'states': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states', 'rel': 'bookmark'}], 'portgroups': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups', 'rel': 'bookmark'}], 'volume': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume', 'rel': 'bookmark'}]} DEBUG util.py:445: POST: /v1/nodes {'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'instance_uuid': None, 'instance_info': {'configdrive': 'TG9yZW0gaXBzdW0gZG9sb3Igc2l0IGFtZXQ=', 'image_url': 'http://example.com/test_image_url', 'foo': 'bar'}, 'driver': 'fake-hardware', 'driver_info': {'foo': 'bar', 'fake_password': 'fakepass'}, 'properties': {'cpu_arch': 'x86_64', 'cpus': '8', 'local_gb': '10', 'memory_mb': '4096'}, 'maintenance': False, 'console_enabled': False, 'extra': {}, 'chassis_uuid': 0} DEBUG util.py:445: GOT:Response: 400 Bad Request DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-d5408e05-cd52-4ca7-abcf-470f38c90c21 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.1 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Schema error for node: 0 is not of type 'string', 'null' Failed validating 'type' in schema['properties']['chassis_uuid']\", \"debuginfo\": null}"} DEBUG util.py:445: POST: /v1/nodes {'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'instance_uuid': None, 'instance_info': {'configdrive': 'TG9yZW0gaXBzdW0gZG9sb3Igc2l0IGFtZXQ=', 'image_url': 'http://example.com/test_image_url', 'foo': 'bar'}, 'driver': 'fake-hardware', 'driver_info': {'foo': 'bar', 'fake_password': 'fakepass'}, 'properties': {'cpu_arch': 'x86_64', 'cpus': '8', 'local_gb': '10', 'memory_mb': '4096'}, 'maintenance': False, 'console_enabled': False, 'extra': {}, '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-a3ca8478-55b8-4b28-b8da-9c6cffb6ee33 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "created_at": "2024-05-14T11:54:10.886266+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.057843s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_node.TestPost.test_create_node_network_interface_old_api_version [0.034207s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_node.TestPost.test_create_node_owner_old_api_version [0.035279s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_power_state_power_on_valid_timeout_valid_soft_ver [0.040714s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_port.TestListPorts.test_collection_links [0.039404s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_abort_cleanwait [0.045376s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_power_state_soft_power_off_invalid_timeout_no_ver [0.031608s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_port.TestListPorts.test_detail_by_node_name_not_supported [0.024005s] ... ok DEBUG util.py:445: GOT:{'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'created_at': '2024-05-14T11:54:10.886266+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': {}, '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-e3570b2d-ddf5-48d3-9e43-34e8cd1ff859 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.1 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Request not acceptable.\", \"debuginfo\": null}"} DEBUG util.py:445: POST: /v1/nodes {'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'instance_uuid': None, 'instance_info': {'configdrive': 'TG9yZW0gaXBzdW0gZG9sb3Igc2l0IGFtZXQ=', 'image_url': 'http://example.com/test_image_url', 'foo': 'bar'}, 'driver': 'fake-hardware', 'driver_info': {'foo': 'bar', 'fake_password': 'fakepass'}, 'properties': {'cpu_arch': 'x86_64', 'cpus': '8', 'local_gb': '10', 'memory_mb': '4096'}, 'maintenance': False, 'console_enabled': False, 'extra': {}, '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-aa3ff921-8898-4184-a8f4-ea94fb1343f2 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.32 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Request not acceptable.\", \"debuginfo\": null}"} DEBUG util.py:445: POST: /v1/nodes {'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-62f47fb4-92b9-4092-80ec-839d4d8ac3b2 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.10 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"The word \\\"maintenance\\\" is reserved and can not be used as a node name. Reserved words are: maintenance, management, states, vendor_passthru, detail, validate.\", \"debuginfo\": null}"} DEBUG util.py:445: POST: /v1/nodes {'name': 'management', 'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'instance_uuid': None, 'instance_info': {'configdrive': 'TG9yZW0gaXBzdW0gZG9sb3Igc2l0IGFtZXQ=', 'image_url': 'http://example.com/test_image_url', 'foo': 'bar'}, 'driver': 'fake-hardware', 'driver_info': {'foo': 'bar', 'fake_password': 'fakepass'}, 'properties': {'cpu_arch': 'x86_64', 'cpus': '8', 'local_gb': '10', 'memory_mb': '4096'}, 'maintenance': False, 'console_enabled': False, 'extra': {}, 'chassis_uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66'} DEBUG util.py:445: GOT:Response: 400 Bad Request DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-e180ff52-8836-45a3-8352-a01fa8f7d7ef DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.10 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"The word \\\"management\\\" is reserved and can not be used as a node name. Reserved words are: maintenance, management, states, vendor_passthru, detail, validate.\", \"debuginfo\": null}"} DEBUG util.py:445: POST: /v1/nodes {'name': 'states', 'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'instance_uuid': None, 'instance_info': {'configdrive': 'TG9yZW0gaXBzdW0gZG9sb3Igc2l0IGFtZXQ=', 'image_url': 'http://example.com/test_image_url', 'foo': 'bar'}, 'driver': 'fake-hardware', 'driver_info': {'foo': 'bar', 'fake_password': 'fakepass'}, 'properties': {'cpu_arch': 'x86_64', 'cpus': '8', 'local_gb': '10', 'memory_mb': '4096'}, 'maintenance': False, 'console_enabled': False, 'extra': {}, 'chassis_uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66'} DEBUG util.py:445: GOT:Response: 400 Bad Request DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-a01ba922-e5f3-4de7-8f5a-e48549c65d98 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.10 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"The word \\\"states\\\" is reserved and can not be used as a node name. Reserved words are: maintenance, management, states, vendor_passthru, detail, validate.\", \"debuginfo\": null}"} DEBUG util.py:445: POST: /v1/nodes {'name': 'vendor_passthru', 'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'instance_uuid': None, 'instance_info': {'configdrive': 'TG9yZW0gaXBzdW0gZG9sb3Igc2l0IGFtZXQ=', 'image_url': 'http://example.com/test_image_url', 'foo': 'bar'}, 'driver': 'fake-hardware', 'driver_info': {'foo': 'bar', 'fake_password': 'fakepass'}, 'properties': {'cpu_arch': 'x86_64', 'cpus': '8', 'local_gb': '10', 'memory_mb': '4096'}, 'maintenance': False, 'console_enabled': False, 'extra': {}, 'chassis_uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66'} DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_node.TestPost.test_create_node_reserved_name [0.082784s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_power_state_soft_power_off_valid_timeout_invalid_soft_ver [0.030928s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_adopt_from_active_fails [0.062493s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_port.TestListPorts.test_detail_by_node_name_ok [0.033433s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_provision_already_in_state [0.037245s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_port.TestListPorts.test_detail_sort_key_not_allowed [0.022057s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_boot_mode_bios_valid_soft_ver [0.032871s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_port.TestListPorts.test_detail_using_query_and_fields [0.022242s] ... 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-5b7d5002-a26c-44b9-8a13-1438db2246f0 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.10 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"The word \\\"vendor_passthru\\\" is reserved and can not be used as a node name. Reserved words are: maintenance, management, states, vendor_passthru, detail, validate.\", \"debuginfo\": null}"} DEBUG util.py:445: POST: /v1/nodes {'name': 'detail', 'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'instance_uuid': None, 'instance_info': {'configdrive': 'TG9yZW0gaXBzdW0gZG9sb3Igc2l0IGFtZXQ=', 'image_url': 'http://example.com/test_image_url', 'foo': 'bar'}, 'driver': 'fake-hardware', 'driver_info': {'foo': 'bar', 'fake_password': 'fakepass'}, 'properties': {'cpu_arch': 'x86_64', 'cpus': '8', 'local_gb': '10', 'memory_mb': '4096'}, 'maintenance': False, 'console_enabled': False, 'extra': {}, 'chassis_uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66'} DEBUG util.py:445: GOT:Response: 400 Bad Request DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-b0aec777-4634-4dae-ba15-4315d489168b DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.10 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"The word \\\"detail\\\" is reserved and can not be used as a node name. Reserved words are: maintenance, management, states, vendor_passthru, detail, validate.\", \"debuginfo\": null}"} DEBUG util.py:445: POST: /v1/nodes {'name': 'validate', 'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'instance_uuid': None, 'instance_info': {'configdrive': 'TG9yZW0gaXBzdW0gZG9sb3Igc2l0IGFtZXQ=', 'image_url': 'http://example.com/test_image_url', 'foo': 'bar'}, 'driver': 'fake-hardware', 'driver_info': {'foo': 'bar', 'fake_password': 'fakepass'}, 'properties': {'cpu_arch': 'x86_64', 'cpus': '8', 'local_gb': '10', 'memory_mb': '4096'}, 'maintenance': False, 'console_enabled': False, 'extra': {}, 'chassis_uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66'} DEBUG util.py:445: GOT:Response: 400 Bad Request DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-a4605eeb-b70f-4384-9ffe-74e0417d77c0 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.10 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"The word \\\"validate\\\" is reserved and can not be used as a node name. Reserved words are: maintenance, management, states, vendor_passthru, detail, validate.\", \"debuginfo\": null}"} DEBUG util.py:445: POST: /v1/nodes {'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'conductor_group': 'foo', 'instance_uuid': None, 'instance_info': {'configdrive': 'TG9yZW0gaXBzdW0gZG9sb3Igc2l0IGFtZXQ=', 'image_url': 'http://example.com/test_image_url', 'foo': 'bar'}, 'driver': 'fake-hardware', 'driver_info': {'foo': 'bar', 'fake_password': 'fakepass'}, 'properties': {'cpu_arch': 'x86_64', 'cpus': '8', 'local_gb': '10', 'memory_mb': '4096'}, 'maintenance': False, 'console_enabled': False, 'extra': {}, 'chassis_uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66'} DEBUG util.py:445: GOT:Response: 201 Created DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Location: http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 DEBUG util.py:445: Openstack-Request-Id: req-f6789ada-6672-4451-9ac4-8abdb34e4748 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.46 DEBUG util.py:445: {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "created_at": "2024-05-14T11:54:11.094967+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: {0} ironic.tests.unit.api.controllers.v1.test_node.TestPost.test_create_node_specify_conductor_group [0.052567s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_provision_by_name [0.032074s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_port.TestListPorts.test_get_one_custom_fields [0.026942s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_provision_invalid_state_request [0.035987s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_port.TestListPorts.test_get_one_portgroup_is_none [0.026539s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_boot_mode_invalid_request [0.088586s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_provision_node_in_maintenance_fail [0.037700s] ... ok DEBUG util.py:445: GOT:{'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'created_at': '2024-05-14T11:54:11.094967+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', 'instance_uuid': None, 'instance_info': {'configdrive': 'TG9yZW0gaXBzdW0gZG9sb3Igc2l0IGFtZXQ=', 'image_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-ba91918c-1331-45bf-a233-f836652d1f88 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.30 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Request not acceptable.\", \"debuginfo\": null}"} DEBUG util.py:445: POST: /v1/nodes {'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'instance_uuid': None, 'instance_info': {'configdrive': 'TG9yZW0gaXBzdW0gZG9sb3Igc2l0IGFtZXQ=', 'image_url': 'http://example.com/test_image_url', 'foo': 'bar'}, 'driver': 'fake-hardware', 'driver_info': {'foo': 'bar', 'fake_password': 'fakepass'}, 'properties': {'cpu_arch': 'x86_64', 'cpus': '8', 'local_gb': '10', 'memory_mb': '4096'}, 'maintenance': False, 'console_enabled': False, 'extra': {}, 'console_interface': 'fake', 'chassis_uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66'} DEBUG util.py:445: GOT:Response: 406 Not Acceptable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-87d81fae-d343-4e9d-9ac9-c3bfe449358f DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.30 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Request not acceptable.\", \"debuginfo\": null}"} DEBUG util.py:445: POST: /v1/nodes {'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'instance_uuid': None, 'instance_info': {'configdrive': 'TG9yZW0gaXBzdW0gZG9sb3Igc2l0IGFtZXQ=', 'image_url': 'http://example.com/test_image_url', 'foo': 'bar'}, 'driver': 'fake-hardware', 'driver_info': {'foo': 'bar', 'fake_password': 'fakepass'}, 'properties': {'cpu_arch': 'x86_64', 'cpus': '8', 'local_gb': '10', 'memory_mb': '4096'}, 'maintenance': False, 'console_enabled': False, 'extra': {}, 'deploy_interface': 'fake', 'chassis_uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66'} DEBUG util.py:445: GOT:Response: 406 Not Acceptable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-4b846dd0-9787-42a1-8aee-db4cf0b667cf DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.30 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Request not acceptable.\", \"debuginfo\": null}"} DEBUG util.py:445: POST: /v1/nodes {'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'instance_uuid': None, 'instance_info': {'configdrive': 'TG9yZW0gaXBzdW0gZG9sb3Igc2l0IGFtZXQ=', 'image_url': 'http://example.com/test_image_url', 'foo': 'bar'}, 'driver': 'fake-hardware', 'driver_info': {'foo': 'bar', 'fake_password': 'fakepass'}, 'properties': {'cpu_arch': 'x86_64', 'cpus': '8', 'local_gb': '10', 'memory_mb': '4096'}, 'maintenance': False, 'console_enabled': False, 'extra': {}, 'inspect_interface': 'fake', 'chassis_uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66'} DEBUG util.py:445: GOT:Response: 406 Not Acceptable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-65ff4ad4-ff2d-4cc2-bfae-4e606eef6d87 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.30 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Request not acceptable.\", \"debuginfo\": null}"} DEBUG util.py:445: POST: /v1/nodes {'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'instance_uuid': None, 'instance_info': {'configdrive': 'TG9yZW0gaXBzdW0gZG9sb3Igc2l0IGFtZXQ=', 'image_url': 'http://example.com/test_image_url', 'foo': 'bar'}, 'driver': 'fake-hardware', 'driver_info': {'foo': 'bar', 'fake_password': 'fakepass'}, 'properties': {'cpu_arch': 'x86_64', 'cpus': '8', 'local_gb': '10', 'memory_mb': '4096'}, 'maintenance': False, 'console_enabled': False, 'extra': {}, 'management_interface': 'fake', 'chassis_uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66'} DEBUG util.py:445: GOT:Response: 406 Not Acceptable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-b2dce5cb-7c42-445d-800c-3e0502d900da DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.30 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Request not acceptable.\", \"debuginfo\": null}"} DEBUG util.py:445: POST: /v1/nodes {'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'instance_uuid': None, 'instance_info': {'configdrive': 'TG9yZW0gaXBzdW0gZG9sb3Igc2l0IGFtZXQ=', 'image_url': 'http://example.com/test_image_url', 'foo': 'bar'}, 'driver': 'fake-hardware', 'driver_info': {'foo': 'bar', 'fake_password': 'fakepass'}, 'properties': {'cpu_arch': 'x86_64', 'cpus': '8', 'local_gb': '10', 'memory_mb': '4096'}, 'maintenance': False, 'console_enabled': False, 'extra': {}, 'power_interface': 'fake', 'chassis_uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66'} DEBUG util.py:445: GOT:Response: 406 Not Acceptable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-eff420da-a969-4150-892d-12414e27fd1c DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.30 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Request not acceptable.\", \"debuginfo\": null}"} DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_node.TestPost.test_create_node_specify_interfaces_bad_version [0.139612s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_clean [0.081248s] ... 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-ed63a9bd-6959-43e9-95ad-fee2b7b62f31 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.1 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"The requested action \\\"deleted\\\" can not be performed on node \\\"1be26c0b-03f2-4d2e-ae87-c02d7f33c123\\\" while it is in state \\\"adopt failed\\\".\", \"debuginfo\": null}"} DEBUG util.py:445: PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/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-b1e64c36-fe18-4a41-9dcb-4ead9e8fc982 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.70 DEBUG util.py:445: PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/management/inject_nmi {} DEBUG util.py:445: GOT:Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-0c5ae307-f80a-4fcb-b1ff-0cb95fb1b601 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.28 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Resource could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/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-fe677c36-f5b8-41dd-a7ec-9fe6fbd57596 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.29 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Driver test-driver does not support management (disabled or not implemented).\", \"debuginfo\": null}"} DEBUG util.py:445: PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/provision {'target': '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-e5aa5cb8-0413-419f-826d-fce4d80dbd46 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.41 DEBUG util.py:445: PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/provision {'target': '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-b5af379e-e158-4f50-afef-e43fdd01a109 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.17 DEBUG util.py:445: PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/provision {'target': '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-bc4ef8fc-5792-412d-bfae-4b702d4bd252 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.4 DEBUG util.py:445: PUT: /v1/nodes/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-0f7db960-c7ee-4ebc-8c01-12b06206cfd2 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.26 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"timeout has to be positive integer\", \"debuginfo\": null}"} DEBUG util.py:445: PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/power {'target': 'power on'} DEBUG util.py:445: GOT:Response: 202 Accepted DEBUG util.py:445: Location: http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states DEBUG util.py:445: Openstack-Request-Id: req-86141669-e409-4751-aa9e-9aa1d5fdb5cc DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.1 DEBUG util.py:445: PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/power {'target': '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-dbfc813b-b8eb-438e-a207-791c33eed06a DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.27 DEBUG util.py:445: PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/power {'target': '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-bf4fea39-ea90-4849-92ac-b853d7818707 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.27 DEBUG util.py:445: PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/power {'target': 'soft power off', 'timeout': 0} DEBUG util.py:445: GOT:Response: 406 Not Acceptable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-4333635a-7909-4778-94d4-35f8bc930d03 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.1 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Request not acceptable.\", \"debuginfo\": null}"} DEBUG util.py:445: PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/power {'target': 'soft power off', 'timeout': 2} DEBUG util.py:445: GOT:Response: 406 Not Acceptable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-b78bb90b-ffad-42c7-afe8-131e53193f88 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.26 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Request not acceptable.\", \"debuginfo\": null}"} DEBUG util.py:445: PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/provision {'target': 'active'} DEBUG util.py:445: GOT:Response: 400 Bad Request DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-e8981469-be85-48bb-a4c3-6b7810ec7b30 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.1 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"The requested action \\\"active\\\" can not be performed on node \\\"1be26c0b-03f2-4d2e-ae87-c02d7f33c123\\\" while it is in state \\\"active\\\".\", \"debuginfo\": null}"} DEBUG util.py:445: PUT: /v1/nodes/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-aab5035a-57c5-4f68-9183-a3c8a82d86b3 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.5 DEBUG util.py:445: PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/provision {'target': '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-2785ec6e-ce89-4fd2-adb4-bad63406ef27 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.1 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"The requested action \\\"not-supported\\\" can not be performed on node \\\"1be26c0b-03f2-4d2e-ae87-c02d7f33c123\\\" while it is in state \\\"available\\\".\", \"debuginfo\": null}"} DEBUG util.py:445: PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/provision {'target': 'active'} DEBUG util.py:445: GOT:Response: 400 Bad Request DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-4e57b7ab-c186-4281-987f-5e79393f3892 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.1 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"The provisioning operation can't be performed on node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 because it's in maintenance mode.\", \"debuginfo\": null}"} DEBUG util.py:445: PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/provision {'target': 'rescue', 'rescue_password': 'password'} DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_provision_rescue_in_disallowed_states [0.062458s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_provision_with_deploy_configdrive_invalid_type [0.034442s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_port.TestListPorts.test_hide_fields_in_newer_versions_advanced_net [0.141804s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_node.TestPost.test_create_node_with_internal_field [0.101028s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_clean_check_steps_fail [0.080180s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_provision_with_deploy_configdrive_url [0.044360s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_port.TestListPorts.test_hide_fields_in_newer_versions_internal_info [0.067626s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_provision_with_tear_down_in_progress_deploywait [0.037795s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_power_state_by_name_unsupported [0.048298s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_node.TestPost.test_post_portgroups_subresource [0.060175s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_secure_boot_invalid_request_boo [0.029945s] ... 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-75d09a0b-f32e-444f-a801-8ac19eadd7c5 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.36 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Request not acceptable.\", \"debuginfo\": null}"} DEBUG util.py:445: PUT: /v1/nodes/node-39/traits {'traits': ['CUSTOM_3']} DEBUG util.py:445: GOT:Response: 204 No Content DEBUG util.py:445: Openstack-Request-Id: req-449366cc-fa63-4e03-8479-0742e2861b3e DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.37 DEBUG util.py:445: PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/traits {'traits': []} DEBUG util.py:445: GOT:Response: 405 Method Not Allowed DEBUG util.py:445: Allow: DELETE, GET, PATCH, POST DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: {"error_message": "{\"code\": 405, \"title\": \"Method Not Allowed\", \"description\": \"\"}"} DEBUG util.py:445: DELETE: /v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4/ports/03c6e7ca-9703-4f99-b7ad-40ca2f97c995 DEBUG util.py:445: GOT:Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-582426ff-891d-48bb-a787-945c5de71b10 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.24 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Operation not permitted.\", \"debuginfo\": null}"} DEBUG util.py:445: GET: /v1/ports/?limit=3 {} DEBUG util.py:445: GOT:{'ports': [{'uuid': '656c9dd1-4228-430f-9797-ed8a1748a77c', 'address': '52:54:00:cf:2d:30', 'links': [{'href': 'http://localhost/v1/ports/656c9dd1-4228-430f-9797-ed8a1748a77c', 'rel': 'self'}, {'href': 'http://localhost/ports/656c9dd1-4228-430f-9797-ed8a1748a77c', 'rel': 'bookmark'}]}, {'uuid': 'ab26801b-be9f-4cff-a3e9-bebfe0fb83c6', 'address': '52:54:00:cf:2d:31', 'links': [{'href': 'http://localhost/v1/ports/ab26801b-be9f-4cff-a3e9-bebfe0fb83c6', 'rel': 'self'}, {'href': 'http://localhost/ports/ab26801b-be9f-4cff-a3e9-bebfe0fb83c6', 'rel': 'bookmark'}]}, {'uuid': '6a4c7a31-93fd-4246-8399-7f2caf112c10', 'address': '52:54:00:cf:2d:32', 'links': [{'href': 'http://localhost/v1/ports/6a4c7a31-93fd-4246-8399-7f2caf112c10', 'rel': 'self'}, {'href': 'http://localhost/ports/6a4c7a31-93fd-4246-8399-7f2caf112c10', 'rel': 'bookmark'}]}], 'next': 'http://localhost/v1/ports?sort_key=id&sort_dir=asc&fields=uuid,address&limit=3&marker=6a4c7a31-93fd-4246-8399-7f2caf112c10'} 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-576f5f85-15f9-41e1-ae9a-a420d3dcc70f DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.1 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Request not acceptable.\", \"debuginfo\": null}"} DEBUG util.py:445: GET: /v1/ports/detail?node=test-node {} DEBUG util.py:445: GOT:{'ports': [{'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'created_at': '2024-05-14T11:54:11.065561+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?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-98c5b046-6524-4f88-b921-704026395f35 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.18 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Request not acceptable.\", \"debuginfo\": null}"} DEBUG util.py:445: GET: /v1/ports?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-e76689fa-5b64-4aa5-82d6-468b9343ebc7 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Can not specify ?detail=True and fields in the same request.\", \"debuginfo\": null}"} DEBUG util.py:445: GET: /v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781?fields=address,extra {} DEBUG util.py:445: GOT:{'address': '52:54:00:cf:2d:31', 'extra': {}, 'links': [{'href': 'http://localhost/v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'rel': 'self'}, {'href': 'http://localhost/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'rel': 'bookmark'}]} DEBUG util.py:445: GET: /v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 {} DEBUG util.py:445: GOT:{'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'created_at': '2024-05-14T11:54:11.164780+00:00', 'updated_at': None, 'address': '52:54:00:cf:2d:31', 'extra': {}, 'internal_info': {'bar': 'buzz'}, 'local_link_connection': {'switch_id': '0a:1b:2c:3d:4e:5f', 'port_id': 'Ethernet3/1', 'switch_info': 'switch1'}, 'pxe_enabled': True, 'links': [{'href': 'http://localhost/v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'rel': 'self'}, {'href': 'http://localhost/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'rel': 'bookmark'}], 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'portgroup_uuid': None} DEBUG util.py:445: GET: /v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 {} DEBUG util.py:445: GOT:{'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'created_at': '2024-05-14T11:54:11.244349+00:00', 'updated_at': None, 'address': '52:54:00:cf:2d:31', 'extra': {}, 'internal_info': {'bar': 'buzz'}, 'links': [{'href': 'http://localhost/v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'rel': 'self'}, {'href': 'http://localhost/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'rel': 'bookmark'}], 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123'} DEBUG util.py:445: GET: /v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 {} DEBUG util.py:445: GOT:{'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'created_at': '2024-05-14T11:54:11.244349+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': '2024-05-14T11:54:11.355903+00:00', 'updated_at': None, 'address': '52:54:00:cf:2d:31', 'extra': {}, 'links': [{'href': 'http://localhost/v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'rel': 'self'}, {'href': 'http://localhost/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'rel': 'bookmark'}], 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123'} DEBUG util.py:445: GET: /v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 {} DEBUG util.py:445: GOT:{'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'created_at': '2024-05-14T11:54:11.355903+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/b2617158-a8e8-4cd5-8c8e-819a3c2a96e5 {} DEBUG util.py:445: GOT:{'uuid': 'b2617158-a8e8-4cd5-8c8e-819a3c2a96e5', 'created_at': '2024-05-14T11:54:11.402068+00:00', 'updated_at': None, 'address': '52:54:00:cf:2d:31', 'extra': {}, 'links': [{'href': 'http://localhost/v1/ports/b2617158-a8e8-4cd5-8c8e-819a3c2a96e5', 'rel': 'self'}, {'href': 'http://localhost/ports/b2617158-a8e8-4cd5-8c8e-819a3c2a96e5', 'rel': 'bookmark'}], 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123'} DEBUG util.py:445: GET: /v1/ports/b2617158-a8e8-4cd5-8c8e-819a3c2a96e5 {} DEBUG util.py:445: GOT:{'uuid': 'b2617158-a8e8-4cd5-8c8e-819a3c2a96e5', 'created_at': '2024-05-14T11:54:11.402068+00:00', 'updated_at': None, 'address': '52:54:00:cf:2d:31', 'extra': {}, 'links': [{'href': 'http://localhost/v1/ports/b2617158-a8e8-4cd5-8c8e-819a3c2a96e5', 'rel': 'self'}, {'href': 'http://localhost/ports/b2617158-a8e8-4cd5-8c8e-819a3c2a96e5', 'rel': 'bookmark'}], 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123'} DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_port.TestListPorts.test_links [0.041389s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_node.TestPost.test_post_volume_connectors_subresource_no_node_id [0.024756s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_node.TestPost.test_vendor_passthru_by_name [0.030291s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_secure_boot_on_invalid_request_two [0.031639s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_set_boot_device_by_name [0.033109s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_node.TestPost.test_vendor_passthru_no_such_method [0.027271s] ... 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-fa1f235a-a4f7-408d-bcca-0356fa3bf1f4 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.1 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Request not acceptable.\", \"debuginfo\": null}"} DEBUG util.py:445: POST: /v1/nodes {'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'instance_uuid': None, 'instance_info': {'configdrive': 'TG9yZW0gaXBzdW0gZG9sb3Igc2l0IGFtZXQ=', 'image_url': 'http://example.com/test_image_url', 'foo': 'bar'}, 'driver': 'fake-hardware', 'driver_info': {'foo': 'bar', 'fake_password': 'fakepass'}, 'properties': {'cpu_arch': 'x86_64', 'cpus': '8', 'local_gb': '10', 'memory_mb': '4096'}, 'maintenance': False, 'console_enabled': False, 'extra': {}, '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-6fffbcc7-3aba-4cdc-9a70-8006cf086d4c DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.48 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Schema error for node: Additional properties are not allowed ('protected' was unexpected) Failed validating 'additionalProperties' in schema\", \"debuginfo\": null}"} DEBUG util.py:445: POST: /v1/nodes {'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'instance_uuid': None, 'instance_info': {'configdrive': 'TG9yZW0gaXBzdW0gZG9sb3Igc2l0IGFtZXQ=', 'image_url': 'http://example.com/test_image_url', 'foo': 'bar'}, 'driver': 'fake-hardware', 'driver_info': {'foo': 'bar', 'fake_password': 'fakepass'}, 'properties': {'cpu_arch': 'x86_64', 'cpus': '8', 'local_gb': '10', 'memory_mb': '4096'}, 'maintenance': False, 'console_enabled': False, 'extra': {}, 'resource_class': 'foo', 'chassis_uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66'} DEBUG util.py:445: GOT:Response: 406 Not Acceptable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-62f54c15-d898-4274-90ce-d3418b94bc58 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.1 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Request not acceptable.\", \"debuginfo\": null}"} DEBUG util.py:445: POST: /v1/nodes {'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', '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-3b9daab1-9546-4060-b5dc-131695f4f6c6 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.45 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Request not acceptable.\", \"debuginfo\": null}"} DEBUG util.py:445: POST: /v1/nodes/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-97a78e5a-f7a6-4f3c-89a7-6ece0c884333 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.1 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Operation not permitted.\", \"debuginfo\": null}"} DEBUG util.py:445: POST: /v1/nodes/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-34d35b2c-457b-4299-ab90-cdfd803c40a6 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Operation not permitted.\", \"debuginfo\": null}"} DEBUG util.py:445: GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/vendor_passthru/do_test {} DEBUG util.py:445: GOT:foo DEBUG util.py:445: GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/vendor_passthru/methods {} DEBUG util.py:445: GOT:{'foo': 'bar'} DEBUG util.py:445: GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/vendor_passthru/methods {} DEBUG util.py:445: GOT:{'foo': 'bar'} DEBUG util.py:445: 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-8fb4a04e-870a-4656-8e12-90fd83836333 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.13 DEBUG util.py:445: PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/provision {'target': '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-42947732-3a3e-42bf-9d78-16c6a60ddbbb DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.17 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"The requested action \\\"adopt\\\" can not be performed on node \\\"1be26c0b-03f2-4d2e-ae87-c02d7f33c123\\\" while it is in state \\\"active\\\".\", \"debuginfo\": null}"} DEBUG util.py:445: PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/boot_mode {'target': 'bios'} DEBUG util.py:445: GOT:Response: 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-19a03c31-e5b9-4f54-a3d1-68d60d195bcf DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.76 DEBUG util.py:445: PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/boot_mode {'target': 'unsupported-efi'} DEBUG util.py:445: GOT:Response: 400 Bad Request DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-0e36b079-08ef-40db-b382-41b2ee468024 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.76 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Invalid boot mode unsupported-efi requested for node. Allowed boot modes are: bios, uefi\", \"debuginfo\": null}"} DEBUG util.py:445: PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/provision {'target': 'clean', '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-0ab120c5-b373-4194-b4c5-25464f5a90c0 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.15 DEBUG util.py:445: PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/provision {'target': 'clean', 'clean_steps': [{'step': 'upgrade_firmware', 'interface': 'deploy'}]} DEBUG util.py:445: GOT:Response: 400 Bad Request DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-8794e6f7-7c42-4704-8662-7f350277ce45 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.15 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"bad\", \"debuginfo\": null}"} DEBUG util.py:445: PUT: /v1/nodes/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-91c0e696-a67b-4250-93af-319e8fc7d0bb DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.1 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node node-39 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_power_state_power_on_invalid_timeout_valid_soft_ver [0.056751s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_power_state_power_on_no_timeout_invalid_soft_ver [0.029847s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_node.TestPost.test_vendor_passthru_without_method [0.024440s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_set_boot_device_persistent [0.037426s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_power_state_power_on_valid_timeout_no_ver [0.030907s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_port.TestListPorts.test_links_public_url [0.109101s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_set_console_mode_disabled [0.040379s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_adopt_from_manage [0.035857s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_adopt_raises_error_before_1_17 [0.031700s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_set_indicator_state [0.033858s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_port.TestListPorts.test_list_detailed_with_deleted_node [0.062024s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_port.TestListPorts.test_list_non_admin_forbidden_no_project [0.025395s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_set_indicator_state_not_supported [0.034550s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_bad_requests_in_adopting_state [0.053691s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_port.TestListPorts.test_port_by_address [0.028398s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_set_node_maintenance_mode_by_name [0.032372s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_port.TestListPorts.test_portgroups_subresource_invalid_ident [0.022383s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_power_state_soft_power_off_invalid_timeout_invalid_soft_ver [0.164100s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_port.TestListPorts.test_portgroups_subresource_node_not_found [0.021924s] ... 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': {}, 'raid_interface': 'fake', 'chassis_uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66'} DEBUG util.py:445: GOT:Response: 406 Not Acceptable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-3dd9d76f-309c-4ea6-935e-9e6cf5c92059 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.30 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Request not acceptable.\", \"debuginfo\": null}"} DEBUG util.py:445: POST: /v1/nodes {'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'instance_uuid': None, 'instance_info': {'configdrive': 'TG9yZW0gaXBzdW0gZG9sb3Igc2l0IGFtZXQ=', 'image_url': 'http://example.com/test_image_url', 'foo': 'bar'}, 'driver': 'fake-hardware', 'driver_info': {'foo': 'bar', 'fake_password': 'fakepass'}, 'properties': {'cpu_arch': 'x86_64', 'cpus': '8', 'local_gb': '10', 'memory_mb': '4096'}, 'maintenance': False, 'console_enabled': False, 'extra': {}, 'vendor_interface': 'fake', 'chassis_uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66'} DEBUG util.py:445: GOT:Response: 406 Not Acceptable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-5ff3ed67-40b8-47b7-9061-a68e2f1c919d DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.30 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Request not acceptable.\", \"debuginfo\": null}"} DEBUG util.py:445: POST: /v1/nodes {'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'instance_uuid': None, 'instance_info': {'configdrive': 'TG9yZW0gaXBzdW0gZG9sb3Igc2l0IGFtZXQ=', 'image_url': 'http://example.com/test_image_url', 'foo': 'bar'}, 'driver': 'fake-hardware', 'driver_info': {'foo': 'bar', 'fake_password': 'fakepass'}, 'properties': {'cpu_arch': 'x86_64', 'cpus': '8', 'local_gb': '10', 'memory_mb': '4096'}, 'maintenance': False, 'console_enabled': False, 'extra': {}, '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-42c778b4-f8e4-4ce6-b0a0-c4550b48858b DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.1 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Schema error for node: Additional properties are not allowed ('reservation' was unexpected) Failed validating 'additionalProperties' in schema\", \"debuginfo\": null}"} 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-687fd304-05b9-42ef-85df-dc3ba58bf1e9 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.24 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Operation not permitted.\", \"debuginfo\": null}"} DEBUG util.py:445: POST: /v1/nodes/volume/connectors {'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'type': 'iqn', 'connector_id': 'iqn.2012-06.com.example:initiator', 'extra': {}, 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123'} DEBUG util.py:445: GOT:Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: {"error_message": "{\"code\": 404, \"title\": \"Not Found\", \"description\": \"\"}"} DEBUG util.py:445: POST: /v1/nodes/node-109/vendor_passthru/test {'foo': 'bar'} DEBUG util.py:445: GOT:Response: 202 Accepted DEBUG util.py:445: Openstack-Request-Id: req-8376c355-99e0-44be-bd18-e9b5ba44b25a DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.5 DEBUG util.py:445: 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-a5389f90-0f87-4de2-8f51-7a831cfed468 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.1 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Driver fake-hardware does not support test (disabled or not implemented).\", \"debuginfo\": null}"} DEBUG util.py:445: POST: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/vendor_passthru {'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-3f5365c3-ab5e-49b9-adb2-dab1ea3c2aef DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.1 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Missing mandatory parameter: method\", \"debuginfo\": null}"} DEBUG util.py:445: PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/provision {'target': 'adopt'} DEBUG util.py:445: GOT:Response: 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-c7ff824c-5ffc-4a10-8a13-867606532644 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.17 DEBUG util.py:445: PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/provision {'target': 'adopt'} DEBUG util.py:445: GOT:Response: 406 Not Acceptable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-d36faa76-bcff-48a6-8f1d-165bdc1b0e1b DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.16 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Request not acceptable.\", \"debuginfo\": null}"} DEBUG util.py:445: PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/provision {'target': 'active'} DEBUG util.py:445: GOT:Response: 400 Bad Request DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-335567f2-5817-4280-9c42-d6d6433ea4fa DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.1 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"The requested action \\\"active\\\" can not be performed on node \\\"1be26c0b-03f2-4d2e-ae87-c02d7f33c123\\\" while it is in state \\\"adopting\\\".\", \"debuginfo\": null}"} DEBUG util.py:445: PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/provision {'target': 'rebuild'} DEBUG util.py:445: GOT:Response: 400 Bad Request DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-6f992a8b-9d90-4ef0-9243-3c60c8046e9e DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.1 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"The requested action \\\"rebuild\\\" can not be performed on node \\\"1be26c0b-03f2-4d2e-ae87-c02d7f33c123\\\" while it is in state \\\"adopting\\\".\", \"debuginfo\": null}"} DEBUG util.py:445: PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/provision {'target': 'deleted'} DEBUG util.py:445: GOT:Response: 400 Bad Request DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-0cc1115b-ac4e-4f1a-8749-4bd793cb6287 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.1 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"The requested action \\\"deleted\\\" can not be performed on node \\\"1be26c0b-03f2-4d2e-ae87-c02d7f33c123\\\" while it is in state \\\"adopting\\\".\", \"debuginfo\": null}"} DEBUG util.py:445: PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/provision {'target': 'active'} DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_bad_requests_in_managed_state [0.044961s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_inspect_validation_failed_missing_parameter_value [0.036073s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_power_state_soft_power_off_valid_timeout_no_ver [0.030801s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_node.TestTraits.test_add_single_trait_fails_max_trait_limit [0.060474s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_port.TestListPorts.test_sort_key_allowed [0.031636s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_node.TestTraits.test_delete_trait_fails_if_node_not_found [0.038099s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_provision_unexpected_rescue_password [0.034439s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_inspect_validation_failed_status_code [0.035817s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_port.TestListPorts.test_sort_key_invalid [0.034542s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_port.TestListPorts.test_sort_key_not_allowed [0.021944s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_provision_with_deploy_deploy_steps [0.031521s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_power_invalid_state_request [0.032304s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_node.TestTraits.test_delete_trait_fails_if_trait_not_found [0.031072s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_port.TestPatch.test_add_root_non_existent [0.024191s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_provision_with_deploy_deploy_steps_fail [0.029735s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_power_state_by_name [0.033209s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_provision_with_rebuild [0.032408s] ... 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-1f982912-60c3-4c1b-91dc-ebcc4ded2267 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.38 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 is locked by host fake-host, please retry after the current operation is completed.\", \"debuginfo\": null}"} DEBUG util.py:445: PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/provision {'target': 'rescue', 'rescue_password': 'password'} DEBUG util.py:445: GOT:Response: 409 Conflict DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-a8244cfa-03c6-40f2-9eed-70f42c89a6ab DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.38 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 is locked by host fake-host, please retry after the current operation is completed.\", \"debuginfo\": null}"} DEBUG util.py:445: PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/provision {'target': 'rescue', 'rescue_password': 'password'} DEBUG util.py:445: GOT:Response: 409 Conflict DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-63b3ac50-2a7e-4662-b831-1c257c4aa979 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.38 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 is locked by host fake-host, please retry after the current operation is completed.\", \"debuginfo\": null}"} DEBUG util.py:445: PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/provision {'target': 'rescue', 'rescue_password': 'password'} DEBUG util.py:445: GOT:Response: 409 Conflict DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-238140fc-9484-455b-be78-aa25170f1a14 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.38 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 is locked by host fake-host, please retry after the current operation is completed.\", \"debuginfo\": null}"} DEBUG util.py:445: PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/provision {'target': 'active', '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-3f951879-a314-46b6-888c-ce5bb0b091f3 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.60 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Expected types , , for configdrive: ['aabb']\", \"debuginfo\": null}"} DEBUG util.py:445: PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/provision {'target': 'active', '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-83b007db-a2ed-4c5f-b281-72f83d02af4c DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.1 DEBUG util.py:445: PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/provision {'target': '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-d86e25db-6db8-42a0-b552-a3ae7145b2f2 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.1 DEBUG util.py:445: PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/secure_boot {'target': 'boo!'} DEBUG util.py:445: GOT:Response: 400 Bad Request DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-870a685e-456b-45ac-80ab-1ee2f3f67cde DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.76 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Invalid target: Unrecognized value 'boo!', acceptable values are: '0', '1', 'f', 'false', 'n', 'no', 'off', 'on', 't', 'true', 'y', 'yes'\", \"debuginfo\": null}"} DEBUG util.py:445: PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/secure_boot {'target': 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-478ca63d-d073-4c21-aca6-b4990bea524f DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.76 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Invalid target: Unrecognized value '2', acceptable values are: '0', '1', 'f', 'false', 'n', 'no', 'off', 'on', 't', 'true', 'y', 'yes'\", \"debuginfo\": null}"} DEBUG util.py:445: PUT: /v1/nodes/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-44802e6b-1acf-45bc-a8e4-79097b816199 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.5 DEBUG util.py:445: PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/management/boot_device?persistent=True {'boot_device': 'pxe'} DEBUG util.py:445: GOT:Response: 204 No Content DEBUG util.py:445: Openstack-Request-Id: req-050b6d28-1c64-4043-a4f1-495b5aca4030 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.1 DEBUG util.py:445: PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/console {'enabled': '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-0eb9f679-c058-44cb-8050-3ae2c5f492e4 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.1 DEBUG util.py:445: PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/management/indicators/led@system {'state': 'on'} DEBUG util.py:445: GOT:Response: 204 No Content DEBUG util.py:445: Openstack-Request-Id: req-cffead6b-6fc0-4e1d-bff2-0cca72fc4e88 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.1 DEBUG util.py:445: PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/management/indicators/led@system {'state': 'on'} DEBUG util.py:445: GOT:Response: 400 Bad Request DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-1d5bb39a-3764-4c6a-8087-79a54c78b24b DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.1 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Driver test-driver does not support management (disabled or not implemented).\", \"debuginfo\": null}"} DEBUG util.py:445: PUT: /v1/nodes/node-39/maintenance {'reason': 'fake_reason'} DEBUG util.py:445: GOT:Response: 202 Accepted DEBUG util.py:445: Openstack-Request-Id: req-e5918cc7-bb7f-470d-84f2-355ae6d4a257 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.5 DEBUG util.py:445: PUT: /v1/nodes/node-39/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-f87b5187-50bb-45d3-bc1c-bb89901e72c9 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.37 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"too many traits\", \"debuginfo\": null}"} DEBUG util.py:445: 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-edc130a7-bc3d-4775-93b1-5c241b3d022c DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.37 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: DELETE: /v1/nodes/node-39/traits/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-bd3373a5-db92-4836-8e4c-0096cb5cf63e DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.37 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 doesn't have a trait 'CUSTOM_12'\", \"debuginfo\": null}"} DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_node.TestTraits.test_get_all_traits [0.033780s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_node.TestTraits.test_set_all_traits_empty [0.031445s] ... 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.030944s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_port.TestPatch.test_invalid_physnet_non_text [0.053706s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_provision_with_tear_down [0.031549s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_power_state_power_on_valid_timeout_invalid_soft_ver [0.031836s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_port.TestPatch.test_invalid_physnet_too_long [0.027584s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_node.TestTraits.test_set_all_traits_rejects_too_long_trait [0.040008s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_put_raid [0.029364s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_power_state_soft_power_off_no_timeout_invalid_soft_ver [0.031928s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_node.TestTraits.test_set_all_traits_with_chassis [0.063341s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_put_raid_invalid_parameter_value [0.030209s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_secure_boot_invalid_request_None [0.029212s] ... 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.030226s] ... ok DEBUG util.py:445: GET: /ports/b2617158-a8e8-4cd5-8c8e-819a3c2a96e5 {} DEBUG util.py:445: GOT:{'uuid': 'b2617158-a8e8-4cd5-8c8e-819a3c2a96e5', 'created_at': '2024-05-14T11:54:11.402068+00:00', 'updated_at': None, 'address': '52:54:00:cf:2d:31', 'extra': {}, 'links': [{'href': 'http://localhost/v1/ports/b2617158-a8e8-4cd5-8c8e-819a3c2a96e5', 'rel': 'self'}, {'href': 'http://localhost/ports/b2617158-a8e8-4cd5-8c8e-819a3c2a96e5', 'rel': 'bookmark'}], 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123'} DEBUG util.py:445: GET: /v1/ports/8afa70c3-9874-426b-bc0f-273c65da8aed {} DEBUG util.py:445: GOT:{'uuid': '8afa70c3-9874-426b-bc0f-273c65da8aed', 'created_at': '2024-05-14T11:54:11.454077+00:00', 'updated_at': None, 'address': '52:54:00:cf:2d:31', 'extra': {}, 'links': [{'href': 'http://foo/v1/ports/8afa70c3-9874-426b-bc0f-273c65da8aed', 'rel': 'self'}, {'href': 'http://foo/ports/8afa70c3-9874-426b-bc0f-273c65da8aed', 'rel': 'bookmark'}], 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123'} DEBUG util.py:445: GET: /v1/ports/8afa70c3-9874-426b-bc0f-273c65da8aed {} DEBUG util.py:445: GOT:{'uuid': '8afa70c3-9874-426b-bc0f-273c65da8aed', 'created_at': '2024-05-14T11:54:11.454077+00:00', 'updated_at': None, 'address': '52:54:00:cf:2d:31', 'extra': {}, 'links': [{'href': 'http://foo/v1/ports/8afa70c3-9874-426b-bc0f-273c65da8aed', 'rel': 'self'}, {'href': 'http://foo/ports/8afa70c3-9874-426b-bc0f-273c65da8aed', 'rel': 'bookmark'}], 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123'} DEBUG util.py:445: GET: /ports/8afa70c3-9874-426b-bc0f-273c65da8aed {} DEBUG util.py:445: GOT:{'uuid': '8afa70c3-9874-426b-bc0f-273c65da8aed', 'created_at': '2024-05-14T11:54:11.454077+00:00', 'updated_at': None, 'address': '52:54:00:cf:2d:31', 'extra': {}, 'links': [{'href': 'http://foo/v1/ports/8afa70c3-9874-426b-bc0f-273c65da8aed', 'rel': 'self'}, {'href': 'http://foo/ports/8afa70c3-9874-426b-bc0f-273c65da8aed', 'rel': 'bookmark'}], 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123'} DEBUG util.py:445: GET: /v1/ports/detail {} DEBUG util.py:445: GOT:{'ports': [{'uuid': 'e1436866-4cd4-4da4-aab4-fdc3bf1840f1', 'created_at': '2024-05-14T11:54:11.566535+00:00', 'updated_at': None, 'address': '66:44:55:33:11:22', 'extra': {}, 'links': [{'href': 'http://localhost/v1/ports/e1436866-4cd4-4da4-aab4-fdc3bf1840f1', 'rel': 'self'}, {'href': 'http://localhost/ports/e1436866-4cd4-4da4-aab4-fdc3bf1840f1', '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-934c6db8-4701-420b-abf7-14cd114b6ae5 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.1 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: fake\", \"debuginfo\": null}"} DEBUG util.py:445: GET: /v1/ports?address=aa:bb:cc:dd:ee:f1 {} DEBUG util.py:445: GOT:{'ports': [{'uuid': 'a5460ce7-b16f-4ac2-906e-bef1e5be1b99', 'address': 'aa:bb:cc:dd:ee:f1', 'links': [{'href': 'http://localhost/v1/ports/a5460ce7-b16f-4ac2-906e-bef1e5be1b99', 'rel': 'self'}, {'href': 'http://localhost/ports/a5460ce7-b16f-4ac2-906e-bef1e5be1b99', '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: GET: /v1/portgroups/eeeeeeee-cccc-aaaa-bbbb-cccccccccccc/ports {} DEBUG util.py:445: GOT:Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: {"error_message": "{\"code\": 404, \"title\": \"Not Found\", \"description\": \"\"}"} DEBUG util.py:445: GET: /v1/ports?sort_key=pxe_enabled {} DEBUG util.py:445: GOT:{'ports': [{'uuid': 'b18d2e96-1d71-4b54-82a2-0fe244d25eb5', 'address': '52:54:00:cf:2d:30', 'links': [{'href': 'http://localhost/v1/ports/b18d2e96-1d71-4b54-82a2-0fe244d25eb5', 'rel': 'self'}, {'href': 'http://localhost/ports/b18d2e96-1d71-4b54-82a2-0fe244d25eb5', 'rel': 'bookmark'}]}, {'uuid': '00d3b49e-180a-4b3c-8271-c9272591cfba', 'address': '52:54:00:cf:2d:31', 'links': [{'href': 'http://localhost/v1/ports/00d3b49e-180a-4b3c-8271-c9272591cfba', 'rel': 'self'}, {'href': 'http://localhost/ports/00d3b49e-180a-4b3c-8271-c9272591cfba', '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-d9f0b393-1b19-4f7f-9897-2cc412829243 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"The sort_key value \\\"foo\\\" is an invalid field for sorting\", \"debuginfo\": null}"} DEBUG util.py:445: GET: /v1/ports?sort_key=extra {} DEBUG util.py:445: GOT:Response: 400 Bad Request DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-9e0b8afe-d189-42e5-814d-1249ed482878 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"The sort_key value extra is an invalid field for sorting\", \"debuginfo\": null}"} DEBUG util.py:445: GET: /v1/ports?sort_key=internal_info {} DEBUG util.py:445: GOT:Response: 400 Bad Request DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-e38518f9-44f6-4824-bcab-358b90112e22 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"The sort_key value internal_info is an invalid field for sorting\", \"debuginfo\": null}"} DEBUG util.py:445: GET: /v1/ports?sort_key=local_link_connection {} DEBUG util.py:445: GOT:Response: 400 Bad Request DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-c3215bd0-672e-4c35-a568-d8d48b9a19aa DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"The sort_key value local_link_connection is an invalid field for sorting\", \"debuginfo\": null}"} DEBUG util.py:445: 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-2d61e6d3-68f1-4c00-910d-c6450929ea20 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.18 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Request not acceptable.\", \"debuginfo\": null}"} DEBUG util.py:445: PATCH: /v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 [{'path': '/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-896a331e-a180-47a4-bc75-ea9c2a550529 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.1 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Cannot patch /foo. Only the following can be updated: address, extra, is_smartnic, local_link_connection, node_uuid, physical_network, portgroup_uuid, pxe_enabled\", \"debuginfo\": null}"} DEBUG util.py:445: PATCH: /v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 [{'path': '/physical_network', 'value': 1234, 'op': 'replace'}] DEBUG util.py:445: GOT:Response: 400 Bad Request DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-e5040f90-8b39-4987-837b-6cf46e58a7da DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Schema error for patch: 1234 is not of type 'string', 'null' Failed validating 'type' in schema['properties']['physical_network']\", \"debuginfo\": null}"} DEBUG util.py:445: PATCH: /v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 [{'path': '/physical_network', 'value': 'ppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppp', 'op': 'replace'}] DEBUG util.py:445: GOT:Response: 400 Bad Request DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-719a80b1-96fa-407b-a788-6dffb5ea097c DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Schema error for patch: 'ppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppp' is too long Failed validating 'maxLength' in schema['properties']['physical_network']\", \"debuginfo\": null}"} DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_port.TestPatch.test_remove_local_link_connection_network_type_old_api [0.024441s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_port.TestPatch.test_remove_physical_network_old_api_version [0.026428s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_port.TestPatch.test_replace_address_already_exist [0.029777s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_power_state_soft_power_off_valid_timeout_valid_soft_ver [0.031450s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_secure_boot_invalid_request_nullstr [0.026327s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_port.TestListPorts.test_detail [0.039572s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_port.TestPatch.test_replace_multi [0.033836s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_secure_boot_off_older_soft_ver [0.028738s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_port.TestListPorts.test_detail_query [0.033110s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_port.TestPatch.test_replace_portgroup_uuid_old_api [0.025589s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_secure_boot_on_older_soft_ver [0.028884s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_port.TestListPorts.test_detail_query_false [0.036957s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_port.TestPatch.test_replace_portgroup_uuid_remove_add [0.035898s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_secure_boot_on_valid_undocumented_request_one [0.027834s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_port.TestPatch.test_replace_singular [0.032163s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_port.TestListPorts.test_get_all_by_node_name_non_admin [0.040575s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_port.TestPatch.test_update_byaddress_not_allowed [0.024052s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_port.TestPortsController__CheckAllowedPortFields.test__check_allowed_port_fields_local_link_connection_none_type [0.016369s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_port.TestPortsController__CheckAllowedPortFields.test__check_allowed_port_fields_none [0.023036s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_provision_by_name_unsupported [0.165703s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_port.TestListPorts.test_get_all_by_node_name_non_admin_no_match [0.033967s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_port.TestListPorts.test_get_all_by_portgroup_uuid_older_api_version [0.025196s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_provision_deploy [0.032748s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_port.TestListPorts.test_get_custom_fields_physical_network_upgrade [0.029689s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_provision_locked_with_correct_state [0.039762s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_port.TestPortsController__CheckAllowedPortFields.test__check_allowed_port_fields_portgroup_allow [0.020005s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_port.TestPost.test_create_port_address_already_exist [0.030816s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_port.TestPost.test_create_port_error [0.028791s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_port.TestListPorts.test_hide_fields_in_newer_versions_portgroup_uuid [0.035009s] ... ok 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-eb4a9d8b-d9df-4c70-8c9e-56c702ee061e DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.27 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"timeout has to be positive integer\", \"debuginfo\": null}"} DEBUG util.py:445: PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/power {'target': '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-769bdf4f-2684-4f15-a8f6-2841c8e9cff7 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.26 DEBUG util.py:445: PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/power {'target': 'power on', 'timeout': 2} DEBUG util.py:445: GOT:Response: 406 Not Acceptable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-3e4a27a8-ed37-4195-ba4d-648c7201085d DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.1 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Request not acceptable.\", \"debuginfo\": null}"} DEBUG util.py:445: PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/power {'target': 'soft power off', 'timeout': 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-a7c9cc82-a6d0-4771-adb7-330aac9a8e9e DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.26 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Request not acceptable.\", \"debuginfo\": null}"} DEBUG util.py:445: PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/power {'target': 'soft power off', 'timeout': 2} DEBUG util.py:445: GOT:Response: 406 Not Acceptable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-06a524b0-4b84-49e1-8021-b03fedb3562b DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.1 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Request not acceptable.\", \"debuginfo\": null}"} DEBUG util.py:445: PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/provision {'target': 'active', '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-fe1d2bdf-5f27-444c-b63b-cbcb0dd2894a DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.38 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"\\\"rescue_password\\\" is only valid when setting target provision state to rescue\", \"debuginfo\": null}"} DEBUG util.py:445: PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/provision {'target': '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-51900ad7-a8d1-4089-b7a9-4e43b26a96c5 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.1 DEBUG util.py:445: PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/provision {'target': 'active', 'deploy_steps': [{'interface': 'bios', 'step': 'factory_reset'}]} DEBUG util.py:445: GOT:Response: 406 Not Acceptable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-97a220df-b3a7-4735-b6ea-9ea67a3a080f DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.1 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Request not acceptable. The minimal required API version should be 1.69\", \"debuginfo\": null}"} DEBUG util.py:445: PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/provision {'target': 'rebuild'} DEBUG util.py:445: GOT:Response: 202 Accepted DEBUG util.py:445: Location: http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states DEBUG util.py:445: Openstack-Request-Id: req-161ca976-e452-401e-90d0-abca178475a1 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.1 DEBUG util.py:445: PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/provision {'target': '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-9265cb1f-030d-42a5-a058-388174eaddec DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.1 DEBUG util.py:445: PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/raid {'logical_disks': [{'size_gb': 100, 'raid_level': 1}]} DEBUG util.py:445: GOT:Response: 204 No Content DEBUG util.py:445: Openstack-Request-Id: req-4c6ed123-d87c-424b-9a44-c46264d0aa60 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.12 DEBUG util.py:445: PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/raid {'logical_disks': [{'size_gb': 100, 'raid_level': 1}]} DEBUG util.py:445: GOT:Response: 400 Bad Request DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-f8382c61-2ae3-4ae4-beb1-ba854b846283 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.12 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"foo\", \"debuginfo\": null}"} DEBUG util.py:445: PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/secure_boot {'target': 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-be043e26-c0b7-4981-b909-ac112a6469d5 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.76 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Invalid secure_boot None requested for node. Allowed secure_boot states are: True, False) \", \"debuginfo\": null}"} DEBUG util.py:445: PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/secure_boot {'target': ''} DEBUG util.py:445: GOT:Response: 400 Bad Request DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-50ef7992-222b-4894-8816-04828fa6ad58 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.76 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Invalid target: Unrecognized value '', acceptable values are: '0', '1', 'f', 'false', 'n', 'no', 'off', 'on', 't', 'true', 'y', 'yes'\", \"debuginfo\": null}"} DEBUG util.py:445: PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/secure_boot {'target': False} DEBUG util.py:445: GOT:Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-4223762e-6f89-4954-b45c-c461f68bbc3a DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.75 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"This endpoint is supported starting with the API version 1.76\", \"debuginfo\": null}"} DEBUG util.py:445: PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/secure_boot {'target': 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-bb8e1bfb-3eb4-4005-bb79-d858131aa372 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.75 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"This endpoint is supported starting with the API version 1.76\", \"debuginfo\": null}"} DEBUG util.py:445: PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/secure_boot {'target': 1} DEBUG util.py:445: GOT:Response: 202 Accepted DEBUG util.py:445: Location: http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states DEBUG util.py:445: Openstack-Request-Id: req-9c7de91d-b49c-4558-bf89-c31bcfa0fcbc DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.76 DEBUG util.py:445: PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/management/boot_device {'boot_device': 'pxe'} DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_set_boot_device [0.029801s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_set_boot_device_not_supported [0.029888s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_set_console_mode_bad_request [0.028340s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_set_console_mode_enabled [0.030066s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_set_indicator_state_invalid_value [0.030813s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_port.TestPost.test_create_port_local_link_connection_missing_mandatory [0.030521s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_set_node_maintenance_mode [0.031239s] ... 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-5cb471cb-5ec2-4959-8717-b0e2e82f1288 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.1 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"The requested action \\\"active\\\" can not be performed on node \\\"1be26c0b-03f2-4d2e-ae87-c02d7f33c123\\\" while it is in state \\\"manageable\\\".\", \"debuginfo\": null}"} DEBUG util.py:445: PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/provision {'target': 'active'} DEBUG util.py:445: GOT:Response: 400 Bad Request DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-e6a88eca-f07d-4989-8b27-2a54fa0f7d14 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.1 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"The requested action \\\"active\\\" can not be performed on node \\\"1be26c0b-03f2-4d2e-ae87-c02d7f33c123\\\" while it is in state \\\"manageable\\\".\", \"debuginfo\": null}"} DEBUG util.py:445: PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/provision {'target': 'active'} DEBUG util.py:445: GOT:Response: 400 Bad Request DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-819e19b6-c308-4246-a4ff-262656602991 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.1 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"The requested action \\\"active\\\" can not be performed on node \\\"1be26c0b-03f2-4d2e-ae87-c02d7f33c123\\\" while it is in state \\\"manageable\\\".\", \"debuginfo\": null}"} DEBUG util.py:445: PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/provision {'target': '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-7ebfc692-42c8-4a1e-aba1-bf95db151686 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.6 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Failed to validate inspection or power info.\", \"debuginfo\": null}"} DEBUG util.py:445: PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/provision {'target': '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-b244c0d7-8ba9-4b09-bd07-b688ebc43509 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.6 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Failed to validate inspection or power info.\", \"debuginfo\": null}"} DEBUG util.py:445: PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/power {'target': '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-ad457250-d074-4fe6-b815-8782eb8e6ace DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.1 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"The requested action \\\"not-supported\\\" can not be performed on node \\\"1be26c0b-03f2-4d2e-ae87-c02d7f33c123\\\" while it is in state \\\"None\\\".\", \"debuginfo\": null}"} DEBUG util.py:445: PUT: /v1/nodes/node-39/states/power {'target': 'power on'} DEBUG util.py:445: GOT:Response: 202 Accepted DEBUG util.py:445: Location: http://localhost/v1/nodes/node-39/states DEBUG util.py:445: Openstack-Request-Id: req-c26a2e90-d181-4d6d-9fbb-b2630453c94e DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.5 DEBUG util.py:445: PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/power {'target': 'power on', '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-84cb732b-1c8c-4156-9107-6123589e374f DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.1 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"timeout has to be positive integer\", \"debuginfo\": null}"} DEBUG util.py:445: PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/power {'target': 'power on', '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-a3e8a154-1911-45df-a145-ef1fd6c2189c DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.26 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Request not acceptable.\", \"debuginfo\": null}"} DEBUG util.py:445: PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/power {'target': 'soft power off'} DEBUG util.py:445: GOT:Response: 406 Not Acceptable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-e9ec56f6-15d6-4ba5-8607-d0d9cb167a6a DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.26 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Request not acceptable.\", \"debuginfo\": null}"} DEBUG util.py:445: PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/power {'target': 'soft power off'} 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-73e0b7f3-d831-44b8-a733-5d8fb8af1ef2 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.27 DEBUG util.py:445: PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/power {'target': 'soft power off', 'timeout': 2} DEBUG util.py:445: GOT:Response: 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-c9cb5c23-44c2-4d5d-adf5-6c7d79a8b266 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.27 DEBUG util.py:445: PUT: /v1/nodes/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-1bac204a-20f7-4fee-8f9d-b7b57b0727e4 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.1 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node node-39 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/provision {'target': '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-4290d4b5-da49-4706-a1b2-2e276dece7ed DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.73 DEBUG util.py:445: PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/provision {'target': '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-3b81a355-4542-41df-8a7c-94319f080fe3 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.1 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node is locked by host , please retry after the current operation is completed.\", \"debuginfo\": null}"} DEBUG util.py:445: PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/provision {'target': 'rescue', 'rescue_password': 'password'} DEBUG util.py:445: GOT:Response: 202 Accepted DEBUG util.py:445: Location: http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states DEBUG util.py:445: Openstack-Request-Id: req-8c560baf-024a-4f75-ad70-85b58f203afa DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.38 DEBUG util.py:445: PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/provision {'target': 'rescue', 'rescue_password': 'password'} DEBUG util.py:445: GOT:Response: 202 Accepted DEBUG util.py:445: Location: http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states DEBUG util.py:445: Openstack-Request-Id: req-e29fa6a9-0881-4437-8280-a89c66aa881e DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.38 DEBUG util.py:445: PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/provision {'target': 'rescue', 'rescue_password': 'password'} DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_provision_rescue_in_allowed_states [0.056899s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_port.TestListPorts.test_list_with_deleted_port_group [0.062466s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_provision_rescue_no_password [0.055326s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_port.TestListPorts.test_one [0.039128s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_unrescue_raises_error_before_1_38 [0.030035s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_node.TestTraits.test_add_single_trait_rejects_bad_trait [0.026901s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_node.TestTraits.test_delete_trait [0.028654s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_port.TestListPorts.test_port_by_address_non_admin_no_match [0.032315s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_node.TestTraits.test_delete_trait_fails_with_bad_version [0.026057s] ... ok DEBUG util.py:445: PATCH: /v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 [{'path': '/local_link_connection/network_type', 'op': 'remove'}] DEBUG util.py:445: GOT:Response: 406 Not Acceptable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-362372be-2afb-44b7-8953-4d818f9d40e8 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.63 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Request not acceptable.\", \"debuginfo\": null}"} DEBUG util.py:445: PATCH: /v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 [{'path': '/physical_network', '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-b194fd8e-c53f-48df-813e-2cf0094e4be1 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.33 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Request not acceptable.\", \"debuginfo\": null}"} DEBUG util.py:445: PATCH: /v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 [{'path': '/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-a5cb741d-f956-4df6-b2bf-7a2ef7722c3e DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.1 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"A port with MAC address aa:aa:aa:aa:aa:aa already exists.\", \"debuginfo\": null}"} 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-538982a9-20c6-4044-b906-f7416bff1ccd DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.1 DEBUG util.py:445: {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2024-05-14T11:54:11.988103+00:00", "updated_at": "2024-05-14T11:54:11.999243+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': '/portgroup_uuid', 'value': 'eb54c1dc-3d77-460d-808a-c47ee45089fd', '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-d7b1427f-5a09-4558-8fa6-edc435fe03b9 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.15 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Request not acceptable.\", \"debuginfo\": null}"} DEBUG util.py:445: PATCH: /v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 [{'path': '/portgroup_uuid', 'value': 'f9d4894d-97ca-4861-866f-a168a785b930', 'op': 'remove'}, {'path': '/portgroup_uuid', 'value': '0250151c-cdb7-4b98-870b-53f8c3663bdb', '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-166b17d4-9e00-491d-bdb7-d375ca8a36dc DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.24 DEBUG util.py:445: {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2024-05-14T11:54:12.047333+00:00", "updated_at": "2024-05-14T11:54:12.060088+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": "0250151c-cdb7-4b98-870b-53f8c3663bdb"} 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-2ab3894a-1051-40ba-a7a8-ffa2b867e76e DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.1 DEBUG util.py:445: {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2024-05-14T11:54:12.084027+00:00", "updated_at": "2024-05-14T11:54:12.093791+00:00", "address": "aa:bb:cc:dd:ee:ff", "extra": {}, "links": [{"href": "http://localhost/v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "self"}, {"href": "http://localhost/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "bookmark"}], "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123"} DEBUG util.py:445: PATCH: /v1/ports/52:54:00:cf:2d:31 [{'path': '/extra/foo', 'value': 'bar', 'op': 'add'}] DEBUG util.py:445: GOT:Response: 400 Bad Request DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-42490805-175d-4c3d-a810-a17666055ffb DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.1 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Expected UUID for port_uuid: 52:54:00:cf:2d:31\", \"debuginfo\": null}"} DEBUG util.py:445: 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-0aebe615-6580-4dd8-9048-985473fd55e6 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"A port with MAC address AA:AA:AA:11:22:33 already exists.\", \"debuginfo\": null}"} DEBUG util.py:445: POST: /v1/ports {'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'address': '52:54:00:cf:2d:31', 'extra': {}, 'local_link_connection': {'switch_id': '0a:1b:2c:3d:4e:5f', 'port_id': 'Ethernet3/1', 'switch_info': 'switch1'}, 'pxe_enabled': True, 'physical_network': 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-00767b86-9d8e-41f3-bf1e-057e0eff4038 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"\", \"debuginfo\": null}"} DEBUG util.py:445: POST: /v1/ports {'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'address': '52:54:00:cf:2d:31', 'extra': {}, 'local_link_connection': {'switch_id': '0a:1b:2c:3d:4e:5f', '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-4453ddb6-d11e-447c-a80c-8a2a222b5adf DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Schema error for local_link_connection: 'port_id' is a required property Failed validating 'required' in schema[0]\", \"debuginfo\": null}"} DEBUG util.py:445: POST: /v1/ports {'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'address': '52:54:00:cf:2d:31', 'extra': {}, 'local_link_connection': {'switch_id': '0a:1b:2c:3d:4e:5f', 'port_id': 'Ethernet3/1', 'switch_info': 'switch1'}, 'pxe_enabled': True, 'physical_network': None, 'is_smartnic': False, 'portgroup_uuid': '6eb02b44-18a3-4659-8c0b-8d2802581ae4'} DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_port.TestPost.test_create_port_no_mandatory_field_node_uuid [0.025857s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_port.TestPost.test_create_port_novif_nopxe_portgroup_standalone_ports [0.034288s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_port.TestPost.test_create_port_novif_pxe_portgroup_standalone_ports [0.034931s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_provision_unrescue_in_allowed_states [0.053871s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_node.TestTraits.test_get_all_traits_fails_with_node_not_found [0.026595s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_port.TestPost.test_create_port_vif_nopxe_portgroup_standalone_ports [0.036901s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_port.TestPost.test_create_port_with_hyphens_delimiter [0.025626s] ... ok DEBUG util.py:445: GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/traits {} DEBUG util.py:445: GOT:{'traits': ['CUSTOM_1', 'CUSTOM_2']} DEBUG util.py:445: PUT: /v1/nodes/node-39/traits {'traits': []} DEBUG util.py:445: GOT:Response: 204 No Content DEBUG util.py:445: Openstack-Request-Id: req-0696f316-569e-4d04-ba33-50b23fd63cb1 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.37 DEBUG util.py:445: PUT: /v1/nodes/node-39/traits {'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-ec410179-fc28-4bbb-8cdd-2188499e5856 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.37 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Schema error for body: 'CUSTOM_TTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTT' is too long Failed validating 'maxLength' in schema[0]\", \"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-320203e8-c9b0-4df0-b810-f128f91f244b DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.37 DEBUG util.py:445: GET: /v1/ports/detail {} DEBUG util.py:445: GOT:{'ports': [{'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'created_at': '2024-05-14T11:54:11.991003+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=True {} DEBUG util.py:445: GOT:{'ports': [{'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'created_at': '2024-05-14T11:54:12.024098+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?node=test-node {} DEBUG util.py:445: GOT:{'ports': [{'uuid': '5d9d5aa6-927d-4e71-972e-55667f8a221f', 'address': '52:54:00:cf:2d:30', 'links': [{'href': 'http://localhost/v1/ports/5d9d5aa6-927d-4e71-972e-55667f8a221f', 'rel': 'self'}, {'href': 'http://localhost/ports/5d9d5aa6-927d-4e71-972e-55667f8a221f', 'rel': 'bookmark'}]}, {'uuid': '02d81237-60c4-4c62-b60b-6c1d889eac56', 'address': '52:54:00:cf:2d:31', 'links': [{'href': 'http://localhost/v1/ports/02d81237-60c4-4c62-b60b-6c1d889eac56', 'rel': 'self'}, {'href': 'http://localhost/ports/02d81237-60c4-4c62-b60b-6c1d889eac56', 'rel': 'bookmark'}]}, {'uuid': '415e4b4f-0a36-443a-9cb6-ce60de2f6a1d', 'address': '52:54:00:cf:2d:32', 'links': [{'href': 'http://localhost/v1/ports/415e4b4f-0a36-443a-9cb6-ce60de2f6a1d', 'rel': 'self'}, {'href': 'http://localhost/ports/415e4b4f-0a36-443a-9cb6-ce60de2f6a1d', 'rel': 'bookmark'}]}]} DEBUG util.py:445: GET: /v1/ports?node=test-node {} DEBUG util.py:445: GOT:{'ports': []} DEBUG util.py:445: GET: /v1/ports/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-94b49edc-9767-4f86-b49a-4708ef45ac89 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.14 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Request not acceptable.\", \"debuginfo\": null}"} DEBUG util.py:445: GET: /v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781?fields=uuid,physical_network {} DEBUG util.py:445: GOT:Response: 406 Not Acceptable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-e8edb400-bd23-4d26-930b-ba69fb0eb681 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.34 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Request not acceptable.\", \"debuginfo\": null}"} DEBUG util.py:445: GET: /v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 {} DEBUG util.py:445: GOT:{'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'created_at': '2024-05-14T11:54:12.221170+00:00', 'updated_at': None, 'address': '52:54:00:cf:2d:31', 'extra': {}, 'internal_info': {'bar': 'buzz'}, 'local_link_connection': {'switch_id': '0a:1b:2c:3d:4e:5f', 'port_id': 'Ethernet3/1', 'switch_info': 'switch1'}, 'pxe_enabled': True, 'links': [{'href': 'http://localhost/v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'rel': 'self'}, {'href': 'http://localhost/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'rel': 'bookmark'}], 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123'} DEBUG util.py:445: GET: /v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 {} DEBUG util.py:445: GOT:{'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'created_at': '2024-05-14T11:54:12.221170+00:00', 'updated_at': None, 'address': '52:54:00:cf:2d:31', 'extra': {}, 'internal_info': {'bar': 'buzz'}, 'local_link_connection': {'switch_id': '0a:1b:2c:3d:4e:5f', 'port_id': 'Ethernet3/1', 'switch_info': 'switch1'}, 'pxe_enabled': True, 'links': [{'href': 'http://localhost/v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'rel': 'self'}, {'href': 'http://localhost/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'rel': 'bookmark'}], 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'portgroup_uuid': '6eb02b44-18a3-4659-8c0b-8d2802581ae4'} DEBUG util.py:445: GET: /v1/ports/detail {} DEBUG util.py:445: GOT:{'ports': [{'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'created_at': '2024-05-14T11:54:12.259462+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/ports?address=aa:bb:cc:dd:ee:f1 {} DEBUG util.py:445: GOT:{'ports': []} DEBUG util.py:445: GET: /v1/ports?sort_key=uuid {} DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_port.TestListPorts.test_sort_key [0.038343s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_node.TestTraits.test_no_add_single_trait_via_body_2 [0.029239s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_provision_with_configdrive_not_active [0.037801s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_provision_with_deploy_configdrive [0.032867s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_node.TestTraits.test_set_all_traits_rejects_no_body [0.030850s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_port.TestPost.test_create_port_with_is_smartnic_missing_hostname [0.032045s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_port.TestPatch.test_add_local_link_connection_network_type [0.066866s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_notification_utils.APINotifyTestCase.test_chassis_notification [0.015059s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_port.TestPost.test_create_port_with_llc_old_api_version [0.030429s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_port.TestPatch.test_add_local_link_connection_network_type_old_api [0.027162s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_notification_utils.APINotifyTestCase.test_emit_maintenance_notification [0.024468s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_provision_with_deploy_configdrive_as_dict_all_fields [0.052466s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_port.TestPatch.test_add_multi [0.035038s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_provision_with_deploy_configdrive_not_base64 [0.039681s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_notification_utils.APINotifyTestCase.test_node_maintenance_notification [0.056904s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_port.TestPatch.test_add_node_uuid [0.034016s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_provision_with_rebuild_configdrive [0.032521s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_port.TestDelete.test_delete_port_byaddress [0.025317s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_port.TestPatch.test_add_physical_network [0.036157s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_provision_with_rebuild_deploy_steps [0.033157s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_port.TestDelete.test_delete_port_node_locked [0.030353s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_port.TestPatch.test_add_portgroup_uuid [0.036775s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_provision_with_rebuild_unsupported_configdrive [0.032352s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_port.TestListPorts.test_collection_links_custom_fields [0.032952s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_secure_boot_off_valid_soft_ver [0.028991s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_port.TestPatch.test_portgroups_subresource_patch [0.029749s] ... 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-9835ecdb-de96-46fb-973d-56417815c3c3 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.1 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Schema error for port: 'node_uuid' is a required property Failed validating 'required' in schema\", \"debuginfo\": null}"} DEBUG util.py:445: POST: /v1/ports {'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'address': '52:54:00:cf:2d:31', 'extra': {}, 'local_link_connection': {'switch_id': '0a:1b:2c:3d:4e:5f', 'port_id': 'Ethernet3/1', 'switch_info': 'switch1'}, 'pxe_enabled': 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-02097784-91ca-4ed2-8174-468576bca86c DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2024-05-14T11:54:12.327238+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-fbe6b026-72ed-4521-80eb-f2d33b096e93 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2024-05-14T11:54:12.360705+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': 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-f06f507d-ad12-4f12-9059-0e3b9b9fb19b DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2024-05-14T11:54:12.399641+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: 400 Bad Request DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-364cea84-e401-4a92-8d1e-8a79d4362b8f DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.1 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Expected valid MAC address for address: 52-54-00-cf-2d-31\", \"debuginfo\": null}"} DEBUG util.py:445: POST: /v1/ports {'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'address': '52:54:00:cf:2d:31', 'extra': {}, 'local_link_connection': {'switch_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-1ea389f9-c5ba-4673-818d-3078df9264e9 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Smart NIC port must have port_id and hostname in local_link_connection\", \"debuginfo\": null}"} 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-bd07d9ff-5b31-47d9-aba3-d6d7e2c4f277 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.14 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Request not acceptable.\", \"debuginfo\": null}"} DEBUG util.py:445: POST: /v1/ports {'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'address': '52:54:00:cf:2d:31', 'extra': {}, 'local_link_connection': {'network_type': 'unmanaged'}, 'pxe_enabled': True, 'physical_network': None, 'is_smartnic': False, 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'portgroup_uuid': '6eb02b44-18a3-4659-8c0b-8d2802581ae4'} DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_port.TestPost.test_create_port_with_network_type_in_llc [0.161609s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_port.TestPost.test_create_port_with_physical_network [0.033267s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_port.TestPatch.test_remove_mandatory_field [0.028981s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_secure_boot_off_valid_undocumented_request_zero [0.029342s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_set_console_mode_console_not_supported [0.029289s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_portgroup.TestDelete.test_delete_portgroup_byname [0.027943s] ... ok DEBUG util.py:445: GOT:Response: 204 No Content DEBUG util.py:445: Openstack-Request-Id: req-a9e50ca7-d8cd-4557-9d32-2b633dcaa4fc DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.1 DEBUG util.py:445: PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/management/boot_device {'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-574b9f63-f120-40e4-92f9-8e37390ac291 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.1 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Driver test-driver does not support management (disabled or not implemented).\", \"debuginfo\": null}"} DEBUG util.py:445: PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/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-48aef88a-3e84-4300-9afb-a8d701f7e80a DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.1 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Invalid enabled: Unrecognized value 'invalid-value', acceptable values are: '0', '1', 'f', 'false', 'n', 'no', 'off', 'on', 't', 'true', 'y', 'yes'\", \"debuginfo\": null}"} DEBUG util.py:445: PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/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-0ef44d44-dda5-4500-86e1-88fe97f5cd9e DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.1 DEBUG util.py:445: PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/management/indicators/led@system?state=glow {} DEBUG util.py:445: GOT:Response: 400 Bad Request DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-d3d9ccd2-3db2-49fc-9f3b-371cf388e5d9 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.1 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"error\", \"debuginfo\": null}"} DEBUG util.py:445: PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/maintenance {'reason': 'fake_reason'} DEBUG util.py:445: GOT:Response: 202 Accepted DEBUG util.py:445: Openstack-Request-Id: req-74c78d9c-8a49-4c41-958c-d44ed635e02a DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.1 DEBUG util.py:445: PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/provision {'target': '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-f3a40b3f-320b-4cfe-9710-1b71a605b439 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.37 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Request not acceptable.\", \"debuginfo\": null}"} DEBUG util.py:445: PUT: /v1/nodes/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-ec7dd417-97c4-47c7-8484-85bef067499a DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.37 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Schema error for trait: 'bad_trait' does not match '^CUSTOM_[A-Z0-9_]+$' Failed validating 'pattern' in schema[0]\", \"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-0241b477-7cec-4377-ad03-0d66cf354e7a DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.37 DEBUG util.py:445: DELETE: /v1/nodes/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-edbba74e-cf6a-43ce-9a10-fd72e44dcc73 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.36 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Resource could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: 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-c7736229-e569-424c-8078-4217a053ea08 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.37 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node badname could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: PUT: /v1/nodes/node-39/traits/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-81232666-a3c1-4b58-9191-6c60cfa94c04 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.37 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"A single node trait may be added via PUT /v1/nodes//traits/ with no body, or all node traits may be replaced via PUT /v1/nodes//traits with the list of traits specified in the request body.\", \"debuginfo\": null}"} DEBUG util.py:445: PUT: /v1/nodes/node-39/traits {} DEBUG util.py:445: GOT:Response: 400 Bad Request DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-21edbf86-a340-4c9b-823f-af89385d1410 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.37 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"A single node trait may be added via PUT /v1/nodes//traits/ with no body, or all node traits may be replaced via PUT /v1/nodes//traits with the list of traits specified in the request body.\", \"debuginfo\": null}"} DEBUG util.py:445: 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-a5de7ec4-3a5c-488b-a275-66e6e519bcc7 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.1 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Expected UUID for port_uuid: 52:54:00:cf:2d:31\", \"debuginfo\": null}"} DEBUG util.py:445: DELETE: /v1/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-9d1a778a-6143-4a4a-9011-338ba6ecf643 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.1 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node fake-node is locked by host fake-host, please retry after the current operation is completed.\", \"debuginfo\": null}"} DEBUG util.py:445: GET: /v1/ports?fields=address,uuid {} DEBUG util.py:445: GOT:{'ports': [{'uuid': '56593e4f-af6b-4f17-982f-8c053f4bf5e7', 'address': '52:54:00:cf:2d:30', 'links': [{'href': 'http://localhost/v1/ports/56593e4f-af6b-4f17-982f-8c053f4bf5e7', 'rel': 'self'}, {'href': 'http://localhost/ports/56593e4f-af6b-4f17-982f-8c053f4bf5e7', 'rel': 'bookmark'}]}, {'uuid': '2beeb534-4317-4f43-ace3-6d17cf5f00ec', 'address': '52:54:00:cf:2d:31', 'links': [{'href': 'http://localhost/v1/ports/2beeb534-4317-4f43-ace3-6d17cf5f00ec', 'rel': 'self'}, {'href': 'http://localhost/ports/2beeb534-4317-4f43-ace3-6d17cf5f00ec', 'rel': 'bookmark'}]}, {'uuid': 'fc81bf34-38c2-42f2-90eb-144b96ba14f9', 'address': '52:54:00:cf:2d:32', 'links': [{'href': 'http://localhost/v1/ports/fc81bf34-38c2-42f2-90eb-144b96ba14f9', 'rel': 'self'}, {'href': 'http://localhost/ports/fc81bf34-38c2-42f2-90eb-144b96ba14f9', 'rel': 'bookmark'}]}], 'next': 'http://localhost/v1/ports?sort_key=id&sort_dir=asc&fields=address,uuid&limit=3&marker=fc81bf34-38c2-42f2-90eb-144b96ba14f9'} DEBUG util.py:445: GET: /v1/ports {} DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_port.TestListPorts.test_collection_links_default_limit [0.060769s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_port.TestPatch.test_replace_node_uuid [0.037890s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_portgroup.TestListPortgroups.test_collection_links_custom_fields [0.031909s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_port.TestListPorts.test_detail_against_single [0.040692s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_portgroup.TestListPortgroups.test_detail [0.025084s] ... 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-06923bb1-eb6d-4e25-91a4-fb91e3f91a8a DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.38 DEBUG util.py:445: PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/provision {'target': 'rescue', 'rescue_password': 'password'} DEBUG util.py:445: GOT:Response: 202 Accepted DEBUG util.py:445: Location: http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states DEBUG util.py:445: Openstack-Request-Id: req-d7ac9f4d-c189-46f3-a901-4b2e5652ca22 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.38 DEBUG util.py:445: PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/provision {'target': 'rescue'} DEBUG util.py:445: GOT:Response: 400 Bad Request DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-61e58f4c-c501-473c-bed9-28514c159444 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.38 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"A non-empty \\\"rescue_password\\\" is required when setting target provision state to rescue\", \"debuginfo\": null}"} DEBUG util.py:445: PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/provision {'target': 'unrescue'} DEBUG util.py:445: GOT:Response: 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-c1f2c267-5dc8-45e1-b899-b763958ce795 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.38 DEBUG util.py:445: PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/provision {'target': 'unrescue'} DEBUG util.py:445: GOT:Response: 202 Accepted DEBUG util.py:445: Location: http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states DEBUG util.py:445: Openstack-Request-Id: req-c2e99e54-673d-492f-adbd-266f2e6c41cc DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.38 DEBUG util.py:445: PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/provision {'target': 'unrescue'} DEBUG util.py:445: GOT:Response: 202 Accepted DEBUG util.py:445: Location: http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states DEBUG util.py:445: Openstack-Request-Id: req-9521ac23-a519-47b0-8441-e13d47c63ae0 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.38 DEBUG util.py:445: PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/provision {'target': '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-ce2a8610-ee8f-41a8-9375-5c5ff5b00459 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.1 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"The requested action \\\"deleted\\\" can not be performed on node \\\"1be26c0b-03f2-4d2e-ae87-c02d7f33c123\\\" while it is in state \\\"available\\\".\", \"debuginfo\": null}"} DEBUG util.py:445: PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/provision {'target': 'active', '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-ae58618e-ea7d-4f08-944f-691fabae744f DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.1 DEBUG util.py:445: PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/provision {'target': 'active', 'configdrive': {'user_data': {'serialize': 'me'}, 'meta_data': {'hostname': 'example.com'}, 'network_data': {'links': []}, 'vendor_data': {'foo': 'bar'}}} DEBUG util.py:445: GOT:Response: 202 Accepted DEBUG util.py:445: Location: http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states DEBUG util.py:445: Openstack-Request-Id: req-80447af9-c64c-48a3-99ae-4043170cfa3d DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.60 DEBUG util.py:445: PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/provision {'target': '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-dcfb714f-65ec-449b-9fcc-09c675e10992 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.60 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Invalid configdrive format: it is neither a JSON, nor a URL, nor a base64 string\", \"debuginfo\": null}"} DEBUG util.py:445: PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/provision {'target': '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-ddd0b697-a0fc-47cd-ae07-871d08d17315 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.35 DEBUG util.py:445: PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/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-a0fecbf0-3f0b-4b9c-8664-74ed3a5c16ca DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.1 DEBUG util.py:445: PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/provision {'target': 'rebuild', 'configdrive': 'foo'} DEBUG util.py:445: GOT:Response: 400 Bad Request DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-c1ea41ca-965c-4a28-9524-e76b4a5934a3 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.1 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Adding a config drive is only supported when setting provision state to active\", \"debuginfo\": null}"} DEBUG util.py:445: PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/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-6f0c9db1-9c72-4b2e-a969-42cd3128d214 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.76 DEBUG util.py:445: PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/secure_boot {'target': 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-ec67a8a7-5220-4b03-9514-a8eed14c4639 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.76 DEBUG util.py:445: PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/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-fa370fca-6847-4562-ac57-ca5784674363 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.1 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Driver test-driver does not support console (disabled or not implemented).\", \"debuginfo\": null}"} DEBUG util.py:445: PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/management/indicators/led@system {'state': 'on'} DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_set_indicator_state_versioning [0.030216s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_set_node_maintenance_mode_error [0.030249s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_node.TestTraits.test_add_single_trait [0.030177s] ... 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.030365s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_portgroup.TestListPortgroups.test_detail_by_node_name_ok [0.027679s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_portgroup.TestListPortgroups.test_detail_invalid_api_version [0.020128s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_portgroup.TestListPortgroups.test_detail_query [0.023983s] ... ok DEBUG util.py:445: GOT:{'ports': [{'uuid': '3f415427-19f3-47df-b7a6-a2d04639415c', 'address': '52:54:00:cf:2d:32', 'links': [{'href': 'http://localhost/v1/ports/3f415427-19f3-47df-b7a6-a2d04639415c', 'rel': 'self'}, {'href': 'http://localhost/ports/3f415427-19f3-47df-b7a6-a2d04639415c', 'rel': 'bookmark'}]}, {'uuid': 'c8ae24b0-23a9-4df6-acfb-ea8d3af3f5f0', 'address': '52:54:00:cf:2d:31', 'links': [{'href': 'http://localhost/v1/ports/c8ae24b0-23a9-4df6-acfb-ea8d3af3f5f0', 'rel': 'self'}, {'href': 'http://localhost/ports/c8ae24b0-23a9-4df6-acfb-ea8d3af3f5f0', 'rel': 'bookmark'}]}, {'uuid': 'f581e2a7-b182-49e1-aa1e-272e18093a6c', 'address': '52:54:00:cf:2d:30', 'links': [{'href': 'http://localhost/v1/ports/f581e2a7-b182-49e1-aa1e-272e18093a6c', 'rel': 'self'}, {'href': 'http://localhost/ports/f581e2a7-b182-49e1-aa1e-272e18093a6c', '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-ea5761be-a92f-438c-94c7-ee1bd49e1236 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.64 DEBUG util.py:445: {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2024-05-14T11:54:12.447599+00:00", "updated_at": "2024-05-14T11:54:12.472808+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-659ca3fe-4445-4fcf-8896-39fa7527c1b7 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.63 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Request not acceptable.\", \"debuginfo\": null}"} DEBUG util.py:445: PATCH: /v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 [{'path': '/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-3a1372f7-e260-4a37-925a-b622cb50380a DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.1 DEBUG util.py:445: {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2024-05-14T11:54:12.524833+00:00", "updated_at": "2024-05-14T11:54:12.535813+00:00", "address": "52:54:00:cf:2d:31", "extra": {"foo1": "bar1", "foo2": "bar2", "foo3": "bar3"}, "links": [{"href": "http://localhost/v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "self"}, {"href": "http://localhost/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "bookmark"}], "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123"} DEBUG util.py:445: PATCH: /v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 [{'path': '/node_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-a530f9ee-7246-49c6-ac08-7656284a2201 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.1 DEBUG util.py:445: {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2024-05-14T11:54:12.560172+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-51352dbc-f525-4069-8123-e08bc8512a0d DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.34 DEBUG util.py:445: {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2024-05-14T11:54:12.593592+00:00", "updated_at": "2024-05-14T11:54:12.605251+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': '/portgroup_uuid', 'value': '5858d1a1-20dc-4297-ac27-f627bd56efb6', '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-37a29b39-1d1a-45f3-827a-cc586887cf40 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.24 DEBUG util.py:445: {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2024-05-14T11:54:12.630722+00:00", "updated_at": "2024-05-14T11:54:12.642479+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": "5858d1a1-20dc-4297-ac27-f627bd56efb6"} DEBUG util.py:445: PATCH: /v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4/ports/ff6f3b35-9213-49de-8ce6-c31277f8c36a [{'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-ebe32b14-a71b-41ab-9594-972d6d71417c DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.24 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Operation not permitted.\", \"debuginfo\": null}"} DEBUG util.py:445: PATCH: /v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 [{'path': '/address', 'op': 'remove'}] DEBUG util.py:445: GOT:Response: 400 Bad Request DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-f8a62e30-e9af-4de8-b754-1d1c58cd1431 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.1 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Schema error for patch: 'address' is a required property Failed validating 'required' in schema\", \"debuginfo\": null}"} DEBUG util.py:445: PATCH: /v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 [{'path': '/node_uuid', 'value': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'op': 'replace'}] DEBUG util.py:445: GOT:Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-89d43468-11b0-4fa8-9cea-36d49024f77c DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.1 DEBUG util.py:445: {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2024-05-14T11:54:12.724122+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: {1} ironic.tests.unit.api.controllers.v1.test_port.TestPatch.test_replace_non_existent_node_uuid [0.038663s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_port.TestPatch.test_replace_portgroup_uuid [0.078399s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_port.TestListPorts.test_detail_sort_key_allowed [0.049941s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_port.TestListPorts.test_detail_with_incorrect_api_usage [0.022638s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_port.TestListPorts.test_get_all_by_node_name_not_supported [0.024072s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_portgroup.TestListPortgroups.test_detail_query_false [0.028852s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_node.TestTraits.test_no_add_single_trait_via_body [0.028744s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_port.TestListPorts.test_get_all_by_node_uuid_and_name [0.037524s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_portgroup.TestListPortgroups.test_detail_sort_key_not_allowed [0.020559s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_node.TestTraits.test_set_all_traits_rejects_bad_trait [0.027449s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_port.TestListPorts.test_get_all_by_portgroup_name [0.029297s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_portgroup.TestListPortgroups.test_detail_using_query_false_and_fields [0.024493s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_notification_utils.APINotifyTestCase.test_common_params [0.013076s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_port.TestListPorts.test_get_all_by_portgroup_uuid [0.026316s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_notification_utils.APINotifyTestCase.test_node_notification [0.012816s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_notification_utils.APINotifyTestCase.test_node_notification_mask_secrets [0.011801s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_notification_utils.APINotifyTestCase.test_port_notification [0.011990s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_port.TestListPorts.test_get_all_by_portgroup_uuid_and_node_uuid [0.022553s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_port.TestDelete.test_delete_port_byid [0.028175s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_port.TestListPorts.test_get_collection_custom_fields [0.027660s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_port.TestListPorts.test_detail_using_query_false_and_fields [0.026195s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_port.TestListPorts.test_detail_using_query_old_version [0.023108s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_port.TestListPorts.test_get_collection_next_marker_no_uuid [0.026677s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_port.TestListPorts.test_get_custom_fields_is_smartnic [0.028952s] ... 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-a44d6ad8-ff7d-46f6-8731-c38ffd1aa4f9 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2024-05-14T11:54:12.650328+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-0a5d654b-0397-41f3-a12b-b74548287578 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2024-05-14T11:54:12.683026+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: DELETE: /v1/portgroups/pg.1 DEBUG util.py:445: GOT:Response: 204 No Content DEBUG util.py:445: Openstack-Request-Id: req-a933320f-22df-4a09-81d7-f88940df93ec DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: GET: /v1/portgroups?fields=address,uuid {} DEBUG util.py:445: GOT:{'portgroups': [{'uuid': '660385d8-d50d-4c9a-90b1-a2d26b15c867', 'address': '52:54:00:cf:2d:30', 'links': [{'href': 'http://localhost/v1/portgroups/660385d8-d50d-4c9a-90b1-a2d26b15c867', 'rel': 'self'}, {'href': 'http://localhost/portgroups/660385d8-d50d-4c9a-90b1-a2d26b15c867', 'rel': 'bookmark'}]}, {'uuid': '1795d14e-1814-4bb1-b64c-7c89b71eba86', 'address': '52:54:00:cf:2d:31', 'links': [{'href': 'http://localhost/v1/portgroups/1795d14e-1814-4bb1-b64c-7c89b71eba86', 'rel': 'self'}, {'href': 'http://localhost/portgroups/1795d14e-1814-4bb1-b64c-7c89b71eba86', 'rel': 'bookmark'}]}, {'uuid': '955098cd-a952-4a15-aff2-c904c376c7ac', 'address': '52:54:00:cf:2d:32', 'links': [{'href': 'http://localhost/v1/portgroups/955098cd-a952-4a15-aff2-c904c376c7ac', 'rel': 'self'}, {'href': 'http://localhost/portgroups/955098cd-a952-4a15-aff2-c904c376c7ac', 'rel': 'bookmark'}]}], 'next': 'http://localhost/v1/portgroups?sort_key=id&sort_dir=asc&fields=address,uuid&limit=3&marker=955098cd-a952-4a15-aff2-c904c376c7ac'} DEBUG util.py:445: GET: /v1/portgroups/detail {} DEBUG util.py:445: GOT:{'portgroups': [{'uuid': '6eb02b44-18a3-4659-8c0b-8d2802581ae4', 'created_at': '2024-05-14T11:54:12.767686+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?node=test-node {} DEBUG util.py:445: GOT:{'portgroups': [{'uuid': '6eb02b44-18a3-4659-8c0b-8d2802581ae4', 'created_at': '2024-05-14T11:54:12.792914+00:00', 'updated_at': None, 'address': '52:54:00:cf:2d:31', 'extra': {}, 'internal_info': {'bar': 'buzz'}, 'mode': 'active-backup', 'name': 'fooname', 'properties': {}, 'standalone_ports_supported': True, 'links': [{'href': 'http://localhost/v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4', 'rel': 'self'}, {'href': 'http://localhost/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4', 'rel': 'bookmark'}], 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'ports': [{'href': 'http://localhost/v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4/ports', 'rel': 'self'}, {'href': 'http://localhost/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4/ports', 'rel': 'bookmark'}]}]} DEBUG util.py:445: GET: /v1/portgroups/detail {} DEBUG util.py:445: GOT:Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: {"error_message": "{\"code\": 404, \"title\": \"Not Found\", \"description\": \"\"}"} DEBUG util.py:445: GET: /v1/portgroups?detail=True {} DEBUG util.py:445: GOT:{'portgroups': [{'uuid': '6eb02b44-18a3-4659-8c0b-8d2802581ae4', 'created_at': '2024-05-14T11:54:12.839842+00:00', 'updated_at': None, 'address': '52:54:00:cf:2d:31', 'extra': {}, 'internal_info': {'bar': 'buzz'}, 'mode': 'active-backup', 'name': 'fooname', 'properties': {}, 'standalone_ports_supported': True, 'links': [{'href': 'http://localhost/v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4', 'rel': 'self'}, {'href': 'http://localhost/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4', 'rel': 'bookmark'}], 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'ports': [{'href': 'http://localhost/v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4/ports', 'rel': 'self'}, {'href': 'http://localhost/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4/ports', 'rel': 'bookmark'}]}]} DEBUG util.py:445: GET: /v1/portgroups {} DEBUG util.py:445: GOT:{'portgroups': [{'uuid': '6eb02b44-18a3-4659-8c0b-8d2802581ae4', 'address': '52:54:00:cf:2d:31', 'name': 'fooname', 'links': [{'href': 'http://localhost/v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4', 'rel': 'self'}, {'href': 'http://localhost/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4', 'rel': 'bookmark'}]}]} DEBUG util.py:445: GET: /v1/portgroups?detail=False {} DEBUG util.py:445: GOT:{'portgroups': [{'uuid': '6eb02b44-18a3-4659-8c0b-8d2802581ae4', 'address': '52:54:00:cf:2d:31', 'name': 'fooname', 'links': [{'href': 'http://localhost/v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4', 'rel': 'self'}, {'href': 'http://localhost/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4', 'rel': 'bookmark'}]}]} DEBUG util.py:445: GET: /v1/portgroups/detail?sort_key=mode {} DEBUG util.py:445: GOT:Response: 406 Not Acceptable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-c20ed808-d5e6-4026-b5d5-6f516cc733c5 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.25 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Request not acceptable.\", \"debuginfo\": null}"} DEBUG util.py:445: GET: /v1/portgroups?detail=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?fields=address&limit=2 {} DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_portgroup.TestListPortgroups.test_get_collection_pagination_no_uuid [0.027291s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_portgroup.TestListPortgroups.test_get_custom_fields_invalid_fields [0.035021s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_portgroup.TestListPortgroups.test_get_one_custom_fields [0.035614s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_portgroup.TestListPortgroups.test_many [0.038409s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_port.TestListPorts.test_empty [0.022036s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_port.TestPatch.test_replace_portgroup_uuid_remove [0.204986s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_portgroup.TestListPortgroups.test_ports_subresource_no_portgroups_allowed [0.025252s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_port.TestListPorts.test_get_all_by_node_name_ok [0.032996s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_portgroup.TestListPortgroups.test_ports_subresource_portgroup_not_found [0.022753s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_port.TestListPorts.test_get_all_by_portgroup_uuid_non_admin [0.031792s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_port.TestPatch.test_update_byid [0.051899s] ... 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.027637s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_port.TestPatch.test_update_pxe_enabled_old_api_version [0.028337s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_portgroup.TestListPortgroups.test_sort_key [0.030162s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_portgroup.TestPatch.test_remove_uuid [0.026576s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_port.TestPortsController__CheckAllowedPortFields.test__check_allowed_port_fields_empty [0.016342s] ... ok DEBUG util.py:445: GOT:{'ports': [{'uuid': '7e681ab5-3481-4a53-9f36-0cb971dc9919', 'address': '52:54:00:cf:2d:30', 'links': [{'href': 'http://localhost/v1/ports/7e681ab5-3481-4a53-9f36-0cb971dc9919', 'rel': 'self'}, {'href': 'http://localhost/ports/7e681ab5-3481-4a53-9f36-0cb971dc9919', 'rel': 'bookmark'}]}, {'uuid': '63c689fb-60f2-46f7-8d79-822ee3e2da42', 'address': '52:54:00:cf:2d:31', 'links': [{'href': 'http://localhost/v1/ports/63c689fb-60f2-46f7-8d79-822ee3e2da42', 'rel': 'self'}, {'href': 'http://localhost/ports/63c689fb-60f2-46f7-8d79-822ee3e2da42', 'rel': 'bookmark'}]}, {'uuid': '052750ee-b828-4688-9387-470ba7ac8327', 'address': '52:54:00:cf:2d:32', 'links': [{'href': 'http://localhost/v1/ports/052750ee-b828-4688-9387-470ba7ac8327', 'rel': 'self'}, {'href': 'http://localhost/ports/052750ee-b828-4688-9387-470ba7ac8327', 'rel': 'bookmark'}]}], 'next': 'http://localhost/v1/ports?sort_key=id&sort_dir=asc&fields=uuid,address&limit=3&marker=052750ee-b828-4688-9387-470ba7ac8327'} 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-72d2f754-9f7f-44a8-8ed6-4edc48308dd4 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.1 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Resource could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: GET: /v1/ports/detail?sort_key=pxe_enabled {} DEBUG util.py:445: GOT:{'ports': [{'uuid': 'f7ca586f-dfe7-4fbb-bcaa-41a3f6059607', 'created_at': '2024-05-14T11:54:12.773475+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/f7ca586f-dfe7-4fbb-bcaa-41a3f6059607', 'rel': 'self'}, {'href': 'http://localhost/ports/f7ca586f-dfe7-4fbb-bcaa-41a3f6059607', 'rel': 'bookmark'}], 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'portgroup_uuid': None}, {'uuid': 'e9d3f3b4-4014-417c-a422-b7aa5bbd54b6', 'created_at': '2024-05-14T11:54:12.774414+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/e9d3f3b4-4014-417c-a422-b7aa5bbd54b6', 'rel': 'self'}, {'href': 'http://localhost/ports/e9d3f3b4-4014-417c-a422-b7aa5bbd54b6', 'rel': 'bookmark'}], 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'portgroup_uuid': None}]} DEBUG util.py:445: GET: /v1/ports/detail?node=test-node&node_uuid=1be26c0b-03f2-4d2e-ae87-c02d7f33c123 {} DEBUG util.py:445: GOT:{'ports': []} DEBUG util.py:445: GET: /v1/ports?node=test-node {} DEBUG util.py:445: GOT:Response: 406 Not Acceptable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-5eb261cb-bb43-42e2-a96e-f627764de293 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.1 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Request not acceptable.\", \"debuginfo\": null}"} DEBUG util.py:445: GET: /v1/ports/detail?node_uuid=1be26c0b-03f2-4d2e-ae87-c02d7f33c123&node=node-name {} DEBUG util.py:445: GOT:{'ports': [{'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'created_at': '2024-05-14T11:54:12.871578+00:00', 'updated_at': None, 'address': '52:54:00:cf:2d:31', 'extra': {}, 'links': [{'href': 'http://localhost/v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'rel': 'self'}, {'href': 'http://localhost/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'rel': 'bookmark'}], 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123'}]} DEBUG util.py:445: GET: /v1/ports/detail?portgroup=fooname {} DEBUG util.py:445: GOT:{'ports': [{'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'created_at': '2024-05-14T11:54:12.904845+00:00', 'updated_at': None, 'address': '52:54:00:cf:2d:31', 'extra': {}, 'internal_info': {'bar': 'buzz'}, 'local_link_connection': {'switch_id': '0a:1b:2c:3d:4e:5f', 'port_id': 'Ethernet3/1', 'switch_info': 'switch1'}, 'pxe_enabled': True, 'links': [{'href': 'http://localhost/v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'rel': 'self'}, {'href': 'http://localhost/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'rel': 'bookmark'}], 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'portgroup_uuid': '6eb02b44-18a3-4659-8c0b-8d2802581ae4'}]} DEBUG util.py:445: GET: /v1/ports/detail?portgroup=6eb02b44-18a3-4659-8c0b-8d2802581ae4 {} DEBUG util.py:445: GOT:{'ports': [{'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'created_at': '2024-05-14T11:54:12.933605+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&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-2f3a7d85-d990-493b-a0d1-53fc6576cda7 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.24 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Operation not permitted.\", \"debuginfo\": null}"} DEBUG util.py:445: GET: /v1/ports?fields=uuid,extra {} DEBUG util.py:445: GOT:{'ports': [{'uuid': 'bcfb2264-b01e-40bc-aa0c-f50e9ae74281', 'extra': {}, 'links': [{'href': 'http://localhost/v1/ports/bcfb2264-b01e-40bc-aa0c-f50e9ae74281', 'rel': 'self'}, {'href': 'http://localhost/ports/bcfb2264-b01e-40bc-aa0c-f50e9ae74281', 'rel': 'bookmark'}]}, {'uuid': 'd30410cf-ee56-4252-9b6f-ffcdd4e3a994', 'extra': {}, 'links': [{'href': 'http://localhost/v1/ports/d30410cf-ee56-4252-9b6f-ffcdd4e3a994', 'rel': 'self'}, {'href': 'http://localhost/ports/d30410cf-ee56-4252-9b6f-ffcdd4e3a994', 'rel': 'bookmark'}]}, {'uuid': 'f8fcc6a4-206f-4df1-b58d-661bbc708cb0', 'extra': {}, 'links': [{'href': 'http://localhost/v1/ports/f8fcc6a4-206f-4df1-b58d-661bbc708cb0', 'rel': 'self'}, {'href': 'http://localhost/ports/f8fcc6a4-206f-4df1-b58d-661bbc708cb0', 'rel': 'bookmark'}]}]} DEBUG util.py:445: GET: /v1/ports?fields=address&limit=2 {} DEBUG util.py:445: GOT:{'ports': [{'address': '52:54:00:cf:2d:30', 'links': [{'href': 'http://localhost/v1/ports/922f7cf4-ef63-4195-9436-8bc078f83750', 'rel': 'self'}, {'href': 'http://localhost/ports/922f7cf4-ef63-4195-9436-8bc078f83750', 'rel': 'bookmark'}]}, {'address': '52:54:00:cf:2d:31', 'links': [{'href': 'http://localhost/v1/ports/9b420e6c-e01b-4dd7-bc71-e4dcf1716bb7', 'rel': 'self'}, {'href': 'http://localhost/ports/9b420e6c-e01b-4dd7-bc71-e4dcf1716bb7', 'rel': 'bookmark'}]}], 'next': 'http://localhost/v1/ports?sort_key=id&sort_dir=asc&fields=address&limit=2&marker=9b420e6c-e01b-4dd7-bc71-e4dcf1716bb7'} 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-84498b2c-5783-4562-8614-08558802134e DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.52 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Request not acceptable.\", \"debuginfo\": null}"} DEBUG util.py:445: GET: /v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781?fields=uuid,is_smartnic {} DEBUG util.py:445: GOT:{'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'is_smartnic': True, 'links': [{'href': 'http://localhost/v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'rel': 'self'}, {'href': 'http://localhost/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'rel': 'bookmark'}]} DEBUG util.py:445: GET: /v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 {} DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_port.TestListPorts.test_get_one [0.024929s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_port.TestListPorts.test_hide_fields_in_newer_versions_physical_network [0.045515s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_port.TestListPorts.test_list_with_deleted_node [0.032242s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_port.TestListPorts.test_get_custom_fields_invalid_api_version [0.025460s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_port.TestListPorts.test_port_by_address_invalid_address_format [0.026002s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_portgroup.TestPatch.test_replace_address_already_exist [0.029092s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_port.TestPatch.test_add_node_id [0.025286s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_port.TestListPorts.test_get_custom_fields_invalid_fields [0.027466s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_port.TestPost.test_create_port_address_normalized [0.051485s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_portgroup.TestPatch.test_replace_multi [0.030602s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_port.TestPatch.test_add_physical_network_old_api_version [0.025107s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_port.TestListPorts.test_get_custom_fields_physical_network [0.032295s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_port.TestPatch.test_remove_node_id [0.023824s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_portgroup.TestPatch.test_replace_node_id [0.027201s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_port.TestPost.test_create_port_doesnt_contain_id [0.045057s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_port.TestPatch.test_remove_uuid [0.026924s] ... ok DEBUG util.py:445: GOT:Response: 204 No Content DEBUG util.py:445: Openstack-Request-Id: req-b42e3dad-f3bc-4520-8b95-4df741fb7e27 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.63 DEBUG util.py:445: PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/maintenance {'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-ed1deaed-2eb7-4558-95de-e7ddc5790f7e DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.1 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"\", \"debuginfo\": null}"} DEBUG util.py:445: PUT: /v1/nodes/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-0d6f18df-f70d-4fc2-a66e-c1e67d0cec76 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.37 DEBUG util.py:445: PUT: /v1/nodes/node-39/traits/CUSTOM_3 {} DEBUG util.py:445: GOT:Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-3e8181d0-0b9c-4ce1-967d-30d79bf65c4d DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.37 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: 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-07085ac3-46c9-4d51-af27-96bc7b0d596e DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.37 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Schema error for body: Additional properties are not allowed ('trait' was unexpected) Failed validating 'additionalProperties' in schema\", \"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-87d846ae-55bc-4b4d-8078-de8879fa24d9 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.37 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Schema error for body: 'BAD_TRAIT' does not match '^CUSTOM_[A-Z0-9_]+$' Failed validating 'pattern' in schema[0]\", \"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-5aa042a3-0eb2-4c0e-ab2e-0fdaac059dae DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.1 DEBUG util.py:445: GET: /v1/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: GOT:Response: 400 Bad Request DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-34ee9f34-cc60-4749-afc5-40fa62da010b DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.1 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Invalid query parameter ?detail=True received.\", \"debuginfo\": null}"} DEBUG util.py:445: GET: /v1/ports {} DEBUG util.py:445: GOT:{'ports': []} DEBUG util.py:445: GET: /v1/ports?node=test-node {} DEBUG util.py:445: GOT:{'ports': [{'uuid': '3026b37f-bfeb-4313-b71c-3f35cf906571', 'address': '52:54:00:cf:2d:30', 'links': [{'href': 'http://localhost/v1/ports/3026b37f-bfeb-4313-b71c-3f35cf906571', 'rel': 'self'}, {'href': 'http://localhost/ports/3026b37f-bfeb-4313-b71c-3f35cf906571', 'rel': 'bookmark'}]}, {'uuid': '6e3d8407-700f-4db2-81d1-2a27e3a2ab82', 'address': '52:54:00:cf:2d:31', 'links': [{'href': 'http://localhost/v1/ports/6e3d8407-700f-4db2-81d1-2a27e3a2ab82', 'rel': 'self'}, {'href': 'http://localhost/ports/6e3d8407-700f-4db2-81d1-2a27e3a2ab82', 'rel': 'bookmark'}]}, {'uuid': '3a6b17eb-b2f5-4009-9b77-f8642290fb07', 'address': '52:54:00:cf:2d:32', 'links': [{'href': 'http://localhost/v1/ports/3a6b17eb-b2f5-4009-9b77-f8642290fb07', 'rel': 'self'}, {'href': 'http://localhost/ports/3a6b17eb-b2f5-4009-9b77-f8642290fb07', 'rel': 'bookmark'}]}]} DEBUG util.py:445: GET: /v1/ports/detail?portgroup=6eb02b44-18a3-4659-8c0b-8d2802581ae4 {} DEBUG util.py:445: GOT:{'ports': [{'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'created_at': '2024-05-14T11:54:13.116744+00:00', 'updated_at': None, 'address': '52:54:00:cf:2d:31', 'extra': {}, 'internal_info': {'bar': 'buzz'}, 'local_link_connection': {'switch_id': '0a:1b:2c:3d:4e:5f', 'port_id': 'Ethernet3/1', 'switch_info': 'switch1'}, 'pxe_enabled': True, 'links': [{'href': 'http://localhost/v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'rel': 'self'}, {'href': 'http://localhost/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'rel': 'bookmark'}], 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'portgroup_uuid': '6eb02b44-18a3-4659-8c0b-8d2802581ae4'}]} DEBUG util.py:445: GET: /v1/ports/detail?portgroup=6eb02b44-18a3-4659-8c0b-8d2802581ae4 {} DEBUG util.py:445: GOT:{'ports': []} 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-ddd33efd-9423-4f25-8090-4a8086fef8f9 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.1 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Request not acceptable.\", \"debuginfo\": null}"} DEBUG util.py:445: GET: /v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781?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-fbb18a9c-175f-4f51-a3e4-136fc56c5ae3 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Field(s) \\\"spongebob\\\" are not valid\", \"debuginfo\": null}"} DEBUG util.py:445: GET: /v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781?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-ad886a6c-d9bb-4c30-a79c-014c2da3dd48 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.33 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Request not acceptable.\", \"debuginfo\": null}"} DEBUG util.py:445: GET: /v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781?fields=uuid,physical_network {} DEBUG util.py:445: GOT:{'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'physical_network': 'physnet1', 'links': [{'href': 'http://localhost/v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'rel': 'self'}, {'href': 'http://localhost/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'rel': 'bookmark'}]} DEBUG util.py:445: GET: /v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 {} DEBUG util.py:445: GOT:{'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'created_at': '2024-05-14T11:54:13.263133+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: {0} ironic.tests.unit.api.controllers.v1.test_port.TestListPorts.test_hide_fields_in_newer_versions_is_smartnic [0.034057s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_port.TestListPorts.test_hide_fields_in_newer_versions_physical_network_upgrade [0.027095s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_port.TestListPorts.test_list_non_admin_forbidden [0.034533s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_port.TestListPorts.test_many [0.033682s] ... ok DEBUG util.py:445: GOT:{'portgroups': [{'address': '52:54:00:cf:2d:30', 'links': [{'href': 'http://localhost/v1/portgroups/ee3a36fa-99aa-42d2-8c8a-86de824c0f64', 'rel': 'self'}, {'href': 'http://localhost/portgroups/ee3a36fa-99aa-42d2-8c8a-86de824c0f64', 'rel': 'bookmark'}]}, {'address': '52:54:00:cf:2d:31', 'links': [{'href': 'http://localhost/v1/portgroups/b1da5f01-6d41-4ba3-8a97-cdf7f49d2b6c', 'rel': 'self'}, {'href': 'http://localhost/portgroups/b1da5f01-6d41-4ba3-8a97-cdf7f49d2b6c', 'rel': 'bookmark'}]}], 'next': 'http://localhost/v1/portgroups?sort_key=id&sort_dir=asc&fields=address&limit=2&marker=b1da5f01-6d41-4ba3-8a97-cdf7f49d2b6c'} 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-10618434-b33c-436b-beab-c92bf6ffe454 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Field(s) \\\"spongebob\\\" are not valid\", \"debuginfo\": null}"} DEBUG util.py:445: GET: /v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4?fields=address,extra {} DEBUG util.py:445: GOT:{'address': '52:54:00:cf:2d:31', 'extra': {}, 'links': [{'href': 'http://localhost/v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4', 'rel': 'self'}, {'href': 'http://localhost/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4', 'rel': 'bookmark'}]} DEBUG util.py:445: GET: /v1/portgroups {} DEBUG util.py:445: GOT:{'portgroups': [{'uuid': '18aa968f-8c6d-46a6-8568-11fc067962a5', 'address': '52:54:00:cf:2d:30', 'name': 'portgroup0', 'links': [{'href': 'http://localhost/v1/portgroups/18aa968f-8c6d-46a6-8568-11fc067962a5', 'rel': 'self'}, {'href': 'http://localhost/portgroups/18aa968f-8c6d-46a6-8568-11fc067962a5', 'rel': 'bookmark'}]}, {'uuid': 'a25cf9c2-8bae-45c0-9ae9-8f125e596ff1', 'address': '52:54:00:cf:2d:31', 'name': 'portgroup1', 'links': [{'href': 'http://localhost/v1/portgroups/a25cf9c2-8bae-45c0-9ae9-8f125e596ff1', 'rel': 'self'}, {'href': 'http://localhost/portgroups/a25cf9c2-8bae-45c0-9ae9-8f125e596ff1', 'rel': 'bookmark'}]}, {'uuid': '3bc9370b-af72-49d5-b9ba-6486cba35e36', 'address': '52:54:00:cf:2d:32', 'name': 'portgroup2', 'links': [{'href': 'http://localhost/v1/portgroups/3bc9370b-af72-49d5-b9ba-6486cba35e36', 'rel': 'self'}, {'href': 'http://localhost/portgroups/3bc9370b-af72-49d5-b9ba-6486cba35e36', 'rel': 'bookmark'}]}, {'uuid': 'e43792e7-07b4-4b39-acaa-5fd2475cbef1', 'address': '52:54:00:cf:2d:33', 'name': 'portgroup3', 'links': [{'href': 'http://localhost/v1/portgroups/e43792e7-07b4-4b39-acaa-5fd2475cbef1', 'rel': 'self'}, {'href': 'http://localhost/portgroups/e43792e7-07b4-4b39-acaa-5fd2475cbef1', 'rel': 'bookmark'}]}, {'uuid': 'febce85f-bef4-4914-8062-f4e9b87f2ea1', 'address': '52:54:00:cf:2d:34', 'name': 'portgroup4', 'links': [{'href': 'http://localhost/v1/portgroups/febce85f-bef4-4914-8062-f4e9b87f2ea1', 'rel': 'self'}, {'href': 'http://localhost/portgroups/febce85f-bef4-4914-8062-f4e9b87f2ea1', 'rel': 'bookmark'}]}]} DEBUG util.py:445: GET: /v1/portgroups/2af7e65e-8dc9-4809-9fff-fecf7b5266f5/ports {} DEBUG util.py:445: GOT:Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: {"error_message": "{\"code\": 404, \"title\": \"Not Found\", \"description\": \"\"}"} DEBUG util.py:445: GET: /v1/portgroups/eeeeeeee-cccc-aaaa-bbbb-cccccccccccc/ports {} DEBUG util.py:445: GOT:Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-ab8d0706-5d3e-4f89-97a1-fd00a8940c40 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Portgroup eeeeeeee-cccc-aaaa-bbbb-cccccccccccc could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: GET: /v1/portgroups?sort_key=uuid {} DEBUG util.py:445: GOT:{'portgroups': [{'uuid': 'b64afc32-a240-4ab4-8dfc-fbe33e27386a', 'address': '52:54:00:cf:2d:30', 'name': 'portgroup0', 'links': [{'href': 'http://localhost/v1/portgroups/b64afc32-a240-4ab4-8dfc-fbe33e27386a', 'rel': 'self'}, {'href': 'http://localhost/portgroups/b64afc32-a240-4ab4-8dfc-fbe33e27386a', 'rel': 'bookmark'}]}, {'uuid': 'd02987b1-f69b-46dd-83bd-5fd10f947dc5', 'address': '52:54:00:cf:2d:32', 'name': 'portgroup2', 'links': [{'href': 'http://localhost/v1/portgroups/d02987b1-f69b-46dd-83bd-5fd10f947dc5', 'rel': 'self'}, {'href': 'http://localhost/portgroups/d02987b1-f69b-46dd-83bd-5fd10f947dc5', 'rel': 'bookmark'}]}, {'uuid': 'daf628fb-95d7-4f4e-b12e-7bda4db69c95', 'address': '52:54:00:cf:2d:31', 'name': 'portgroup1', 'links': [{'href': 'http://localhost/v1/portgroups/daf628fb-95d7-4f4e-b12e-7bda4db69c95', 'rel': 'self'}, {'href': 'http://localhost/portgroups/daf628fb-95d7-4f4e-b12e-7bda4db69c95', 'rel': 'bookmark'}]}]} 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-17cc2dd8-6615-4108-b68a-6fdcff09f6ee DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Cannot patch /uuid. Only the following can be updated: address, extra, mode, name, node_uuid, properties, standalone_ports_supported\", \"debuginfo\": null}"} DEBUG util.py:445: PATCH: /v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4 [{'path': '/address', 'value': 'aa:aa:aa:aa:aa:aa', 'op': 'replace'}] DEBUG util.py:445: GOT:Response: 409 Conflict DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-23c5dfef-1e18-4ab2-b738-7ff44b85fd36 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"A port with MAC address aa:aa:aa:aa:aa:aa already exists.\", \"debuginfo\": null}"} DEBUG util.py:445: PATCH: /v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4 [{'path': '/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-d9ecdaeb-eaa3-4bd0-bf1a-c46f78f872d1 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"uuid": "6eb02b44-18a3-4659-8c0b-8d2802581ae4", "created_at": "2024-05-14T11:54:13.210808+00:00", "updated_at": "2024-05-14T11:54:13.213678+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-e1755a30-9f4b-4122-a745-b208f8827966 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Cannot patch /node_id. Only the following can be updated: address, extra, mode, name, node_uuid, properties, standalone_ports_supported\", \"debuginfo\": null}"} DEBUG util.py:445: PATCH: /v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4 [{'path': '/node_uuid', 'value': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'op': 'replace'}] DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_portgroup.TestPatch.test_replace_node_uuid [0.028742s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_portgroup.TestPatch.test_replace_non_existent_node_uuid [0.027827s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_portgroup.TestPatch.test_replace_singular [0.028460s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_portgroup.TestPatch.test_update_byid_invalid_api_version [0.040364s] ... ok 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-e5b2e498-c274-4525-a389-1131a7c92121 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.1 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 12506333-a81c-4d59-9987-889ed5f8687b could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: PATCH: /v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 [{'path': '/portgroup_uuid', 'value': '2e18c024-75d1-427e-aa94-a4f5d9280891', '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-ef6f4e1a-e1fd-419d-8e28-46756f63e463 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.24 DEBUG util.py:445: {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2024-05-14T11:54:12.809023+00:00", "updated_at": "2024-05-14T11:54:12.840320+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": "2e18c024-75d1-427e-aa94-a4f5d9280891"} DEBUG util.py:445: PATCH: /v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 [{'path': '/portgroup_uuid', 'value': '845a8feb-709f-4ced-a2c2-2e4c4996dc7b', '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-02759cc6-241b-48a2-b48c-089522b582f4 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.24 DEBUG util.py:445: {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2024-05-14T11:54:13.043434+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': '/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-ab0cdad7-f2fc-4723-98be-2f9b3e672e59 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.1 DEBUG util.py:445: {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2024-05-14T11:54:13.101191+00:00", "updated_at": "2024-05-14T11:54:13.114689+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: 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-67b62cb2-6844-4448-9905-91c82442a603 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.14 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Request not acceptable.\", \"debuginfo\": null}"} DEBUG util.py:445: POST: /v1/ports {'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'address': 'AA:BB:CC:DD:EE:FF', 'extra': {}, 'local_link_connection': {'switch_id': '0a:1b:2c:3d:4e:5f', 'port_id': 'Ethernet3/1', 'switch_info': 'switch1'}, 'pxe_enabled': True, 'physical_network': None, 'is_smartnic': False, 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'portgroup_uuid': '6eb02b44-18a3-4659-8c0b-8d2802581ae4'} DEBUG util.py:445: GOT:Response: 201 Created DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Location: http://localhost/v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 DEBUG util.py:445: Openstack-Request-Id: req-102b44f1-e5a9-4401-b7eb-888fbbf6c271 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2024-05-14T11:54:13.201698+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': '2024-05-14T11:54:13.201698+00:00', 'updated_at': None, 'address': 'aa:bb:cc:dd:ee:ff', 'extra': {}, 'internal_info': {}, 'is_smartnic': False, 'local_link_connection': {'switch_id': '0a:1b:2c:3d:4e:5f', 'port_id': 'Ethernet3/1', 'switch_info': 'switch1'}, 'physical_network': None, 'pxe_enabled': True, 'links': [{'href': 'http://localhost/v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'rel': 'self'}, {'href': 'http://localhost/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'rel': 'bookmark'}], 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'portgroup_uuid': '6eb02b44-18a3-4659-8c0b-8d2802581ae4'} DEBUG util.py:445: POST: /v1/ports {'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'address': '52:54:00:cf:2d:31', 'extra': {'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-e4d45e12-50f8-433e-95e4-ed06c7353df2 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2024-05-14T11:54:13.248561+00:00", "updated_at": null, "address": "52:54:00:cf:2d:31", "extra": {"foo": 123}, "internal_info": {}, "is_smartnic": false, "local_link_connection": {"switch_id": "0a:1b:2c:3d:4e:5f", "port_id": "Ethernet3/1", "switch_info": "switch1"}, "physical_network": null, "pxe_enabled": true, "links": [{"href": "http://localhost/v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "self"}, {"href": "http://localhost/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "bookmark"}], "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "portgroup_uuid": "6eb02b44-18a3-4659-8c0b-8d2802581ae4"} DEBUG util.py:445: GET: /v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 {} DEBUG util.py:445: GOT:{'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'created_at': '2024-05-14T11:54:13.248561+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: {1} ironic.tests.unit.api.controllers.v1.test_port.TestPost.test_create_port_invalid_physnet_empty_string [0.037274s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_port.TestPost.test_create_port_invalid_physnet_non_text [0.080969s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_port.TestPatch.test_replace_local_link_connection [0.033389s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_port.TestPatch.test_replace_node_id [0.025339s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_port.TestPatch.test_replace_physical_network [0.034356s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_port.TestPatch.test_replace_physical_network_upgrade [0.028153s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_port.TestListPorts.test_many_non_admin [0.041792s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_port.TestPost.test_create_port_invalid_physnet_too_long [0.044299s] ... ok DEBUG util.py:445: GOT:{'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'created_at': '2024-05-14T11:54:13.065334+00:00', 'updated_at': None, 'address': '52:54:00:cf:2d:31', 'extra': {}, 'links': [{'href': 'http://localhost/v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'rel': 'self'}, {'href': 'http://localhost/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'rel': 'bookmark'}], 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123'} DEBUG util.py:445: GET: /v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 {} DEBUG util.py:445: GOT:{'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'created_at': '2024-05-14T11:54:13.104800+00:00', 'updated_at': None, 'address': '52:54:00:cf:2d:31', 'extra': {}, 'internal_info': {'bar': 'buzz'}, 'local_link_connection': {'switch_id': '0a:1b:2c:3d:4e:5f', 'port_id': 'Ethernet3/1', 'switch_info': 'switch1'}, 'pxe_enabled': True, 'links': [{'href': 'http://localhost/v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'rel': 'self'}, {'href': 'http://localhost/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'rel': 'bookmark'}], 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'portgroup_uuid': None} DEBUG util.py:445: GET: /v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 {} DEBUG util.py:445: GOT:{'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'created_at': '2024-05-14T11:54:13.104800+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 {} DEBUG util.py:445: GOT:{'ports': []} DEBUG util.py:445: GET: /v1/ports?address=invalid-mac-format {} DEBUG util.py:445: GOT:Response: 400 Bad Request DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-dcf4f29d-9f6b-4562-9046-04f54cab7749 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.1 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Expected valid MAC address for address: invalid-mac-format\", \"debuginfo\": null}"} DEBUG util.py:445: 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-f389248e-1a16-4a72-87cf-58e8d4252336 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.1 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Cannot patch /node_id. Only the following can be updated: address, extra, is_smartnic, local_link_connection, node_uuid, physical_network, portgroup_uuid, pxe_enabled\", \"debuginfo\": null}"} DEBUG util.py:445: PATCH: /v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 [{'path': '/physical_network', 'value': '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-d1b2a2af-6a68-44a3-952e-cd7274aa40b3 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.33 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Request not acceptable.\", \"debuginfo\": null}"} DEBUG util.py:445: PATCH: /v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 [{'path': '/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-10a04cfc-e103-4780-b4ab-74705102fef5 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.1 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Cannot patch /node_id. Only the following can be updated: address, extra, is_smartnic, local_link_connection, node_uuid, physical_network, portgroup_uuid, pxe_enabled\", \"debuginfo\": null}"} DEBUG util.py:445: PATCH: /v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 [{'path': '/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-e054eb7b-60a5-4d93-ba0a-7e9bd934190b DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.1 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Cannot patch /uuid. Only the following can be updated: address, extra, is_smartnic, local_link_connection, node_uuid, physical_network, portgroup_uuid, pxe_enabled\", \"debuginfo\": null}"} DEBUG util.py:445: PATCH: /v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 [{'path': '/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-99264402-a598-41b4-af1f-411285dcff7d DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.19 DEBUG util.py:445: {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2024-05-14T11:54:13.298208+00:00", "updated_at": "2024-05-14T11:54:13.308353+00:00", "address": "52:54:00:cf:2d:31", "extra": {}, "internal_info": {"bar": "buzz"}, "local_link_connection": {"switch_id": "aa:bb:cc:dd:ee:ff", "port_id": "Ethernet3/1", "switch_info": "switch1"}, "pxe_enabled": true, "links": [{"href": "http://localhost/v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "self"}, {"href": "http://localhost/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "bookmark"}], "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123"} DEBUG util.py:445: PATCH: /v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 [{'path': '/node_id', 'value': '1', 'op': 'replace'}] DEBUG util.py:445: GOT:Response: 400 Bad Request DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-f502930b-5171-4339-80e2-7117fb8c3429 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.1 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Cannot patch /node_id. Only the following can be updated: address, extra, is_smartnic, local_link_connection, node_uuid, physical_network, portgroup_uuid, pxe_enabled\", \"debuginfo\": null}"} DEBUG util.py:445: PATCH: /v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 [{'path': '/physical_network', 'value': 'physnet2', 'op': 'replace'}] DEBUG util.py:445: GOT:Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-25e2c652-dc19-4e50-b2d8-f8dcffb44092 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.34 DEBUG util.py:445: {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2024-05-14T11:54:13.356425+00:00", "updated_at": "2024-05-14T11:54:13.367765+00:00", "address": "52:54:00:cf:2d:31", "extra": {}, "internal_info": {"bar": "buzz"}, "local_link_connection": {"switch_id": "0a:1b:2c:3d:4e:5f", "port_id": "Ethernet3/1", "switch_info": "switch1"}, "physical_network": "physnet2", "pxe_enabled": true, "links": [{"href": "http://localhost/v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "self"}, {"href": "http://localhost/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "bookmark"}], "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "portgroup_uuid": null} DEBUG util.py:445: PATCH: /v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 [{'path': '/physical_network', 'value': 'physnet2', 'op': 'replace'}] DEBUG util.py:445: GOT:Response: 406 Not Acceptable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-eadb9c0c-03f7-4b93-a761-5a0c6c8c3223 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.34 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Request not acceptable.\", \"debuginfo\": null}"} DEBUG util.py:445: PATCH: /v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 [{'path': '/address', 'value': 'invalid-format', 'op': 'replace'}] DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_port.TestPatch.test_update_address_invalid_format [0.027686s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_port.TestListPorts.test_port_by_address_non_admin [0.028670s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_portgroup.TestPatch.test_update_in_inspecting_allowed [0.079249s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_port.TestPatch.test_update_in_inspecting_allowed [0.035836s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_port.TestListPorts.test_port_by_address_non_existent_address [0.022185s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_port.TestPatch.test_add_physical_network_upgrade [0.025952s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_port.TestPatch.test_update_in_inspecting_not_allowed [0.031829s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_port.TestPost.test_create_port_local_link_connection_keys [0.075671s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_portgroup.TestPatch.test_update_in_inspecting_not_allowed [0.050378s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_port.TestPatch.test_update_pxe_enabled_allowed [0.032626s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_portgroup.TestPatch.test_update_portgroup_internal_info_not_allowed [0.027862s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_port.TestPortsController__CheckAllowedPortFields.test__check_allowed_port_fields_not_allow [0.014470s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_port.TestPost.test_create_port_local_link_connection_switch_id_bad_mac [0.049704s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_port.TestPatch.test_add_root [0.064085s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_port.TestPortsController__CheckAllowedPortFields.test__check_allowed_port_fields_physnet_allow [0.013285s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_portgroup.TestPatch.test_update_portgroup_mode_properties_bad_api_version [0.032763s] ... 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.013381s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_port.TestPortsController__CheckAllowedPortFields.test__check_allowed_port_fields_portgroup_not_allow [0.013641s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_port.TestPost.test_create_port_no_mandatory_field_address [0.025822s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_port.TestPatch.test_invalid_physnet_empty_string [0.033496s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_portgroup.TestPatch.test_update_portgroup_standalone_ports_supported_bad_api_version [0.023258s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_port.TestPortsController__GetPortByAddress.test__get_ports_by_address [0.012012s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_port.TestPost.test_create_port_node_uuid_not_found [0.026806s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_portgroup.TestPost.test_create_portgroup_error [0.026383s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_port.TestPatch.test_remove_local_link_connection_network_type [0.035774s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_port.TestPost.test_create_port_novif_nopxe_portgroup_nostandalone_ports [0.033631s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_portgroup.TestPost.test_create_portgroup_invalid_addr_format [0.022498s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_port.TestPatch.test_remove_local_link_connection_old_api [0.026193s] ... ok DEBUG util.py:445: POST: /v1/ports {'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'address': '52:54:00:cf:2d:31', 'extra': {}, 'local_link_connection': {'switch_id': '0a:1b:2c:3d:4e:5f', 'port_id': 'Ethernet3/1', 'switch_info': 'switch1'}, 'pxe_enabled': True, 'physical_network': '', '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-0327576e-d23e-43ad-a413-b467382ef7ce DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"A non-empty value is required when setting physical_network\", \"debuginfo\": null}"} DEBUG util.py:445: POST: /v1/ports {'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'address': '52:54:00:cf:2d:31', 'extra': {}, 'local_link_connection': {'switch_id': '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-3bd3a515-fa5f-4656-8a3e-9b4166656db4 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Schema error for port: 1234 is not of type 'string', 'null' Failed validating 'type' in schema['properties']['physical_network']\", \"debuginfo\": null}"} DEBUG util.py:445: POST: /v1/ports {'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'address': '52:54:00:cf:2d:31', 'extra': {}, 'local_link_connection': {'switch_id': '0a:1b:2c:3d:4e:5f', 'port_id': '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-e3cde1dc-9ee1-4e09-b50e-02deb760c0ef DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Schema error for port: 'ppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppp' is too long Failed validating 'maxLength' in schema['properties']['physical_network']\", \"debuginfo\": null}"} DEBUG util.py:445: POST: /v1/ports {'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'address': '52:54:00:cf:2d:31', 'extra': {}, 'local_link_connection': {'switch_id': '0a:1b:2c:3d:4e:5f', '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-5850bcb2-23b0-460c-a710-81e05455a05f DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2024-05-14T11:54:13.486474+00:00", "updated_at": null, "address": "52:54:00:cf:2d:31", "extra": {}, "internal_info": {}, "is_smartnic": false, "local_link_connection": {"switch_id": "0a:1b:2c:3d:4e:5f", "port_id": "Ethernet1/15", "switch_info": "value3"}, "physical_network": null, "pxe_enabled": true, "links": [{"href": "http://localhost/v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "self"}, {"href": "http://localhost/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "bookmark"}], "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "portgroup_uuid": "6eb02b44-18a3-4659-8c0b-8d2802581ae4"} DEBUG util.py:445: POST: /v1/ports {'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'address': '52:54:00:cf:2d:31', 'extra': {}, 'local_link_connection': {'switch_id': 'zz:zz:zz:zz:zz:zz', 'port_id': 'Ethernet1/15', 'switch_info': 'value3'}, 'pxe_enabled': True, 'physical_network': None, 'is_smartnic': False, 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'portgroup_uuid': '6eb02b44-18a3-4659-8c0b-8d2802581ae4'} DEBUG util.py:445: GOT:Response: 400 Bad Request DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-45a2d35d-4309-44b7-a1a8-d4e5a1b0e6b6 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Expected a MAC address or OpenFlow datapath ID but received zz:zz:zz:zz:zz:zz.\", \"debuginfo\": null}"} DEBUG util.py:445: POST: /v1/ports {'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'extra': {}, 'local_link_connection': {'switch_id': '0a:1b:2c:3d:4e:5f', 'port_id': 'Ethernet3/1', 'switch_info': 'switch1'}, 'pxe_enabled': True, 'physical_network': None, 'is_smartnic': False, 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'portgroup_uuid': '6eb02b44-18a3-4659-8c0b-8d2802581ae4'} DEBUG util.py:445: GOT:Response: 400 Bad Request DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-0b4ca0ec-381c-48ee-b3eb-9583c857ba88 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Schema error for port: 'address' is a required property Failed validating 'required' in schema\", \"debuginfo\": null}"} DEBUG util.py:445: POST: /v1/ports {'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'address': '52:54:00:cf:2d:31', 'extra': {}, 'local_link_connection': {'switch_id': '0a:1b:2c:3d:4e:5f', 'port_id': 'Ethernet3/1', 'switch_info': 'switch1'}, 'pxe_enabled': True, 'physical_network': None, 'is_smartnic': False, 'node_uuid': '1a1a1a1a-2b2b-3c3c-4d4d-5e5e5e5e5e5e', 'portgroup_uuid': '6eb02b44-18a3-4659-8c0b-8d2802581ae4'} DEBUG util.py:445: GOT:Response: 400 Bad Request DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-41679a1e-69de-47df-aa49-b91239bac0aa DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.1 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1a1a1a1a-2b2b-3c3c-4d4d-5e5e5e5e5e5e could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: POST: /v1/ports {'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'address': '52:54:00:cf:2d:31', 'extra': {}, 'local_link_connection': {'switch_id': '0a:1b:2c:3d:4e:5f', 'port_id': 'Ethernet3/1', 'switch_info': 'switch1'}, 'pxe_enabled': 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-5c826f3e-ce26-455f-94ab-fe081ae610e9 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2024-05-14T11:54:13.631182+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: {1} ironic.tests.unit.api.controllers.v1.test_port.TestPost.test_create_port_portgroup_different_nodes [0.026588s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_port.TestPost.test_create_port_portgroup_old_api_version [0.027461s] ... 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-b3f15e1a-f649-4f8c-887c-e1816e0a477b DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"uuid": "6eb02b44-18a3-4659-8c0b-8d2802581ae4", "created_at": "2024-05-14T11:54:13.268475+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-724c9e9f-0970-463b-8232-87406e885965 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 12506333-a81c-4d59-9987-889ed5f8687b could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: PATCH: /v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4 [{'path': '/address', 'value': '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-37c50a08-1650-438e-9315-93dbd3dc9d20 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"uuid": "6eb02b44-18a3-4659-8c0b-8d2802581ae4", "created_at": "2024-05-14T11:54:13.325294+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: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: {"error_message": "{\"code\": 404, \"title\": \"Not Found\", \"description\": \"\"}"} DEBUG util.py:445: PATCH: /v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4 [{'path': '/address', 'value': 'AA:BB:CC:DD:EE:FF', 'op': 'replace'}] DEBUG util.py:445: GOT:Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-a83f4a03-7578-4bb4-9e9e-c5968342abb9 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.38 DEBUG util.py:445: {"uuid": "6eb02b44-18a3-4659-8c0b-8d2802581ae4", "created_at": "2024-05-14T11:54:13.429627+00:00", "updated_at": null, "address": "aa:bb:cc:dd:ee:ff", "extra": {}, "internal_info": {"bar": "buzz"}, "mode": "active-backup", "name": "pg.1", "properties": {}, "standalone_ports_supported": true, "links": [{"href": "http://localhost/v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4", "rel": "self"}, {"href": "http://localhost/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4", "rel": "bookmark"}], "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "ports": [{"href": "http://localhost/v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4/ports", "rel": "self"}, {"href": "http://localhost/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4/ports", "rel": "bookmark"}]} DEBUG util.py:445: PATCH: /v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4 [{'path': '/address', 'value': 'AA:BB:CC:DD:EE:FF', 'op': 'replace'}] DEBUG util.py:445: GOT:Response: 409 Conflict DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-6d80452d-f53e-4a36-a3b1-f63579838229 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.39 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Cannot update portgroup \\\"6eb02b44-18a3-4659-8c0b-8d2802581ae4\\\" on node \\\"1be26c0b-03f2-4d2e-ae87-c02d7f33c123\\\" while it is in state \\\"inspecting\\\".\", \"debuginfo\": null}"} DEBUG util.py:445: PATCH: /v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4 [{'path': '/internal_info', 'value': False, 'op': 'replace'}] DEBUG util.py:445: GOT:Response: 400 Bad Request DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-f4738c44-92cd-4afb-ae17-fa09ac529b3e DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Cannot patch /internal_info. Only the following can be updated: address, extra, mode, name, node_uuid, properties, standalone_ports_supported\", \"debuginfo\": null}"} DEBUG util.py:445: PATCH: /v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4 [{'path': '/mode', '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-06afd39a-9d7c-4d47-a437-36f352d94193 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.25 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Request not acceptable.\", \"debuginfo\": null}"} DEBUG util.py:445: PATCH: /v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4 [{'path': '/properties/abc', 'op': 'add', 'value': 123}] DEBUG util.py:445: GOT:Response: 406 Not Acceptable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-d7717a2a-0d7e-424d-834f-92ca79b22f43 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.25 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Request not acceptable.\", \"debuginfo\": null}"} DEBUG util.py:445: PATCH: /v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4 [{'path': '/standalone_ports_supported', 'value': False, 'op': 'replace'}] DEBUG util.py:445: GOT:Response: 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-12d30fc9-a689-47aa-86b8-a6ea5c438ab5 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"\", \"debuginfo\": null}"} DEBUG util.py:445: POST: /v1/portgroups {'uuid': '6eb02b44-18a3-4659-8c0b-8d2802581ae4', 'name': 'fooname', 'address': 'invalid-format', 'extra': {}, 'standalone_ports_supported': True, 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123'} DEBUG util.py:445: GOT:Response: 400 Bad Request DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-e270a6ff-fc97-4cfe-ace2-74124642dae0 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Expected valid MAC address for address: invalid-format\", \"debuginfo\": null}"} DEBUG util.py:445: POST: /v1/portgroups {'uuid': '6eb02b44-18a3-4659-8c0b-8d2802581ae4', 'name': 'fooname', 'address': '52:54:00:cf:2d:31', 'extra': {}, 'standalone_ports_supported': True, 'node_uuid': 'invalid-format'} DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_portgroup.TestPost.test_create_portgroup_invalid_node_uuid_format [0.023403s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_portgroup.TestPost.test_create_portgroup_mode_properties [0.027648s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_portgroup.TestPost.test_create_portgroup_no_mandatory_field_node_uuid [0.022270s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_port.TestPost.test_create_port_vif_nopxe_noportgroup [0.029315s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_port.TestPost.test_create_port_vif_pxe_portgroup_nostandalone_ports [0.030260s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_portgroup.TestPost.test_create_portgroup_node_uuid_not_found [0.024975s] ... ok DEBUG util.py:445: GOT:{'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'created_at': '2024-05-14T11:54:13.263133+00:00', 'updated_at': None, 'address': '52:54:00:cf:2d:31', 'extra': {}, 'internal_info': {'bar': 'buzz'}, 'is_smartnic': True, 'local_link_connection': {'switch_id': '0a:1b:2c:3d:4e:5f', 'port_id': 'Ethernet3/1', 'switch_info': 'switch1'}, 'physical_network': None, 'pxe_enabled': True, 'links': [{'href': 'http://localhost/v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'rel': 'self'}, {'href': 'http://localhost/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'rel': 'bookmark'}], 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'portgroup_uuid': None} DEBUG util.py:445: GET: /v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 {} DEBUG util.py:445: GOT:{'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'created_at': '2024-05-14T11:54:13.295886+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 {} DEBUG util.py:445: GOT:Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-2abb9e9c-8bb8-4916-a81b-9966b3eff5b9 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.1 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: fake\", \"debuginfo\": null}"} DEBUG util.py:445: GET: /v1/ports {} DEBUG util.py:445: GOT:{'ports': [{'uuid': 'f2f928ea-61d4-4a7d-ab31-6f05643bce3f', 'address': '52:54:00:cf:2d:30', 'links': [{'href': 'http://localhost/v1/ports/f2f928ea-61d4-4a7d-ab31-6f05643bce3f', 'rel': 'self'}, {'href': 'http://localhost/ports/f2f928ea-61d4-4a7d-ab31-6f05643bce3f', 'rel': 'bookmark'}]}, {'uuid': '8fb4cd7e-f7b4-47de-ae31-49f6fcda4faf', 'address': '52:54:00:cf:2d:31', 'links': [{'href': 'http://localhost/v1/ports/8fb4cd7e-f7b4-47de-ae31-49f6fcda4faf', 'rel': 'self'}, {'href': 'http://localhost/ports/8fb4cd7e-f7b4-47de-ae31-49f6fcda4faf', 'rel': 'bookmark'}]}, {'uuid': '76f82a4d-a6ac-46b0-b905-d2d6009ff2e8', 'address': '52:54:00:cf:2d:32', 'links': [{'href': 'http://localhost/v1/ports/76f82a4d-a6ac-46b0-b905-d2d6009ff2e8', 'rel': 'self'}, {'href': 'http://localhost/ports/76f82a4d-a6ac-46b0-b905-d2d6009ff2e8', 'rel': 'bookmark'}]}, {'uuid': '6ea42f6b-f895-4daa-be35-b490d437b966', 'address': '52:54:00:cf:2d:33', 'links': [{'href': 'http://localhost/v1/ports/6ea42f6b-f895-4daa-be35-b490d437b966', 'rel': 'self'}, {'href': 'http://localhost/ports/6ea42f6b-f895-4daa-be35-b490d437b966', 'rel': 'bookmark'}]}, {'uuid': 'a5b651b2-7581-409d-b05f-5766dfde828b', 'address': '52:54:00:cf:2d:34', 'links': [{'href': 'http://localhost/v1/ports/a5b651b2-7581-409d-b05f-5766dfde828b', 'rel': 'self'}, {'href': 'http://localhost/ports/a5b651b2-7581-409d-b05f-5766dfde828b', 'rel': 'bookmark'}]}]} DEBUG util.py:445: GET: /v1/ports {} DEBUG util.py:445: GOT:{'ports': [{'uuid': '7e3848d4-81fc-44f5-860e-62e0009e53c7', 'address': '52:54:00:cf:2d:30', 'links': [{'href': 'http://localhost/v1/ports/7e3848d4-81fc-44f5-860e-62e0009e53c7', 'rel': 'self'}, {'href': 'http://localhost/ports/7e3848d4-81fc-44f5-860e-62e0009e53c7', 'rel': 'bookmark'}]}, {'uuid': 'eb1eb9a0-7f99-4573-9b63-4dc8f6a275c2', 'address': '52:54:00:cf:2d:31', 'links': [{'href': 'http://localhost/v1/ports/eb1eb9a0-7f99-4573-9b63-4dc8f6a275c2', 'rel': 'self'}, {'href': 'http://localhost/ports/eb1eb9a0-7f99-4573-9b63-4dc8f6a275c2', 'rel': 'bookmark'}]}]} DEBUG util.py:445: GET: /v1/ports?address=aa:bb:cc:dd:ee:f1 {} DEBUG util.py:445: GOT:{'ports': [{'uuid': '424f678b-6f19-49cc-9847-667c1240512c', 'address': 'aa:bb:cc:dd:ee:f1', 'links': [{'href': 'http://localhost/v1/ports/424f678b-6f19-49cc-9847-667c1240512c', 'rel': 'self'}, {'href': 'http://localhost/ports/424f678b-6f19-49cc-9847-667c1240512c', '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: 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-a58c2031-e659-4c7e-b661-69ca05784737 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.34 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Request not acceptable.\", \"debuginfo\": null}"} DEBUG util.py:445: PATCH: /v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 [{'path': '/address', 'value': 'aa:bb:cc:dd:ee:ff', 'op': 'add'}] DEBUG util.py:445: GOT:Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-c162d6b1-71f5-4a22-90d9-a31945af465d DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.1 DEBUG util.py:445: {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2024-05-14T11:54:13.532881+00:00", "updated_at": "2024-05-14T11:54:13.551446+00:00", "address": "aa:bb:cc:dd:ee:ff", "extra": {}, "links": [{"href": "http://localhost/v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "self"}, {"href": "http://localhost/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "bookmark"}], "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123"} DEBUG util.py:445: PATCH: /v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 [{'path': '/physical_network', 'value': '', 'op': 'replace'}] DEBUG util.py:445: GOT:Response: 400 Bad Request DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-a0ffbfd0-df5e-4700-8259-a88e84a52d57 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"A non-empty value is required when setting physical_network\", \"debuginfo\": null}"} DEBUG util.py:445: PATCH: /v1/ports/2bf74e96-5428-406f-9517-c77e5cc05d3e [{'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-df748589-b7ae-44cf-9697-6d1a21cdb6b7 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.64 DEBUG util.py:445: {"uuid": "2bf74e96-5428-406f-9517-c77e5cc05d3e", "created_at": "2024-05-14T11:54:13.612451+00:00", "updated_at": "2024-05-14T11:54:13.621169+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/2bf74e96-5428-406f-9517-c77e5cc05d3e", "rel": "self"}, {"href": "http://localhost/ports/2bf74e96-5428-406f-9517-c77e5cc05d3e", "rel": "bookmark"}], "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "portgroup_uuid": null} DEBUG util.py:445: PATCH: /v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 [{'path': '/local_link_connection/switch_id', '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-2ede7d5c-ae93-46d0-83e9-e877097e35d3 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.1 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Request not acceptable.\", \"debuginfo\": null}"} DEBUG util.py:445: PATCH: /v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 [{'path': '/extra/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-ad1624cf-5fa7-4e29-be49-53fd363665e7 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.1 DEBUG util.py:445: {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2024-05-14T11:54:13.714563+00:00", "updated_at": "2024-05-14T11:54:13.728087+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: {0} ironic.tests.unit.api.controllers.v1.test_port.TestPatch.test_remove_multi [0.104280s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_portgroup.TestPost.test_create_portgroup_valid_extra [0.033214s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_port.TestPost.test_create_port_vif_pxe_portgroup_standalone_ports [0.033193s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_ramdisk.TestHeartbeat.test_heartbeat_rejects_different_callback_url [0.030298s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_port.TestPatch.test_remove_non_existent_property_fail [0.048475s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_port.TestPost.test_create_port_with_network_type_in_llc_old_api_version [0.027846s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_port.TestPost.test_create_port_generate_uuid [0.218447s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_ramdisk.TestHeartbeat.test_node_not_found [0.022204s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_port.TestPost.test_node_uuid_to_node_id_mapping [0.031994s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_port.TestPatch.test_remove_physical_network [0.034181s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_port.TestPost.test_create_port_local_link_connection_missing_optional [0.032629s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_ramdisk.TestHeartbeat.test_ok_agent_verify_ca [0.026065s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_portgroup.TestDelete.test_delete_portgroup_byaddress [0.023227s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_port.TestPatch.test_remove_physical_network_upgrade [0.028198s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_port.TestPost.test_create_port_novif_nopxe_noportgroup [0.030748s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_ramdisk.TestHeartbeatScopedRBAC.test_ok [0.030929s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_portgroup.TestDelete.test_delete_portgroup_byname_not_existed [0.024650s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_port.TestPatch.test_replace_physical_network_old_api_version [0.027522s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_ramdisk.TestHeartbeatScopedRBAC.test_old_api_agent_status_error [0.023775s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_port.TestPatch.test_set_pxe_enabled_false_old_api [0.025290s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_portgroup.TestDelete.test_delete_portgroup_invalid_api_version [0.024334s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_port.TestPatch.test_update_not_found [0.025672s] ... 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-02df7694-cc74-447b-9d26-3337b830f5db DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.1 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Expected valid MAC address for address: invalid-format\", \"debuginfo\": null}"} DEBUG util.py:445: PATCH: /v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 [{'path': '/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-b1bba3f7-1968-45e3-aaf0-eade68194d8c DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.38 DEBUG util.py:445: {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2024-05-14T11:54:13.446881+00:00", "updated_at": "2024-05-14T11:54:13.460765+00:00", "address": "52:54:00:cf:2d:31", "extra": {"foo": "bar"}, "internal_info": {"bar": "buzz"}, "local_link_connection": {"switch_id": "0a:1b:2c:3d:4e:5f", "port_id": "Ethernet3/1", "switch_info": "switch1"}, "physical_network": null, "pxe_enabled": true, "links": [{"href": "http://localhost/v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "self"}, {"href": "http://localhost/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "bookmark"}], "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "portgroup_uuid": null} DEBUG util.py:445: PATCH: /v1/ports/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-5a36e2eb-8c11-4ef0-a249-39191c27b583 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.39 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Cannot update port \\\"1be26c0b-03f2-4d2e-ae87-c02d7f33c781\\\" on \\\"1be26c0b-03f2-4d2e-ae87-c02d7f33c123\\\" while it is in state \\\"inspecting\\\".\", \"debuginfo\": null}"} DEBUG util.py:445: 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-c4a27410-e3d4-4349-99ba-927c7ace6520 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.19 DEBUG util.py:445: {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2024-05-14T11:54:13.515114+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 {'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/a7c7a926-7373-49e9-b86f-2c65d775994b DEBUG util.py:445: Openstack-Request-Id: req-b596e733-9e23-44d2-8857-0fab4aea9a02 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"uuid": "a7c7a926-7373-49e9-b86f-2c65d775994b", "created_at": "2024-05-14T11:54:13.804125+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/a7c7a926-7373-49e9-b86f-2c65d775994b", "rel": "self"}, {"href": "http://localhost/ports/a7c7a926-7373-49e9-b86f-2c65d775994b", "rel": "bookmark"}], "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "portgroup_uuid": "6eb02b44-18a3-4659-8c0b-8d2802581ae4"} DEBUG util.py:445: GET: /v1/ports/a7c7a926-7373-49e9-b86f-2c65d775994b {} DEBUG util.py:445: GOT:{'uuid': 'a7c7a926-7373-49e9-b86f-2c65d775994b', 'created_at': '2024-05-14T11:54:13.804125+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/a7c7a926-7373-49e9-b86f-2c65d775994b', 'rel': 'self'}, {'href': 'http://localhost/ports/a7c7a926-7373-49e9-b86f-2c65d775994b', 'rel': 'bookmark'}], 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'portgroup_uuid': '6eb02b44-18a3-4659-8c0b-8d2802581ae4'} DEBUG util.py:445: POST: /v1/ports {'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'address': '52:54:00:cf:2d:31', 'extra': {}, 'local_link_connection': {'switch_id': '0a:1b:2c:3d:4e:5f', 'port_id': 'Ethernet1/15'}, 'pxe_enabled': True, 'physical_network': None, 'is_smartnic': False, 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'portgroup_uuid': '6eb02b44-18a3-4659-8c0b-8d2802581ae4'} DEBUG util.py:445: GOT:Response: 201 Created DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Location: http://localhost/v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 DEBUG util.py:445: Openstack-Request-Id: req-30348dc9-ab65-4f6c-80ee-8bcaa2c08db6 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2024-05-14T11:54:13.843295+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': 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-4927368e-22e3-444a-b3b7-96f2274f82c7 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2024-05-14T11:54:13.875025+00:00", "updated_at": null, "address": "52:54:00:cf:2d:31", "extra": {}, "internal_info": {}, "is_smartnic": false, "local_link_connection": {"switch_id": "0a:1b:2c:3d:4e:5f", "port_id": "Ethernet3/1", "switch_info": "switch1"}, "physical_network": null, "pxe_enabled": false, "links": [{"href": "http://localhost/v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "self"}, {"href": "http://localhost/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "bookmark"}], "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "portgroup_uuid": null} DEBUG util.py:445: POST: /v1/ports {'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'address': '52:54:00:cf:2d:31', 'extra': {}, 'local_link_connection': {'switch_id': '0a:1b:2c:3d:4e:5f', 'port_id': 'Ethernet3/1', 'switch_info': 'switch1'}, 'pxe_enabled': True, 'physical_network': None, 'is_smartnic': False, 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123'} DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_port.TestPost.test_create_port_novif_pxe_noportgroup [0.032896s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_port.TestPost.test_create_port_novif_pxe_portgroup_nostandalone_ports [0.030293s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_port.TestPost.test_create_port_portgroup [0.033828s] ... ok DEBUG util.py:445: POST: /v1/ports {'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'address': '52:54:00:cf:2d:31', 'extra': {}, 'local_link_connection': {'switch_id': '0a:1b:2c:3d:4e:5f', 'port_id': 'Ethernet3/1', 'switch_info': 'switch1'}, 'pxe_enabled': True, 'physical_network': None, 'is_smartnic': False, 'node_uuid': '4b77aaba-e4de-4a4b-912b-646b67ce1a29', '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-6ab316ef-6e3e-4829-a173-909ff8d56840 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 4b77aaba-e4de-4a4b-912b-646b67ce1a29 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: 406 Not Acceptable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-e7525452-cef4-4247-9ebf-d4e69bb96340 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.15 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Request not acceptable.\", \"debuginfo\": null}"} DEBUG util.py:445: POST: /v1/ports {'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'address': '52:54:00:cf:2d:31', 'extra': {}, 'local_link_connection': {'switch_id': '0a:1b:2c:3d:4e:5f', 'port_id': 'Ethernet3/1', 'switch_info': 'switch1'}, 'pxe_enabled': 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-58c0906a-5bcb-4452-8a02-c6b184debbd9 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2024-05-14T11:54:13.715973+00:00", "updated_at": null, "address": "52:54:00:cf:2d:31", "extra": {}, "internal_info": {}, "is_smartnic": false, "local_link_connection": {"switch_id": "0a:1b:2c:3d:4e:5f", "port_id": "Ethernet3/1", "switch_info": "switch1"}, "physical_network": null, "pxe_enabled": false, "links": [{"href": "http://localhost/v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "self"}, {"href": "http://localhost/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "bookmark"}], "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "portgroup_uuid": null} DEBUG util.py:445: POST: /v1/ports {'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'address': '52:54:00:cf:2d:31', 'extra': {}, 'local_link_connection': {'switch_id': '0a:1b:2c:3d:4e:5f', 'port_id': 'Ethernet3/1', 'switch_info': 'switch1'}, 'pxe_enabled': True, 'physical_network': None, 'is_smartnic': False, 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'portgroup_uuid': '6eb02b44-18a3-4659-8c0b-8d2802581ae4'} DEBUG util.py:445: GOT:Response: 409 Conflict DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-260961f6-029c-44e1-958e-e3cab1f788ff DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Port group 6eb02b44-18a3-4659-8c0b-8d2802581ae4 doesn't support standalone ports. This port cannot be created as a member of that portgroup as the port's 'pxe_enabled' field was set to True.\", \"debuginfo\": null}"} DEBUG util.py:445: POST: /v1/ports {'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'address': '52:54:00:cf:2d:31', 'extra': {}, 'local_link_connection': {'switch_id': '0a:1b:2c:3d:4e:5f', 'port_id': 'Ethernet3/1', 'switch_info': 'switch1'}, 'pxe_enabled': True, 'physical_network': None, 'is_smartnic': False, 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'portgroup_uuid': '6eb02b44-18a3-4659-8c0b-8d2802581ae4'} DEBUG util.py:445: GOT:Response: 201 Created DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Location: http://localhost/v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 DEBUG util.py:445: Openstack-Request-Id: req-b37b9233-61db-46c9-a705-088698343f97 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2024-05-14T11:54:13.778794+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': {'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-21a73202-2904-4065-904a-61fa9404da9a DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.63 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Request not acceptable.\", \"debuginfo\": null}"} DEBUG util.py:445: 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-2db71356-a538-477d-9623-ccc226fe54aa DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2024-05-14T11:54:13.838293+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: DELETE: /v1/portgroups/blah DEBUG util.py:445: GOT:Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-f0a349e0-f06e-4e92-8606-aabb9a456390 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Portgroup blah could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: DELETE: /v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4 DEBUG util.py:445: GOT:Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: {"error_message": "{\"code\": 404, \"title\": \"Not Found\", \"description\": \"\"}"} DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_portgroup.TestListPortgroups.test_detail_using_query_and_fields [0.022754s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_portgroup.TestListPortgroups.test_detail_using_query_old_version [0.022316s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_portgroup.TestListPortgroups.test_empty [0.023897s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_port.TestPost.test_create_port_portgroup_uuid_not_found [0.028659s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_port.TestPatch.test_update_port_address_normalized [0.059301s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_port.TestPortsController__CheckAllowedPortFields.test__check_allowed_port_fields_allow [0.014032s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_portgroup.TestListPortgroups.test_get_collection_custom_fields [0.029135s] ... 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.028469s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_portgroup.TestListPortgroups.test_get_one_with_json_in_name [0.026862s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_port.TestPortsController__GetPortsCollection.test__get_ports_collection [0.012732s] ... 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-1ca66277-d0ac-4cd9-ac66-b4f4cd46b4fd DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Expected UUID for node_uuid: invalid-format\", \"debuginfo\": null}"} 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-83fb9878-1986-4ac2-bb87-6a57a8741060 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.26 DEBUG util.py:445: {"uuid": "6eb02b44-18a3-4659-8c0b-8d2802581ae4", "created_at": "2024-05-14T11:54:13.686725+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} DEBUG util.py:445: GOT:Response: 400 Bad Request DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-938684d2-f153-4df8-bffd-dfaa17cb9fa2 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Schema error for portgroup: 'node_uuid' is a required property Failed validating 'required' in schema\", \"debuginfo\": null}"} DEBUG util.py:445: POST: /v1/portgroups {'uuid': '6eb02b44-18a3-4659-8c0b-8d2802581ae4', 'name': 'fooname', 'address': '52:54:00:cf:2d:31', 'extra': {}, 'standalone_ports_supported': True, 'node_uuid': '1a1a1a1a-2b2b-3c3c-4d4d-5e5e5e5e5e5e'} DEBUG util.py:445: GOT:Response: 400 Bad Request DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-c2c39120-f25d-494b-9bcc-1814722513a0 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1a1a1a1a-2b2b-3c3c-4d4d-5e5e5e5e5e5e could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: POST: /v1/portgroups {'uuid': '6eb02b44-18a3-4659-8c0b-8d2802581ae4', 'name': 'fooname', 'address': '52:54:00:cf:2d:31', 'extra': {'str': 'foo', 'int': 123, 'float': 0.1, 'bool': True, 'list': [1, 2], 'none': None, 'dict': {'cat': 'meow'}}, 'standalone_ports_supported': True, 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123'} DEBUG util.py:445: GOT:Response: 201 Created DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Location: http://localhost/v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4 DEBUG util.py:445: Openstack-Request-Id: req-ea2c852a-4ebd-40a0-b049-e465e083b17a DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"uuid": "6eb02b44-18a3-4659-8c0b-8d2802581ae4", "created_at": "2024-05-14T11:54:13.761818+00:00", "updated_at": null, "address": "52:54:00:cf:2d:31", "extra": {"str": "foo", "int": 123, "float": 0.1, "bool": true, "list": [1, 2], "none": null, "dict": {"cat": "meow"}}, "internal_info": {}, "mode": "active-backup", "name": "fooname", "properties": {}, "standalone_ports_supported": true, "links": [{"href": "http://localhost/v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4", "rel": "self"}, {"href": "http://localhost/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4", "rel": "bookmark"}], "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "ports": [{"href": "http://localhost/v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4/ports", "rel": "self"}, {"href": "http://localhost/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4/ports", "rel": "bookmark"}]} DEBUG util.py:445: GET: /v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4 {} DEBUG util.py:445: GOT:{'uuid': '6eb02b44-18a3-4659-8c0b-8d2802581ae4', 'created_at': '2024-05-14T11:54:13.761818+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/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-452b1685-e39f-40d6-8941-9cc75fa1058e DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Detected change in ramdisk provided \\\"callback_url\\\"\", \"debuginfo\": null}"} DEBUG util.py:445: POST: /v1/heartbeat/a2321dfc-4b9f-4930-8878-8f00ad624111 {'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-f2fd220d-c86e-4e42-a869-760b9e26b36e DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node a2321dfc-4b9f-4930-8878-8f00ad624111 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-04e95a39-dd11-4198-92fd-b90570801d56 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: POST: /v1/heartbeat/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 {'callback_url': 'url', 'agent_token': 'x'} DEBUG util.py:445: GOT:Response: 202 Accepted DEBUG util.py:445: Openstack-Request-Id: req-3774b971-07df-4a99-8408-fd11d45d75e2 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: POST: /v1/heartbeat/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 {'callback_url': 'url', 'agent_token': 'meow', 'agent_verify_ca': 'abcd', 'agent_status': 'wow', 'agent_status_message': 'much status'} DEBUG util.py:445: GOT:Response: 400 Bad Request DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-87064e18-4f62-4b10-94bf-40df32cb1887 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.71 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Fields \\\"agent_status\\\" and \\\"agent_status_message\\\" not recognised.\", \"debuginfo\": null}"} DEBUG util.py:445: GET: /v1/lookup?addresses=11:22:33:44:55:66,66:55:44:33:22:11&node_uuid=6078e180-cf35-425c-8419-c418841f16ae {} DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_ramdisk.TestLookup.test_fast_deploy_lookup [0.064154s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_ramdisk.TestLookup.test_found_by_only_uuid [0.067197s] ... 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.026309s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_ramdisk.TestLookup.test_found_by_uuid [0.033270s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_port.TestPost.test_create_port [0.047734s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_portgroup.TestListPortgroups.test_links [0.042233s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_ramdisk.TestLookup.test_nothing_provided [0.033784s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_port.TestPost.test_create_port_invalid_addr_format [0.026132s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_portgroup.TestListPortgroups.test_portgroup_by_address_invalid_address_format [0.025375s] ... 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-124b1f21-dc88-4280-b4c1-0ff81351cb2a DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2024-05-14T11:54:13.907983+00:00", "updated_at": null, "address": "52:54:00:cf:2d:31", "extra": {}, "internal_info": {}, "is_smartnic": false, "local_link_connection": {"switch_id": "0a:1b:2c:3d:4e:5f", "port_id": "Ethernet3/1", "switch_info": "switch1"}, "physical_network": null, "pxe_enabled": true, "links": [{"href": "http://localhost/v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "self"}, {"href": "http://localhost/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "bookmark"}], "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "portgroup_uuid": null} DEBUG util.py:445: POST: /v1/ports {'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'address': '52:54:00:cf:2d:31', 'extra': {}, 'local_link_connection': {'switch_id': '0a:1b:2c:3d:4e:5f', 'port_id': 'Ethernet3/1', 'switch_info': 'switch1'}, 'pxe_enabled': True, 'physical_network': None, 'is_smartnic': False, 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'portgroup_uuid': '6eb02b44-18a3-4659-8c0b-8d2802581ae4'} DEBUG util.py:445: GOT:Response: 409 Conflict DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-2b4656f9-9b50-4005-9a6e-8a4c3631f83c DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Port group 6eb02b44-18a3-4659-8c0b-8d2802581ae4 doesn't support standalone ports. This port cannot be created as a member of that portgroup as the port's 'pxe_enabled' field was set to True.\", \"debuginfo\": null}"} DEBUG util.py:445: POST: /v1/ports {'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'address': '52:54:00:cf:2d:31', 'extra': {}, 'local_link_connection': {'switch_id': '0a:1b:2c:3d:4e:5f', 'port_id': 'Ethernet3/1', 'switch_info': 'switch1'}, 'pxe_enabled': True, 'physical_network': None, 'is_smartnic': False, 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'portgroup_uuid': '6eb02b44-18a3-4659-8c0b-8d2802581ae4'} DEBUG util.py:445: GOT:Response: 201 Created DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Location: http://localhost/v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 DEBUG util.py:445: Openstack-Request-Id: req-7b18842d-ef7a-426e-8879-a7c229edd3a3 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2024-05-14T11:54:13.971398+00:00", "updated_at": null, "address": "52:54:00:cf:2d:31", "extra": {}, "internal_info": {}, "is_smartnic": false, "local_link_connection": {"switch_id": "0a:1b:2c:3d:4e:5f", "port_id": "Ethernet3/1", "switch_info": "switch1"}, "physical_network": null, "pxe_enabled": true, "links": [{"href": "http://localhost/v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "self"}, {"href": "http://localhost/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "bookmark"}], "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "portgroup_uuid": "6eb02b44-18a3-4659-8c0b-8d2802581ae4"} DEBUG util.py:445: POST: /v1/ports {'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'address': '52:54:00:cf:2d:31', 'extra': {}, 'local_link_connection': {'switch_id': '0a:1b:2c:3d:4e:5f', 'port_id': 'Ethernet3/1', 'switch_info': 'switch1'}, 'pxe_enabled': True, 'physical_network': None, 'is_smartnic': False, 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'portgroup_uuid': '1a1a1a1a-2b2b-3c3c-4d4d-5e5e5e5e5e5e'} DEBUG util.py:445: GOT:Response: 400 Bad Request DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-8e0b9177-2625-4e95-b31d-7b8ba0cc4f56 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Portgroup 1a1a1a1a-2b2b-3c3c-4d4d-5e5e5e5e5e5e could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: POST: /v1/ports {'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'address': '52:54:00:cf:2d:31', 'extra': {}, 'local_link_connection': {'switch_id': '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-9d7d4f19-835a-4e95-bc49-278ee58cd3b6 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.1 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Request not acceptable.\", \"debuginfo\": null}"} DEBUG util.py:445: POST: /v1/ports {'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'address': '52:54:00:cf:2d:31', 'extra': {}, 'local_link_connection': {'switch_id': '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-5e5ad82b-2c15-44a2-b828-43ec0c29e844 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Schema error for local_link_connection: Additional properties are not allowed ('switch_foo' was unexpected) Failed validating 'additionalProperties' in schema[0]\", \"debuginfo\": null}"} DEBUG util.py:445: POST: /v1/ports {'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'address': '52:54:00:cf:2d:31', 'extra': {'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-282ce414-ed8b-41bd-a7b8-5bf29c9a25ba DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2024-05-14T11:54:14.088471+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: {3} ironic.tests.unit.api.controllers.v1.test_port.TestPost.test_create_port_valid_extra [0.039103s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_port.TestPost.test_create_port_vif_pxe_noportgroup [0.030321s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_port.TestPost.test_create_port_with_is_smartnic [0.035378s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_ramdisk.TestLookupScopedRBAC.test_fast_deploy_lookup [0.055359s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_portgroup.TestListPortgroups.test_sort_key_allowed [0.054246s] ... ok 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-e1dbb91c-b57d-4a36-806b-1e41c3bdef96 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.1 DEBUG util.py:445: {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2024-05-14T11:54:13.714563+00:00", "updated_at": "2024-05-14T11:54:13.751931+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': '/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-f508a8db-7605-4650-b66a-d55b7b421dcb DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.1 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Couldn't apply patch '{'path': '/extra/non-existent', 'op': 'remove'}'. Reason: can't remove non-existent object 'non-existent'\", \"debuginfo\": null}"} DEBUG util.py:445: PATCH: /v1/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-835d7f5f-ff72-4969-a539-e3697917176c DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.34 DEBUG util.py:445: {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2024-05-14T11:54:13.823586+00:00", "updated_at": "2024-05-14T11:54:13.834745+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-4df2a4a5-b10d-4edd-8fc7-5489f5df491f DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.34 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Request not acceptable.\", \"debuginfo\": null}"} DEBUG util.py:445: PATCH: /v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 [{'path': '/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-9cc5531b-d1d7-4089-9453-8f63aad7d8cd DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.33 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Request not acceptable.\", \"debuginfo\": null}"} DEBUG util.py:445: PATCH: /v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 [{'path': '/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-f358853e-5315-4860-8d75-2a49756bcba7 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.1 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Request not acceptable.\", \"debuginfo\": null}"} DEBUG util.py:445: PATCH: /v1/ports/ffc2d6f2-414f-4471-8b6c-ff61f20c00e0 [{'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-8daad8df-0d78-4b8c-8f52-56d4604b2738 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.1 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Port ffc2d6f2-414f-4471-8b6c-ff61f20c00e0 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-1812e714-3971-440a-9b9e-a4c504d677c6 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.1 DEBUG util.py:445: {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2024-05-14T11:54:13.977916+00:00", "updated_at": "2024-05-14T11:54:14.002700+00:00", "address": "aa:bb:cc:dd:ee:ff", "extra": {}, "links": [{"href": "http://localhost/v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "self"}, {"href": "http://localhost/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "bookmark"}], "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123"} DEBUG util.py:445: POST: /v1/ports {'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'address': '52:54:00:cf:2d:31', 'extra': {}, 'local_link_connection': {'switch_id': '0a:1b:2c:3d:4e:5f', 'port_id': 'Ethernet3/1', 'switch_info': 'switch1'}, 'pxe_enabled': True, 'physical_network': None, 'is_smartnic': False, 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'portgroup_uuid': '6eb02b44-18a3-4659-8c0b-8d2802581ae4'} DEBUG util.py:445: GOT:Response: 201 Created DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Location: http://localhost/v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 DEBUG util.py:445: Openstack-Request-Id: req-1200f2c6-fede-444b-926d-52cceb2a0d33 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2000-01-01T00:00:00+00:00", "updated_at": null, "address": "52:54:00:cf:2d:31", "extra": {}, "internal_info": {}, "is_smartnic": false, "local_link_connection": {"switch_id": "0a:1b:2c:3d:4e:5f", "port_id": "Ethernet3/1", "switch_info": "switch1"}, "physical_network": null, "pxe_enabled": true, "links": [{"href": "http://localhost/v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "self"}, {"href": "http://localhost/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "bookmark"}], "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "portgroup_uuid": "6eb02b44-18a3-4659-8c0b-8d2802581ae4"} 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': '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-391b0206-d493-4f4e-8fe1-b829fc52bdf2 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.1 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Expected valid MAC address for address: invalid-format\", \"debuginfo\": null}"} DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_port.TestPost.test_create_port_invalid_node_uuid_format [0.026017s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_port.TestPost.test_create_port_min_api_version [0.045231s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_portgroup.TestPatch.test_add_multi [0.037149s] ... 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.028508s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_port.TestPost.test_create_port_with_physical_network_old_api_version [0.028458s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_port.TestPost.test_create_port_with_pxe_enabled_old_api_version [0.026847s] ... ok DEBUG util.py:445: GOT:{'node': {'uuid': '6078e180-cf35-425c-8419-c418841f16ae', '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/6078e180-cf35-425c-8419-c418841f16ae', 'rel': 'self'}, {'href': 'http://localhost/nodes/6078e180-cf35-425c-8419-c418841f16ae', '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=6078e180-cf35-425c-8419-c418841f16ae {} DEBUG util.py:445: GOT:{'node': {'uuid': '6078e180-cf35-425c-8419-c418841f16ae', '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/6078e180-cf35-425c-8419-c418841f16ae', 'rel': 'self'}, {'href': 'http://localhost/nodes/6078e180-cf35-425c-8419-c418841f16ae', '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=6078e180-cf35-425c-8419-c418841f16ae {} DEBUG util.py:445: GOT:{'node': {'uuid': '6078e180-cf35-425c-8419-c418841f16ae', '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/6078e180-cf35-425c-8419-c418841f16ae', 'rel': 'self'}, {'href': 'http://localhost/nodes/6078e180-cf35-425c-8419-c418841f16ae', '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?node_uuid=8c92f405-2193-45ec-a071-db4ff3e67652 {} DEBUG util.py:445: GOT:{'node': {'uuid': '8c92f405-2193-45ec-a071-db4ff3e67652', '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/8c92f405-2193-45ec-a071-db4ff3e67652', 'rel': 'self'}, {'href': 'http://localhost/nodes/8c92f405-2193-45ec-a071-db4ff3e67652', '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=fe43adde-a6ce-4e31-91aa-c93472e3f91f {} DEBUG util.py:445: GOT:{'node': {'uuid': 'fe43adde-a6ce-4e31-91aa-c93472e3f91f', '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/fe43adde-a6ce-4e31-91aa-c93472e3f91f', 'rel': 'self'}, {'href': 'http://localhost/nodes/fe43adde-a6ce-4e31-91aa-c93472e3f91f', '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 {} DEBUG util.py:445: GOT:Response: 400 Bad Request DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-4e0caae0-92d7-4dda-91cc-1cb0393a239b DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"At least one of 'addresses' and 'node_uuid' parameters is required\", \"debuginfo\": null}"} DEBUG util.py:445: GET: /v1/lookup?addresses=11:22:33:44:55:66,66:55:44:33:22:11&node_uuid=90518e98-10e6-40ff-8061-b8249761ff48 {} DEBUG util.py:445: GOT:{'node': {'uuid': '90518e98-10e6-40ff-8061-b8249761ff48', '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/90518e98-10e6-40ff-8061-b8249761ff48', 'rel': 'self'}, {'href': 'http://localhost/nodes/90518e98-10e6-40ff-8061-b8249761ff48', '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=90518e98-10e6-40ff-8061-b8249761ff48 {} DEBUG util.py:445: GOT:{'node': {'uuid': '90518e98-10e6-40ff-8061-b8249761ff48', '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/90518e98-10e6-40ff-8061-b8249761ff48', 'rel': 'self'}, {'href': 'http://localhost/nodes/90518e98-10e6-40ff-8061-b8249761ff48', '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=90518e98-10e6-40ff-8061-b8249761ff48 {} DEBUG util.py:445: GOT:{'node': {'uuid': '90518e98-10e6-40ff-8061-b8249761ff48', '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/90518e98-10e6-40ff-8061-b8249761ff48', 'rel': 'self'}, {'href': 'http://localhost/nodes/90518e98-10e6-40ff-8061-b8249761ff48', 'rel': 'bookmark'}]}, 'config': {'metrics': {'backend': 'statsd', 'prepend_host': False, 'prepend_uuid': False, 'prepend_host_reverse': True, 'global_prefix': None}, 'metrics_statsd': {'statsd_host': 'localhost', 'statsd_port': 8125}, 'heartbeat_timeout': 300, 'agent_token': 'abcxyz', 'agent_token_required': True}} DEBUG util.py:445: GET: /v1/lookup?addresses=11:22:33:44:55:66,66:55:44:33:22:11 {} DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_ramdisk.TestLookupScopedRBAC.test_found_by_addresses [0.071185s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_root.TestCheckVersions.test_check_version_ok [0.012818s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_port.TestPost.test_create_port_with_internal_field [0.063798s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_root.TestV1Routing.test_max_version [0.017574s] ... ok 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-656b026a-4c32-4f45-802d-17a3b79b0ac9 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Can not specify ?detail=True and fields in the same request.\", \"debuginfo\": null}"} DEBUG util.py:445: GET: /v1/portgroups?detail=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-b3e22de2-99b2-4aa4-9bad-b6ab73a76f5d DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.42 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Invalid query parameter ?detail=True received.\", \"debuginfo\": null}"} DEBUG util.py:445: GET: /v1/portgroups {} DEBUG util.py:445: GOT:{'portgroups': []} DEBUG util.py:445: GET: /v1/portgroups?fields=uuid,extra {} DEBUG util.py:445: GOT:{'portgroups': [{'uuid': 'd119dc96-1927-49cf-a655-5145961831df', 'extra': {}, 'links': [{'href': 'http://localhost/v1/portgroups/d119dc96-1927-49cf-a655-5145961831df', 'rel': 'self'}, {'href': 'http://localhost/portgroups/d119dc96-1927-49cf-a655-5145961831df', 'rel': 'bookmark'}]}, {'uuid': 'c033a05a-e102-4cbc-bb30-e68853ed70f3', 'extra': {}, 'links': [{'href': 'http://localhost/v1/portgroups/c033a05a-e102-4cbc-bb30-e68853ed70f3', 'rel': 'self'}, {'href': 'http://localhost/portgroups/c033a05a-e102-4cbc-bb30-e68853ed70f3', 'rel': 'bookmark'}]}, {'uuid': 'd6894ac7-8676-4c24-a3d8-06c51848464b', 'extra': {}, 'links': [{'href': 'http://localhost/v1/portgroups/d6894ac7-8676-4c24-a3d8-06c51848464b', 'rel': 'self'}, {'href': 'http://localhost/portgroups/d6894ac7-8676-4c24-a3d8-06c51848464b', 'rel': 'bookmark'}]}]} DEBUG util.py:445: GET: /v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4 {} DEBUG util.py:445: GOT:{'uuid': '6eb02b44-18a3-4659-8c0b-8d2802581ae4', 'created_at': '2024-05-14T11:54:14.033679+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/ee4a5e5f-5627-4526-936b-56dbd245cc5a {} DEBUG util.py:445: GOT:{'uuid': 'ee4a5e5f-5627-4526-936b-56dbd245cc5a', 'created_at': '2024-05-14T11:54:14.060270+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/ee4a5e5f-5627-4526-936b-56dbd245cc5a', 'rel': 'self'}, {'href': 'http://localhost/portgroups/ee4a5e5f-5627-4526-936b-56dbd245cc5a', 'rel': 'bookmark'}], 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'ports': [{'href': 'http://localhost/v1/portgroups/ee4a5e5f-5627-4526-936b-56dbd245cc5a/ports', 'rel': 'self'}, {'href': 'http://localhost/portgroups/ee4a5e5f-5627-4526-936b-56dbd245cc5a/ports', 'rel': 'bookmark'}]} DEBUG util.py:445: GET: /v1/portgroups/ee4a5e5f-5627-4526-936b-56dbd245cc5a {} DEBUG util.py:445: GOT:{'uuid': 'ee4a5e5f-5627-4526-936b-56dbd245cc5a', 'created_at': '2024-05-14T11:54:14.060270+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/ee4a5e5f-5627-4526-936b-56dbd245cc5a', 'rel': 'self'}, {'href': 'http://localhost/portgroups/ee4a5e5f-5627-4526-936b-56dbd245cc5a', 'rel': 'bookmark'}], 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'ports': [{'href': 'http://localhost/v1/portgroups/ee4a5e5f-5627-4526-936b-56dbd245cc5a/ports', 'rel': 'self'}, {'href': 'http://localhost/portgroups/ee4a5e5f-5627-4526-936b-56dbd245cc5a/ports', 'rel': 'bookmark'}]} DEBUG util.py:445: GET: /portgroups/ee4a5e5f-5627-4526-936b-56dbd245cc5a {} DEBUG util.py:445: GOT:{'uuid': 'ee4a5e5f-5627-4526-936b-56dbd245cc5a', 'created_at': '2024-05-14T11:54:14.060270+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/ee4a5e5f-5627-4526-936b-56dbd245cc5a', 'rel': 'self'}, {'href': 'http://localhost/portgroups/ee4a5e5f-5627-4526-936b-56dbd245cc5a', 'rel': 'bookmark'}], 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'ports': [{'href': 'http://localhost/v1/portgroups/ee4a5e5f-5627-4526-936b-56dbd245cc5a/ports', 'rel': 'self'}, {'href': 'http://localhost/portgroups/ee4a5e5f-5627-4526-936b-56dbd245cc5a/ports', 'rel': 'bookmark'}]} DEBUG util.py:445: GET: /v1/portgroups?address=invalid-mac-format {} DEBUG util.py:445: GOT:Response: 400 Bad Request DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-d93664fb-e79d-4e24-9f37-bafb6f89efe9 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Expected valid MAC address for address: invalid-mac-format\", \"debuginfo\": null}"} DEBUG util.py:445: GET: /v1/portgroups?sort_key=mode {} DEBUG util.py:445: GOT:{'portgroups': [{'uuid': '0ec3445a-c58d-4cb9-807e-2e76cb3ea324', 'address': '52:54:00:cf:2d:31', 'name': 'portgroup1', 'links': [{'href': 'http://localhost/v1/portgroups/0ec3445a-c58d-4cb9-807e-2e76cb3ea324', 'rel': 'self'}, {'href': 'http://localhost/portgroups/0ec3445a-c58d-4cb9-807e-2e76cb3ea324', 'rel': 'bookmark'}]}, {'uuid': '188fc0af-2a1e-4cca-a022-b9514139c967', 'address': '52:54:00:cf:2d:32', 'name': 'portgroup2', 'links': [{'href': 'http://localhost/v1/portgroups/188fc0af-2a1e-4cca-a022-b9514139c967', 'rel': 'self'}, {'href': 'http://localhost/portgroups/188fc0af-2a1e-4cca-a022-b9514139c967', 'rel': 'bookmark'}]}, {'uuid': 'f32ebe45-0bd1-45b7-9094-aaecfcee243e', 'address': '52:54:00:cf:2d:33', 'name': 'portgroup3', 'links': [{'href': 'http://localhost/v1/portgroups/f32ebe45-0bd1-45b7-9094-aaecfcee243e', 'rel': 'self'}, {'href': 'http://localhost/portgroups/f32ebe45-0bd1-45b7-9094-aaecfcee243e', 'rel': 'bookmark'}]}]} 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-a580bbf9-a97e-4370-8b38-bef36e93eb46 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"uuid": "6eb02b44-18a3-4659-8c0b-8d2802581ae4", "created_at": "2024-05-14T11:54:14.185805+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': '/address', 'op': 'remove'}] DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_portgroup.TestPatch.test_remove_address [0.064418s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_port.TestPost.test_portgroups_subresource_post [0.027644s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_utils.TestApiUtils.test_get_patch_values_success [0.013487s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_utils.TestApiUtils.test_is_path_updated_similar_subpath [0.011808s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_utils.TestApiUtils.test_is_path_updated_success [0.014761s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_portgroup.TestDelete.test_delete_portgroup_byname_with_json [0.026817s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_utils.TestApiUtils.test_patch_validate_allowed_fields [0.011735s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_port.TestPost.test_create_port_with_is_smartnic_default_value [0.064603s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_utils.TestApiUtils.test_sanitize_dict [0.012375s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_portgroup.TestDelete.test_delete_portgroup_node_locked [0.030001s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckAllowFields.test_allow_configdrive_vendor_data [0.012093s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_portgroup.TestPatch.test_remove_multi [0.083378s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckAllowFields.test_allow_deploy_steps [0.012075s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_portgroup.TestListPortgroups.test_get_one_with_json [0.027819s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckAllowFields.test_allow_links_node_states_and_driver_properties [0.012573s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_port.TestPost.test_create_port_with_is_smartnic_missing_port_id [0.052338s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_portgroup.TestPatch.test_update_byaddress_not_allowed [0.034479s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckAllowFields.test_allow_node_rebuild_with_configdrive [0.012329s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckAllowFields.test_allow_port_advanced_net_fields [0.012166s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckAllowFields.test_allow_port_internal_info [0.012358s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_portgroup.TestPatch.test_update_invalid_name [0.027417s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckAllowFields.test_allow_portgroups_subcontrollers [0.012248s] ... ok DEBUG util.py:445: GOT:{'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'created_at': '2024-05-14T11:54:14.088471+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': 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-01704524-8518-4966-8344-7e31310e2bf4 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2024-05-14T11:54:14.126006+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': {'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-901fe5a3-d090-46a0-b1f1-c7f56ff6138c DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2024-05-14T11:54:14.159901+00:00", "updated_at": null, "address": "52:54:00:cf:2d:31", "extra": {}, "internal_info": {}, "is_smartnic": true, "local_link_connection": {"hostname": "host1", "port_id": "rep0-0"}, "physical_network": null, "pxe_enabled": true, "links": [{"href": "http://localhost/v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "self"}, {"href": "http://localhost/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "bookmark"}], "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "portgroup_uuid": "6eb02b44-18a3-4659-8c0b-8d2802581ae4"} DEBUG util.py:445: POST: /v1/ports {'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'address': '52:54:00:cf:2d:31', 'extra': {}, 'local_link_connection': {'switch_id': '0a:1b:2c:3d:4e:5f', 'port_id': 'Ethernet3/1', 'switch_info': 'switch1'}, 'pxe_enabled': True, 'physical_network': None, 'is_smartnic': 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-7d366b8f-ef72-413f-8fc4-83836a5668a9 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.52 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Request not acceptable.\", \"debuginfo\": null}"} DEBUG util.py:445: POST: /v1/ports {'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'address': '52:54:00:cf:2d:31', 'extra': {}, 'local_link_connection': {'switch_id': '0a:1b:2c:3d:4e:5f', 'port_id': 'Ethernet3/1', 'switch_info': 'switch1'}, 'pxe_enabled': True, 'physical_network': '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-6719101d-3f7f-46f1-b53c-636a2357dc0f DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.33 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Request not acceptable.\", \"debuginfo\": null}"} DEBUG util.py:445: POST: /v1/ports {'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'address': '52:54:00:cf:2d:31', 'extra': {}, 'pxe_enabled': False, 'physical_network': None, 'is_smartnic': False, 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123'} DEBUG util.py:445: GOT:Response: 406 Not Acceptable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-2a93f0c4-3284-43f2-9e45-9ea5ab210738 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.14 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Request not acceptable.\", \"debuginfo\": null}"} DEBUG util.py:445: POST: /v1/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-ab1c973a-fa97-4859-aac0-9e4aa520f54d DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.24 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Operation not permitted.\", \"debuginfo\": null}"} DEBUG util.py:445: DELETE: /v1/portgroups/pg.1.json DEBUG util.py:445: GOT:Response: 204 No Content DEBUG util.py:445: Openstack-Request-Id: req-c43b41a6-c437-45d3-a766-d0c8b9de3327 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: DELETE: /v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4 DEBUG util.py:445: GOT:Response: 409 Conflict DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-3bcecb74-10d7-4364-8506-303a5834dcdd DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node fake-node is locked by host fake-host, please retry after the current operation is completed.\", \"debuginfo\": null}"} DEBUG util.py:445: GET: /v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4.json {} DEBUG util.py:445: GOT:{'uuid': '6eb02b44-18a3-4659-8c0b-8d2802581ae4', 'created_at': '2024-05-14T11:54:14.353925+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: {3} ironic.tests.unit.api.controllers.v1.test_portgroup.TestListPortgroups.test_one [0.027496s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_portgroup.TestListPortgroups.test_portgroup_by_address [0.028397s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckAllowFields.test_allow_ramdisk_endpoints [0.012729s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_port.TestPost.test_create_port_with_physical_network_upgrade [0.062713s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_portgroup.TestPatch.test_update_not_found [0.024972s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckAllowFields.test_allow_remove_chassis_uuid [0.012257s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_portgroup.TestListPortgroups.test_portgroup_by_address_non_existent_address [0.023595s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckAllowFields.test_check_allow_adopt_verbs [0.011728s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckAllowFields.test_check_allow_deploy_steps_version_older [0.011988s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_portgroup.TestDelete.test_delete_portgroup_byid [0.030510s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_portgroup.TestListPortgroups.test_portgroup_get_all_invalid_api_version [0.023534s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_portgroup.TestPatch.test_update_portgroup_address_normalized [0.029518s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckAllowFields.test_check_allow_filter_by_conductor_group [0.012146s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckAllowFields.test_check_allow_filter_driver_type [0.011840s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_portgroup.TestListPortgroups.test_ports_subresource_not_allowed [0.023484s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_portgroup.TestPatch.test_update_portgroup_mode_properties [0.028578s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_portgroup.TestListPortgroups.test_collection_links [0.035128s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckAllowFields.test_check_allow_manage_verbs [0.011987s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckAllowFields.test_check_allow_provide_verbs_fail [0.012157s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_portgroup.TestListPortgroups.test_sort_key_not_allowed [0.023480s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckAllowFields.test_check_allow_specify_resource_class [0.011684s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_portgroup.TestPatch.test_update_portgroup_standalone_ports_supported [0.029440s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_portgroup.TestListPortgroups.test_collection_links_default_limit [0.035446s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckAllowFields.test_check_allow_undeploy_verbs_fail [0.011613s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckAllowFields.test_check_allowed_fields_network_interface [0.012086s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_portgroup.TestPatch.test_add_node_id [0.029644s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_portgroup.TestPatch.test_remove_node_id [0.030396s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckAllowFields.test_check_allowed_portgroup_fields_mode_properties_fail [0.018026s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckListPolicy.test_check_list_policy_with_owner [0.017048s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckNodePolicyAndRetrieve.test_check_node_policy_and_retrieve [0.020994s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_portgroup.TestPatch.test_remove_non_existent_property_fail [0.031313s] ... ok DEBUG util.py:445: POST: /v1/ports {'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'address': '52:54:00:cf:2d:31', 'extra': {}, 'local_link_connection': {'switch_id': '0a:1b:2c:3d:4e:5f', 'port_id': 'Ethernet3/1', 'switch_info': 'switch1'}, 'pxe_enabled': True, 'physical_network': None, 'is_smartnic': False, 'node_uuid': '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-2cbafad2-6344-411f-94eb-937023ffce12 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.1 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Expected UUID for node_uuid: invalid-format\", \"debuginfo\": null}"} DEBUG util.py:445: POST: /v1/ports {'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'address': '52:54:00:cf:2d:31', '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-e89151f0-bc22-4e90-9979-507b675069eb DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.1 DEBUG util.py:445: {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2024-05-14T11:54:14.176657+00:00", "updated_at": null, "address": "52:54:00:cf:2d:31", "extra": {}, "links": [{"href": "http://localhost/v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "self"}, {"href": "http://localhost/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "bookmark"}], "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123"} DEBUG util.py:445: POST: /v1/ports {'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'address': '52:54:00:cf:2d:31', 'extra': {}, 'local_link_connection': {'switch_id': '0a:1b:2c:3d:4e:5f', 'port_id': 'Ethernet3/1', 'switch_info': 'switch1'}, 'pxe_enabled': True, 'physical_network': None, 'is_smartnic': False, 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'portgroup_uuid': '6eb02b44-18a3-4659-8c0b-8d2802581ae4', 'internal_info': {'a': 'b'}} DEBUG util.py:445: GOT:Response: 400 Bad Request DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-1865b2ca-974a-4d04-b31b-67e3a519e62a DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.1 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Schema error for port: Additional properties are not allowed ('internal_info' was unexpected) Failed validating 'additionalProperties' in schema\", \"debuginfo\": null}"} DEBUG util.py:445: POST: /v1/ports {'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'address': '52:54:00:cf:2d:31', 'extra': {}, 'local_link_connection': {'switch_id': '0a:1b:2c:3d:4e:5f', 'port_id': 'Ethernet3/1', 'switch_info': 'switch1'}, 'pxe_enabled': True, 'physical_network': 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-e4324186-0571-4930-be6f-2b8635e61f66 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2024-05-14T11:54:14.312312+00:00", "updated_at": null, "address": "52:54:00:cf:2d:31", "extra": {}, "internal_info": {}, "is_smartnic": false, "local_link_connection": {"switch_id": "0a:1b:2c:3d:4e:5f", "port_id": "Ethernet3/1", "switch_info": "switch1"}, "physical_network": null, "pxe_enabled": true, "links": [{"href": "http://localhost/v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "self"}, {"href": "http://localhost/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "bookmark"}], "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "portgroup_uuid": "6eb02b44-18a3-4659-8c0b-8d2802581ae4"} DEBUG util.py:445: POST: /v1/ports {'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'address': '52:54:00:cf:2d:31', 'extra': {}, 'local_link_connection': {'switch_info': 'switch', 'switch_id': 'aa:bb:cc:dd:ee:ff', 'hostname': 'host'}, 'pxe_enabled': True, 'physical_network': None, 'is_smartnic': True, 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'portgroup_uuid': '6eb02b44-18a3-4659-8c0b-8d2802581ae4'} DEBUG util.py:445: GOT:Response: 400 Bad Request DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-c467725d-696c-4ec4-8955-dddd4809d88b DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Schema error for local_link_connection: 'port_id' is a required property Failed validating 'required' in schema[0]\", \"debuginfo\": null}"} DEBUG util.py:445: POST: /v1/ports {'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'address': '52:54:00:cf:2d:31', 'extra': {}, 'local_link_connection': {'switch_id': '0a:1b:2c:3d:4e:5f', 'port_id': 'Ethernet3/1', 'switch_info': 'switch1'}, 'pxe_enabled': True, 'physical_network': '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-5bf37805-8c28-4fb3-8887-6a32e6cdbe4f DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Request not acceptable.\", \"debuginfo\": null}"} DEBUG util.py:445: 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-f86ee26d-efa4-4473-a825-9b2f8e11f187 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: GET: /v1/portgroups/?limit=3 {} DEBUG util.py:445: GOT:{'portgroups': [{'uuid': 'ea296e53-ff39-432b-ac59-ed832a7abc3c', 'address': '52:54:00:cf:2d:30', 'name': 'portgroup0', 'links': [{'href': 'http://localhost/v1/portgroups/ea296e53-ff39-432b-ac59-ed832a7abc3c', 'rel': 'self'}, {'href': 'http://localhost/portgroups/ea296e53-ff39-432b-ac59-ed832a7abc3c', 'rel': 'bookmark'}]}, {'uuid': '10b7eaf8-aa03-4fc1-a069-953e8a90e4b0', 'address': '52:54:00:cf:2d:31', 'name': 'portgroup1', 'links': [{'href': 'http://localhost/v1/portgroups/10b7eaf8-aa03-4fc1-a069-953e8a90e4b0', 'rel': 'self'}, {'href': 'http://localhost/portgroups/10b7eaf8-aa03-4fc1-a069-953e8a90e4b0', 'rel': 'bookmark'}]}, {'uuid': '3585e063-ce3c-4f2b-954d-544bece010eb', 'address': '52:54:00:cf:2d:32', 'name': 'portgroup2', 'links': [{'href': 'http://localhost/v1/portgroups/3585e063-ce3c-4f2b-954d-544bece010eb', 'rel': 'self'}, {'href': 'http://localhost/portgroups/3585e063-ce3c-4f2b-954d-544bece010eb', 'rel': 'bookmark'}]}], 'next': 'http://localhost/v1/portgroups?sort_key=id&sort_dir=asc&fields=uuid,address,name&limit=3&marker=3585e063-ce3c-4f2b-954d-544bece010eb'} DEBUG util.py:445: GET: /v1/portgroups {} DEBUG util.py:445: GOT:{'portgroups': [{'uuid': 'f03599b7-3b25-4943-aa16-ebb6774762ea', 'address': '52:54:00:cf:2d:30', 'name': 'portgroup0', 'links': [{'href': 'http://localhost/v1/portgroups/f03599b7-3b25-4943-aa16-ebb6774762ea', 'rel': 'self'}, {'href': 'http://localhost/portgroups/f03599b7-3b25-4943-aa16-ebb6774762ea', 'rel': 'bookmark'}]}, {'uuid': '0d1ad40d-b5c4-4fe2-b353-9aa9bab70146', 'address': '52:54:00:cf:2d:31', 'name': 'portgroup1', 'links': [{'href': 'http://localhost/v1/portgroups/0d1ad40d-b5c4-4fe2-b353-9aa9bab70146', 'rel': 'self'}, {'href': 'http://localhost/portgroups/0d1ad40d-b5c4-4fe2-b353-9aa9bab70146', 'rel': 'bookmark'}]}, {'uuid': 'ede4c28f-182c-46e5-821f-307830c1f5cc', 'address': '52:54:00:cf:2d:32', 'name': 'portgroup2', 'links': [{'href': 'http://localhost/v1/portgroups/ede4c28f-182c-46e5-821f-307830c1f5cc', 'rel': 'self'}, {'href': 'http://localhost/portgroups/ede4c28f-182c-46e5-821f-307830c1f5cc', 'rel': 'bookmark'}]}], 'next': 'http://localhost/v1/portgroups?sort_key=id&sort_dir=asc&fields=uuid,address,name&limit=3&marker=ede4c28f-182c-46e5-821f-307830c1f5cc'} DEBUG util.py:445: GET: /v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4/detail {} DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_portgroup.TestListPortgroups.test_detail_against_single [0.023794s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_portgroup.TestListPortgroups.test_detail_sort_key_allowed [0.033428s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_portgroup.TestPatch.test_update_byid [0.031310s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckNodePolicyAndRetrieve.test_check_node_policy_and_retrieve_no_node [0.020616s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckNodePolicyAndRetrieve.test_check_node_policy_and_retrieve_policy_forbidden [0.014633s] ... 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-d4d6a185-dac3-4b66-a12b-5a15e32a5fca DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"uuid": "6eb02b44-18a3-4659-8c0b-8d2802581ae4", "created_at": "2024-05-14T11:54:14.243566+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-8277910c-062f-41d3-bd82-d5d31625ff4c DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"uuid": "6eb02b44-18a3-4659-8c0b-8d2802581ae4", "created_at": "2024-05-14T11:54:14.306714+00:00", "updated_at": "2024-05-14T11:54:14.321029+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-7d606532-d2b6-4271-b776-960006440eb9 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"uuid": "6eb02b44-18a3-4659-8c0b-8d2802581ae4", "created_at": "2024-05-14T11:54:14.306714+00:00", "updated_at": "2024-05-14T11:54:14.321029+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/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': '/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-2698a380-e3a0-4f58-863e-9027b6ca223e DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Portgroup pg.1: Cannot change name to invalid name 'aa:bb_cc'\", \"debuginfo\": null}"} DEBUG util.py:445: PATCH: /v1/portgroups/e28a6088-6d5d-4543-8c94-a577efabcc4b [{'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-b9cc70bc-c303-4171-b14a-71d65720b632 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Portgroup e28a6088-6d5d-4543-8c94-a577efabcc4b 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-932dd17d-76e4-4837-8252-9e9811954f7f DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"uuid": "6eb02b44-18a3-4659-8c0b-8d2802581ae4", "created_at": "2024-05-14T11:54:14.455955+00:00", "updated_at": null, "address": "aa:bb:cc:dd:ee:ff", "extra": {}, "internal_info": {"bar": "buzz"}, "mode": "active-backup", "name": "pg.1", "properties": {}, "standalone_ports_supported": true, "links": [{"href": "http://localhost/v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4", "rel": "self"}, {"href": "http://localhost/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4", "rel": "bookmark"}], "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "ports": [{"href": "http://localhost/v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4/ports", "rel": "self"}, {"href": "http://localhost/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4/ports", "rel": "bookmark"}]} DEBUG util.py:445: PATCH: /v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4 [{'path': '/mode', 'value': '802.3ad', 'op': 'add'}, {'path': '/properties/bond_param', 'value': '100', 'op': 'add'}] DEBUG util.py:445: GOT:Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-39a33f3d-8837-40f7-a586-7d3138111c72 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"uuid": "6eb02b44-18a3-4659-8c0b-8d2802581ae4", "created_at": "2024-05-14T11:54:14.484883+00:00", "updated_at": null, "address": "52:54:00:cf:2d:31", "extra": {}, "internal_info": {"bar": "buzz"}, "mode": "802.3ad", "name": "pg.1", "properties": {"bond_param": "100"}, "standalone_ports_supported": true, "links": [{"href": "http://localhost/v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4", "rel": "self"}, {"href": "http://localhost/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4", "rel": "bookmark"}], "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "ports": [{"href": "http://localhost/v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4/ports", "rel": "self"}, {"href": "http://localhost/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4/ports", "rel": "bookmark"}]} DEBUG util.py:445: PATCH: /v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4 [{'path': '/standalone_ports_supported', 'value': False, 'op': 'replace'}] DEBUG util.py:445: GOT:Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-2b4204fa-5b1d-43d1-9313-e8a292f7b443 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"uuid": "6eb02b44-18a3-4659-8c0b-8d2802581ae4", "created_at": "2024-05-14T11:54:14.514337+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: {1} ironic.tests.unit.api.controllers.v1.test_portgroup.TestPost.test_create_portgroup_address_already_exist [0.031444s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_portgroup.TestPost.test_create_portgroup_name_invalid [0.024121s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_portgroup.TestPost.test_create_portgroup_name_ok [0.032767s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_portgroup.TestPost.test_create_portgroup_with_hyphens_delimiter [0.022458s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_portgroup.TestListPortgroups.test_get_all_by_node_name_ok [0.057259s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckOwnerPolicy.test_check_owner_policy [0.018153s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_ramdisk.TestHeartbeat.test_bad_invalid_agent_status [0.022808s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_portgroup.TestListPortgroups.test_get_all_by_node_uuid_ok [0.026292s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckPortListPolicy.test_check_port_list_policy_forbidden_no_project [0.013132s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_portgroup.TestPost.test_create_portgroup_address_normalized [0.034233s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_ramdisk.TestHeartbeat.test_ok_agent_version [0.022670s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckPortListPolicy.test_check_port_list_policy_non_admin [0.014329s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_utils.TestLocalLinkValidation.test_local_link_connection_net_type_unmanaged_combine_ok [0.012994s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_utils.TestLocalLinkValidation.test_local_link_connection_type_datapath_id [0.012810s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_ramdisk.TestHeartbeat.test_old_API_agent_verify_ca_error [0.021626s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_utils.TestLocalLinkValidation.test_local_link_connection_type_empty_value [0.016755s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_ramdisk.TestHeartbeat.test_old_API_agent_version_error [0.021146s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_ramdisk.TestHeartbeat.test_old_api_version [0.017434s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_utils.TestLocalLinkValidation.test_local_link_connection_type_local_link_keys_mandatory [0.027023s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_ramdisk.TestHeartbeatScopedRBAC.test_ok_agent_token [0.023936s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_utils.TestLocalLinkValidation.test_local_link_connection_type_smart_nic_keys_mandatory [0.014711s] ... 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?address=aa:bb:cc:dd:ee:f1 {} DEBUG util.py:445: GOT:{'portgroups': [{'uuid': '45af8629-be78-40c3-9566-63d3f91e6286', 'address': 'aa:bb:cc:dd:ee:f1', 'name': 'portgroup1', 'links': [{'href': 'http://localhost/v1/portgroups/45af8629-be78-40c3-9566-63d3f91e6286', 'rel': 'self'}, {'href': 'http://localhost/portgroups/45af8629-be78-40c3-9566-63d3f91e6286', '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 {} DEBUG util.py:445: GOT:Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-98344ec3-1084-4548-8213-053a721a4dff DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.14 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Resource could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: GET: /v1/portgroups/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-5887f26e-3062-4a82-907a-8ce3bcf4009c DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.25 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Request not acceptable.\", \"debuginfo\": null}"} DEBUG util.py:445: PATCH: /v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4 [{'path': '/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-303f1136-fca5-44bb-bcf4-05cec4d8fd93 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Cannot patch /node_id. Only the following can be updated: address, extra, mode, name, node_uuid, properties, standalone_ports_supported\", \"debuginfo\": null}"} DEBUG util.py:445: PATCH: /v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4 [{'path': '/node_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-a05b45f3-50c6-4032-8725-a3d079ddaaa1 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Cannot patch /node_id. Only the following can be updated: address, extra, mode, name, node_uuid, properties, standalone_ports_supported\", \"debuginfo\": null}"} DEBUG util.py:445: PATCH: /v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4 [{'path': '/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-197810da-5fe2-402b-b241-00cb5812901e DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Couldn't apply patch '{'path': '/extra/non-existent', 'op': 'remove'}'. Reason: can't remove non-existent object 'non-existent'\", \"debuginfo\": null}"} DEBUG util.py:445: PATCH: /v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4 [{'path': '/extra/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-518e3a7d-8a6c-4080-b3ee-4f094d19c259 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"uuid": "6eb02b44-18a3-4659-8c0b-8d2802581ae4", "created_at": "2024-05-14T11:54:14.625369+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: 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-95281bce-7935-45b8-9c53-1abbf2571c3c DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"uuid": "6eb02b44-18a3-4659-8c0b-8d2802581ae4", "created_at": "2024-05-14T11:54:14.661305+00:00", "updated_at": null, "address": "aa:bb:cc:dd:ee:ff", "extra": {}, "internal_info": {}, "mode": "active-backup", "name": "fooname", "properties": {}, "standalone_ports_supported": true, "links": [{"href": "http://localhost/v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4", "rel": "self"}, {"href": "http://localhost/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4", "rel": "bookmark"}], "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "ports": [{"href": "http://localhost/v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4/ports", "rel": "self"}, {"href": "http://localhost/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4/ports", "rel": "bookmark"}]} DEBUG util.py:445: GET: /v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4 {} DEBUG util.py:445: GOT:{'uuid': '6eb02b44-18a3-4659-8c0b-8d2802581ae4', 'created_at': '2024-05-14T11:54:14.661305+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 {'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/1e9d4a58-ee0c-49ab-87e0-783930c90e38 DEBUG util.py:445: Openstack-Request-Id: req-b5214788-549d-4e25-a855-99c6b9964ecc DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"uuid": "1e9d4a58-ee0c-49ab-87e0-783930c90e38", "created_at": "2024-05-14T11:54:14.703092+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/1e9d4a58-ee0c-49ab-87e0-783930c90e38", "rel": "self"}, {"href": "http://localhost/portgroups/1e9d4a58-ee0c-49ab-87e0-783930c90e38", "rel": "bookmark"}], "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "ports": [{"href": "http://localhost/v1/portgroups/1e9d4a58-ee0c-49ab-87e0-783930c90e38/ports", "rel": "self"}, {"href": "http://localhost/portgroups/1e9d4a58-ee0c-49ab-87e0-783930c90e38/ports", "rel": "bookmark"}]} DEBUG util.py:445: GET: /v1/portgroups/1e9d4a58-ee0c-49ab-87e0-783930c90e38 {} DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_utils.TestNodeIdent.test_is_valid_node_name [0.012265s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_portgroup.TestPost.test_create_portgroup_generate_uuid [0.042677s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_portgroup.TestPost.test_create_portgroup_mode_old_api_version [0.030471s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_portgroup.TestPost.test_create_portgroup_no_address [0.035276s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_utils.TestNodeIdent.test_populate_node_uuid [0.014968s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_utils.TestNodeIdent.test_replace_node_id_with_uuid [0.016342s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_portgroup.TestPost.test_create_portgroup_v123 [0.035159s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_portgroup.TestPost.test_node_uuid_to_node_id_mapping [0.032087s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_utils.TestNodeIdent.test_replace_node_id_with_uuid_not_found [0.015279s] ... ok 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-70a19bc3-0866-44a2-9491-a9da91f34de5 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"uuid": "6eb02b44-18a3-4659-8c0b-8d2802581ae4", "created_at": "2024-05-14T11:54:14.547606+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': 'eb3a9717-9edb-4449-9f57-0f04c286813a', 'name': '4a4df10a-2983-451c-b2d2-00b299f907f8', '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-b56fead3-3756-45c3-a1cd-5572964d2c19 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"A portgroup with MAC address aa:aa:aa:11:22:33 already exists.\", \"debuginfo\": null}"} DEBUG util.py:445: POST: /v1/portgroups {'uuid': '6eb02b44-18a3-4659-8c0b-8d2802581ae4', 'name': '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-e5f16196-bd6c-4262-9951-f84085425d86 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Cannot create portgroup with invalid name 'aa:bb_cc'\", \"debuginfo\": null}"} DEBUG util.py:445: POST: /v1/portgroups {'uuid': '6eb02b44-18a3-4659-8c0b-8d2802581ae4', 'name': 'foo', 'address': 'AA:AA:AA:11:22:33', 'extra': {}, 'standalone_ports_supported': True, 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123'} DEBUG util.py:445: GOT:Response: 201 Created DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Location: http://localhost/v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4 DEBUG util.py:445: Openstack-Request-Id: req-31278ac2-6895-4538-a67b-62b74534d992 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"uuid": "6eb02b44-18a3-4659-8c0b-8d2802581ae4", "created_at": "2024-05-14T11:54:14.603837+00:00", "updated_at": null, "address": "aa:aa:aa:11:22:33", "extra": {}, "internal_info": {}, "mode": "active-backup", "name": "foo", "properties": {}, "standalone_ports_supported": true, "links": [{"href": "http://localhost/v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4", "rel": "self"}, {"href": "http://localhost/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4", "rel": "bookmark"}], "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "ports": [{"href": "http://localhost/v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4/ports", "rel": "self"}, {"href": "http://localhost/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4/ports", "rel": "bookmark"}]} DEBUG util.py:445: GET: /v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4 {} DEBUG util.py:445: GOT:{'uuid': '6eb02b44-18a3-4659-8c0b-8d2802581ae4', 'created_at': '2024-05-14T11:54:14.603837+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, '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-b6baf3ef-dfca-4b3b-8713-8a97fe0fde90 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Expected valid MAC address for address: 52-54-00-cf-2d-31\", \"debuginfo\": null}"} DEBUG util.py:445: POST: /v1/heartbeat/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-2fe7caa5-34d6-457b-b40f-7a82bf49d161 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Agent status is invalid. Valid states are start,end,error.\", \"debuginfo\": null}"} DEBUG util.py:445: POST: /v1/heartbeat/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 {'callback_url': '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-182603b0-9ac5-4e62-a4da-61a261015bc3 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: POST: /v1/heartbeat/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 {'callback_url': 'url', 'agent_token': 'meow', 'agent_verify_ca': 'abcd'} DEBUG util.py:445: GOT:Response: 400 Bad Request DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-d3f85ba4-1223-4748-8c2c-9c03d6eae15a DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.67 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Field \\\"agent_verify_ca\\\" not recognised in this version\", \"debuginfo\": null}"} DEBUG util.py:445: POST: /v1/heartbeat/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 {'callback_url': 'url', 'agent_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-dd546934-5a8a-47d7-8845-6c36086f81bc DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.35 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Field \\\"agent_version\\\" not recognised\", \"debuginfo\": null}"} DEBUG util.py:445: POST: /v1/heartbeat/0a558b91-bfdf-4eb0-a5a4-e689995e0b5e {'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-e6200793-c240-438c-b152-4cd7815c7e33 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.1 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Resource could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: POST: /v1/heartbeat/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 {'callback_url': 'url', 'agent_token': 'abcdef1'} DEBUG util.py:445: GOT:Response: 202 Accepted DEBUG util.py:445: Openstack-Request-Id: req-b37a9fb2-6286-42e2-a9c9-5cbc1de9a9e1 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: POST: /v1/heartbeat/test.1 {'callback_url': 'url', 'agent_token': 'token'} DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_ramdisk.TestHeartbeatScopedRBAC.test_ok_by_name [0.024352s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_ramdisk.TestHeartbeatScopedRBAC.test_old_api_version [0.017988s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_ramdisk.TestLookup.test_not_found [0.036151s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_utils.TestObjectToDict.test_no_args [0.029468s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_ramdisk.TestHeartbeat.test_ok [0.025960s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_portgroup.TestListPortgroups.test_get_all_ports_by_portgroup_uuid [0.170684s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_ramdisk.TestLookup.test_old_api_version [0.026384s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_utils.TestVendorPassthru.test_check_policy [0.013135s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_portgroup.TestListPortgroups.test_get_collection_properties_field_lower_api_version [0.028592s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_versions.TestMaxVersionString.test_max_version_not_pinned [0.011296s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_ramdisk.TestLookupScopedRBAC.test_nothing_provided [0.026176s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_ramdisk.TestHeartbeat.test_ok_agent_token [0.026272s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_root.TestCheckVersions.test_check_version_invalid_major_version [0.013454s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_versions.TestMaxVersionString.test_max_version_not_pinned_in_release_mappings [0.012180s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_versions.TestMaxVersionString.test_max_version_pinned [0.013799s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_portgroup.TestListPortgroups.test_get_one [0.028846s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_root.TestV1Routing.test_min_version [0.016825s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_utils.TestApiUtils.test_apply_jsonpatch [0.012672s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_utils.TestApiUtils.test_apply_jsonpatch_no_add_root_attr [0.012267s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_utils.TestApiUtils.test_apply_jsonpatch_replace_non_existent_list_item [0.012035s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_utils.TestApiUtils.test_check_for_invalid_fields_fail [0.011350s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_portgroup.TestListPortgroups.test_get_one_invalid_api_version [0.025161s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_portgroup.TestListPortgroups.test_get_one_mode_field_lower_api_version [0.027428s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_versions.TestVersionConstants.test_name_value_match [0.013869s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_volume.TestGetVolume.test_get_volume [0.052944s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_utils.TestApiUtils.test_patched_validate_with_schema [0.012668s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_utils.TestApiUtils.test_validate_limit [0.011656s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckAllocationPolicyAndRetrieve.test_check_alloc_policy_and_retrieve_no_alloc_policy_not_found [0.013954s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_portgroup.TestListPortgroups.test_get_one_with_suffix [0.028302s] ... ok DEBUG util.py:445: GOT:{'uuid': '1e9d4a58-ee0c-49ab-87e0-783930c90e38', 'created_at': '2024-05-14T11:54:14.703092+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/1e9d4a58-ee0c-49ab-87e0-783930c90e38', 'rel': 'self'}, {'href': 'http://localhost/portgroups/1e9d4a58-ee0c-49ab-87e0-783930c90e38', 'rel': 'bookmark'}], 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'ports': [{'href': 'http://localhost/v1/portgroups/1e9d4a58-ee0c-49ab-87e0-783930c90e38/ports', 'rel': 'self'}, {'href': 'http://localhost/portgroups/1e9d4a58-ee0c-49ab-87e0-783930c90e38/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, '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-a6dea15a-b230-48de-b980-093d9049934c DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.25 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Request not acceptable.\", \"debuginfo\": null}"} DEBUG util.py:445: POST: /v1/portgroups {'uuid': '6eb02b44-18a3-4659-8c0b-8d2802581ae4', 'name': 'fooname', 'address': '52:54:00:cf:2d:31', 'extra': {}, 'standalone_ports_supported': True, 'properties': {'bond_prop': 123}, 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123'} DEBUG util.py:445: GOT:Response: 406 Not Acceptable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-c9e1515c-1d44-41f2-92c2-994f206d3b55 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.25 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Request not acceptable.\", \"debuginfo\": null}"} DEBUG util.py:445: POST: /v1/portgroups {'uuid': '6eb02b44-18a3-4659-8c0b-8d2802581ae4', 'name': 'fooname', '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-3a5144cf-bea4-4ac5-a859-4fe4fb94c880 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"uuid": "6eb02b44-18a3-4659-8c0b-8d2802581ae4", "created_at": "2024-05-14T11:54:14.770104+00:00", "updated_at": null, "address": null, "extra": {}, "internal_info": {}, "mode": "active-backup", "name": "fooname", "properties": {}, "standalone_ports_supported": true, "links": [{"href": "http://localhost/v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4", "rel": "self"}, {"href": "http://localhost/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4", "rel": "bookmark"}], "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "ports": [{"href": "http://localhost/v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4/ports", "rel": "self"}, {"href": "http://localhost/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4/ports", "rel": "bookmark"}]} DEBUG util.py:445: GET: /v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4 {} DEBUG util.py:445: GOT:{'uuid': '6eb02b44-18a3-4659-8c0b-8d2802581ae4', 'created_at': '2024-05-14T11:54:14.770104+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': '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-823e470d-8d67-47c7-8a90-28694eedaec6 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.23 DEBUG util.py:445: {"uuid": "6eb02b44-18a3-4659-8c0b-8d2802581ae4", "created_at": "2000-01-01T00:00:00+00:00", "updated_at": null, "address": "52:54:00:cf:2d:31", "extra": {}, "internal_info": {}, "mode": "active-backup", "name": "fooname", "properties": {}, "standalone_ports_supported": true, "links": [{"href": "http://localhost/v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4", "rel": "self"}, {"href": "http://localhost/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4", "rel": "bookmark"}], "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "ports": [{"href": "http://localhost/v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4/ports", "rel": "self"}, {"href": "http://localhost/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4/ports", "rel": "bookmark"}]} DEBUG util.py:445: GET: /v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4 {} DEBUG util.py:445: GOT:{'uuid': '6eb02b44-18a3-4659-8c0b-8d2802581ae4', 'created_at': '2000-01-01T00:00:00+00:00', 'updated_at': None, 'address': '52:54:00:cf:2d:31', 'extra': {}, 'internal_info': {}, 'mode': 'active-backup', 'name': 'fooname', 'properties': {}, 'standalone_ports_supported': True, 'links': [{'href': 'http://localhost/v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4', 'rel': 'self'}, {'href': 'http://localhost/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4', 'rel': 'bookmark'}], 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'ports': [{'href': 'http://localhost/v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4/ports', 'rel': 'self'}, {'href': 'http://localhost/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4/ports', 'rel': 'bookmark'}]} DEBUG util.py:445: POST: /v1/portgroups {'uuid': '6eb02b44-18a3-4659-8c0b-8d2802581ae4', 'name': 'fooname', 'address': '52:54:00:cf:2d:31', 'extra': {}, 'standalone_ports_supported': True, 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123'} DEBUG util.py:445: GOT:Response: 201 Created DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Location: http://localhost/v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4 DEBUG util.py:445: Openstack-Request-Id: req-a542fdb7-4b79-4722-9e62-5f412525e6ab DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"uuid": "6eb02b44-18a3-4659-8c0b-8d2802581ae4", "created_at": "2024-05-14T11:54:14.843434+00:00", "updated_at": null, "address": "52:54:00:cf:2d:31", "extra": {}, "internal_info": {}, "mode": "active-backup", "name": "fooname", "properties": {}, "standalone_ports_supported": true, "links": [{"href": "http://localhost/v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4", "rel": "self"}, {"href": "http://localhost/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4", "rel": "bookmark"}], "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "ports": [{"href": "http://localhost/v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4/ports", "rel": "self"}, {"href": "http://localhost/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4/ports", "rel": "bookmark"}]} DEBUG util.py:445: POST: /v1/heartbeat/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 {'callback_url': 'url', 'agent_token': 'x'} DEBUG util.py:445: GOT:Response: 202 Accepted DEBUG util.py:445: Openstack-Request-Id: req-87347c26-d52c-41ac-a6ce-a889cdba1a27 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: POST: /v1/heartbeat/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 {'callback_url': 'url', 'agent_token': 'abcdef1'} DEBUG util.py:445: GOT:Response: 202 Accepted DEBUG util.py:445: Openstack-Request-Id: req-26cf5a89-edf0-44ef-85f5-b548b0f7d3f8 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: POST: /v1/heartbeat/test.1 {'callback_url': 'url', 'agent_token': 'token'} DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_ramdisk.TestHeartbeat.test_ok_by_name [0.025947s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_ramdisk.TestHeartbeat.test_old_api_agent_status_error [0.026699s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_ramdisk.TestHeartbeatScopedRBAC.test_node_not_found [0.022258s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_ramdisk.TestHeartbeatScopedRBAC.test_ok_agent_version [0.027463s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_ramdisk.TestHeartbeatScopedRBAC.test_old_API_agent_version_error [0.023239s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckAllocationPolicyAndRetrieve.test_check_allocation_policy_and_retrieve_policy_not_found [0.013449s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_volume_connector.TestDelete.test_delete_volume_connector_invalid_power_state [0.048914s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckAllowFields.test_allow_deploy_templates [0.012470s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckAllowFields.test_allow_traits [0.011768s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckAllowFields.test_allow_volume [0.011967s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_volume_connector.TestListVolumeConnectors.test_detail [0.042924s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_ramdisk.TestLookup.test_found_by_addresses [0.045118s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckAllowFields.test_check_allow_abort_verbs [0.012226s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckAllowFields.test_check_allow_adopt_verbs_fail [0.012080s] ... 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-aca51f32-8fa7-4b7d-a5e9-ec3b9c63764e DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Resource could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: GET: /v1/portgroups/detail?sort_key=mode {} DEBUG util.py:445: GOT:{'portgroups': [{'uuid': '78742fc3-923b-4d70-a53b-a93cb0b52e61', 'created_at': '2024-05-14T11:54:14.585507+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/78742fc3-923b-4d70-a53b-a93cb0b52e61', 'rel': 'self'}, {'href': 'http://localhost/portgroups/78742fc3-923b-4d70-a53b-a93cb0b52e61', 'rel': 'bookmark'}], 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'ports': [{'href': 'http://localhost/v1/portgroups/78742fc3-923b-4d70-a53b-a93cb0b52e61/ports', 'rel': 'self'}, {'href': 'http://localhost/portgroups/78742fc3-923b-4d70-a53b-a93cb0b52e61/ports', 'rel': 'bookmark'}]}, {'uuid': '5e2cc9a6-c719-4e41-852c-059cd2a07283', 'created_at': '2024-05-14T11:54:14.584638+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/5e2cc9a6-c719-4e41-852c-059cd2a07283', 'rel': 'self'}, {'href': 'http://localhost/portgroups/5e2cc9a6-c719-4e41-852c-059cd2a07283', 'rel': 'bookmark'}], 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'ports': [{'href': 'http://localhost/v1/portgroups/5e2cc9a6-c719-4e41-852c-059cd2a07283/ports', 'rel': 'self'}, {'href': 'http://localhost/portgroups/5e2cc9a6-c719-4e41-852c-059cd2a07283/ports', 'rel': 'bookmark'}]}, {'uuid': 'b1c03380-c12e-4765-a514-16d80163911c', 'created_at': '2024-05-14T11:54:14.583707+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/b1c03380-c12e-4765-a514-16d80163911c', 'rel': 'self'}, {'href': 'http://localhost/portgroups/b1c03380-c12e-4765-a514-16d80163911c', 'rel': 'bookmark'}], 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'ports': [{'href': 'http://localhost/v1/portgroups/b1c03380-c12e-4765-a514-16d80163911c/ports', 'rel': 'self'}, {'href': 'http://localhost/portgroups/b1c03380-c12e-4765-a514-16d80163911c/ports', 'rel': 'bookmark'}]}]} DEBUG util.py:445: GET: /v1/portgroups?node=test-node {} DEBUG util.py:445: GOT:{'portgroups': [{'uuid': '9b697f8c-c3d5-486d-abf1-bccfd4ab7007', 'address': '52:54:00:cf:2d:30', 'name': 'portgroup0', 'links': [{'href': 'http://localhost/v1/portgroups/9b697f8c-c3d5-486d-abf1-bccfd4ab7007', 'rel': 'self'}, {'href': 'http://localhost/portgroups/9b697f8c-c3d5-486d-abf1-bccfd4ab7007', 'rel': 'bookmark'}]}, {'uuid': '86a5a99c-87be-494e-9bf1-fb0612130e85', 'address': '52:54:00:cf:2d:31', 'name': 'portgroup1', 'links': [{'href': 'http://localhost/v1/portgroups/86a5a99c-87be-494e-9bf1-fb0612130e85', 'rel': 'self'}, {'href': 'http://localhost/portgroups/86a5a99c-87be-494e-9bf1-fb0612130e85', 'rel': 'bookmark'}]}, {'uuid': 'e0622ffd-f98b-4520-81cf-0062d29f4b61', 'address': '52:54:00:cf:2d:32', 'name': 'portgroup2', 'links': [{'href': 'http://localhost/v1/portgroups/e0622ffd-f98b-4520-81cf-0062d29f4b61', 'rel': 'self'}, {'href': 'http://localhost/portgroups/e0622ffd-f98b-4520-81cf-0062d29f4b61', 'rel': 'bookmark'}]}]} DEBUG util.py:445: GET: /v1/portgroups/detail?node=1be26c0b-03f2-4d2e-ae87-c02d7f33c123 {} DEBUG util.py:445: GOT:{'portgroups': [{'uuid': '6eb02b44-18a3-4659-8c0b-8d2802581ae4', 'created_at': '2024-05-14T11:54:14.674986+00:00', 'updated_at': None, 'address': '52:54:00:cf:2d:31', 'extra': {}, 'internal_info': {'bar': 'buzz'}, 'mode': 'active-backup', 'name': 'fooname', 'properties': {}, 'standalone_ports_supported': True, 'links': [{'href': 'http://localhost/v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4', 'rel': 'self'}, {'href': 'http://localhost/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4', 'rel': 'bookmark'}], 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'ports': [{'href': 'http://localhost/v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4/ports', 'rel': 'self'}, {'href': 'http://localhost/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4/ports', 'rel': 'bookmark'}]}]} DEBUG util.py:445: GET: /v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4/ports {} DEBUG util.py:445: GOT:{'ports': [{'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'address': '52:54:00:cf:2d:31', 'links': [{'href': 'http://localhost/v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'rel': 'self'}, {'href': 'http://localhost/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'rel': 'bookmark'}]}]} 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-626e997e-7d51-48a4-9a3e-e7ec41b23134 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.25 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Request not acceptable.\", \"debuginfo\": null}"} DEBUG util.py:445: GET: /v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4 {} DEBUG util.py:445: GOT:{'uuid': '6eb02b44-18a3-4659-8c0b-8d2802581ae4', 'created_at': '2024-05-14T11:54:14.908708+00:00', 'updated_at': None, 'address': '52:54:00:cf:2d:31', 'extra': {}, 'internal_info': {'bar': 'buzz'}, 'mode': 'active-backup', 'name': 'fooname', 'properties': {}, 'standalone_ports_supported': True, 'links': [{'href': 'http://localhost/v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4', 'rel': 'self'}, {'href': 'http://localhost/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4', 'rel': 'bookmark'}], 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'ports': [{'href': 'http://localhost/v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4/ports', 'rel': 'self'}, {'href': 'http://localhost/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4/ports', 'rel': 'bookmark'}]} DEBUG util.py:445: GET: /v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4 {} DEBUG util.py:445: GOT:Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: {"error_message": "{\"code\": 404, \"title\": \"Not Found\", \"description\": \"\"}"} DEBUG util.py:445: GET: /v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4?fields=address,mode {} DEBUG util.py:445: GOT:Response: 406 Not Acceptable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-6245195b-6bbf-4157-903a-cb495926cd4b DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.25 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Request not acceptable.\", \"debuginfo\": null}"} DEBUG util.py:445: GET: /v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4 {} DEBUG util.py:445: GOT:{'uuid': '6eb02b44-18a3-4659-8c0b-8d2802581ae4', 'created_at': '2024-05-14T11:54:14.990716+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/2c25aa8b-fa48-4695-aa3d-f4b69d40269e/ports {} DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_portgroup.TestListPortgroups.test_ports_subresource [0.067424s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_portgroup.TestListPortgroups.test_sort_key_invalid [0.029521s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_ramdisk.TestLookup.test_restrict_lookup [0.030237s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckAllowFields.test_check_allow_configdrive_as_dict [0.013668s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckAllowFields.test_check_allow_driver_detail_false [0.012149s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckAllowFields.test_check_allow_driver_detail_none [0.011853s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_portgroup.TestPatch.test_add_node_uuid [0.032007s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_ramdisk.TestLookupScopedRBAC.test_found_by_only_uuid [0.030957s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckAllowFields.test_check_allow_specify_fields [0.011781s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckAllowFields.test_check_allow_specify_fields_fail [0.012181s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckAllowFields.test_check_allowed_portgroup_fields_mode_properties [0.011897s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_portgroup.TestPatch.test_add_root [0.031351s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_ramdisk.TestLookupScopedRBAC.test_found_by_uuid [0.032200s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckListPolicy.test_check_list_policy_forbidden [0.012751s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_ramdisk.TestLookupScopedRBAC.test_no_restrict_lookup [0.030094s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_portgroup.TestPatch.test_add_root_non_existent [0.028693s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckListPolicy.test_check_list_policy_non_admin [0.013173s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckMultipleNodePoliciesAndRetrieve.test_check_multiple_node_policies_and_retrieve_first_fail [0.013435s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckOwnerPolicy.test_check_owner_policy_forbidden [0.013345s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_ramdisk.TestLookupScopedRBAC.test_not_found [0.028457s] ... ok DEBUG util.py:445: GOT:{'ports': [{'uuid': '48d48811-09f4-4cdd-9ee8-aa8a9c9d8274', 'address': '52:54:00:cf:2d:30', 'links': [{'href': 'http://localhost/v1/ports/48d48811-09f4-4cdd-9ee8-aa8a9c9d8274', 'rel': 'self'}, {'href': 'http://localhost/ports/48d48811-09f4-4cdd-9ee8-aa8a9c9d8274', 'rel': 'bookmark'}]}, {'uuid': 'df16a078-8ce9-4717-a8c1-1b3b1434b67b', 'address': '52:54:00:cf:2d:31', 'links': [{'href': 'http://localhost/v1/ports/df16a078-8ce9-4717-a8c1-1b3b1434b67b', 'rel': 'self'}, {'href': 'http://localhost/ports/df16a078-8ce9-4717-a8c1-1b3b1434b67b', 'rel': 'bookmark'}]}]} DEBUG util.py:445: GET: /v1/portgroups/2c25aa8b-fa48-4695-aa3d-f4b69d40269e/ports/detail {} DEBUG util.py:445: GOT:{'ports': [{'uuid': '48d48811-09f4-4cdd-9ee8-aa8a9c9d8274', 'created_at': '2024-05-14T11:54:15.021199+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/48d48811-09f4-4cdd-9ee8-aa8a9c9d8274', 'rel': 'self'}, {'href': 'http://localhost/ports/48d48811-09f4-4cdd-9ee8-aa8a9c9d8274', 'rel': 'bookmark'}], 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'portgroup_uuid': '2c25aa8b-fa48-4695-aa3d-f4b69d40269e'}, {'uuid': 'df16a078-8ce9-4717-a8c1-1b3b1434b67b', 'created_at': '2024-05-14T11:54:15.022424+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/df16a078-8ce9-4717-a8c1-1b3b1434b67b', 'rel': 'self'}, {'href': 'http://localhost/ports/df16a078-8ce9-4717-a8c1-1b3b1434b67b', 'rel': 'bookmark'}], 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'portgroup_uuid': '2c25aa8b-fa48-4695-aa3d-f4b69d40269e'}]} DEBUG util.py:445: GET: /v1/portgroups/2c25aa8b-fa48-4695-aa3d-f4b69d40269e/ports?limit=1 {} DEBUG util.py:445: GOT:{'ports': [{'uuid': '48d48811-09f4-4cdd-9ee8-aa8a9c9d8274', 'address': '52:54:00:cf:2d:30', 'links': [{'href': 'http://localhost/v1/ports/48d48811-09f4-4cdd-9ee8-aa8a9c9d8274', 'rel': 'self'}, {'href': 'http://localhost/ports/48d48811-09f4-4cdd-9ee8-aa8a9c9d8274', 'rel': 'bookmark'}]}], 'next': 'http://localhost/v1/ports?sort_key=id&sort_dir=asc&fields=uuid,address&limit=1&marker=48d48811-09f4-4cdd-9ee8-aa8a9c9d8274'} DEBUG util.py:445: GET: /v1/portgroups/2c25aa8b-fa48-4695-aa3d-f4b69d40269e/ports/c1dfb354-2a1d-4e92-8dc8-35157ea53c27 {} 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/2c25aa8b-fa48-4695-aa3d-f4b69d40269e/ports/7c1053d2-3c2e-487b-9add-178732e040d5 {} DEBUG util.py:445: GOT:Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-76a27736-2f66-4149-a6d3-5c11ffba29a8 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Operation not permitted.\", \"debuginfo\": null}"} DEBUG util.py:445: GET: /v1/portgroups?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-d5fe8237-4673-4110-b695-ea2f89f6f9ba DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"The sort_key value \\\"foo\\\" is an invalid field for sorting\", \"debuginfo\": null}"} DEBUG util.py:445: GET: /v1/portgroups?sort_key=extra {} DEBUG util.py:445: GOT:Response: 400 Bad Request DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-b24411a2-35e5-4682-8472-899500619be2 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"The sort_key value extra is an invalid field for sorting\", \"debuginfo\": null}"} DEBUG util.py:445: GET: /v1/portgroups?sort_key=internal_info {} DEBUG util.py:445: GOT:Response: 400 Bad Request DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-2a06cf62-1a91-4cec-b9e7-8d05cfa59a0f DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"The sort_key value internal_info is an invalid field for sorting\", \"debuginfo\": null}"} DEBUG util.py:445: GET: /v1/portgroups?sort_key=properties {} DEBUG util.py:445: GOT:Response: 400 Bad Request DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-7b887446-a500-4d81-8d18-c8ad363124d6 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"The sort_key value properties is an invalid field for sorting\", \"debuginfo\": null}"} DEBUG util.py:445: PATCH: /v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4 [{'path': '/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-1f36bfb8-65e9-44f5-9abc-7a8cef28bc2a DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"uuid": "6eb02b44-18a3-4659-8c0b-8d2802581ae4", "created_at": "2024-05-14T11:54:15.118069+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-6ff5c4b0-6723-4141-be1b-1153e70b60ab DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"uuid": "6eb02b44-18a3-4659-8c0b-8d2802581ae4", "created_at": "2024-05-14T11:54:15.148810+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': '/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-bb029dc7-9c86-4b1b-bf6e-9aca34e2df2b DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Cannot patch /foo. Only the following can be updated: address, extra, mode, name, node_uuid, properties, standalone_ports_supported\", \"debuginfo\": null}"} DEBUG util.py:445: PATCH: /v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4 [{'path': '/mode', 'op': 'remove'}] DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_portgroup.TestPatch.test_remove_mode_not_allowed [0.029904s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_portgroup.TestPatch.test_update_address_invalid_format [0.028281s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_ramdisk.TestLookupScopedRBAC.test_old_api_version [0.025276s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckPortListPolicy.test_check_port_list_policy [0.013592s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_volume_connector.TestListVolumeConnectors.test_get_collection_custom_fields [0.199522s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_ramdisk.TestLookupScopedRBAC.test_restrict_lookup [0.028247s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_portgroup.TestPatch.test_update_byname [0.031100s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckPortListPolicy.test_check_port_list_policy_forbidden [0.012430s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckPortPolicyAndRetrieve.test_check_port_policy_and_retrieve_no_port [0.013215s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_utils.TestLocalLinkValidation.test_local_link_connection_type [0.013424s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_utils.TestNodeIdent.test_get_rpc_node_expect_uuid [0.013244s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_root.TestCheckVersions.test_check_version_too_high [0.012019s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_utils.TestNodeIdent.test_get_rpc_node_invalid_name [0.013059s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_volume_connector.TestListVolumeConnectors.test_get_collection_pagination_no_uuid [0.032096s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_root.TestCheckVersions.test_check_version_too_low [0.011379s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_utils.TestObjectToDict.test_no_base_attributes [0.012354s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_utils.TestApiUtils.test_check_for_invalid_fields [0.011861s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_portgroup.TestPatch.test_update_byname_with_json [0.037371s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_utils.TestPortgroupIdent.test_get_rpc_portgroup_uuid [0.012424s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_utils.TestApiUtils.test_get_patch_values_multiple_success [0.011373s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_utils.TestVendorPassthru.test_driver_vendor_passthru_sync [0.011989s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_utils.TestApiUtils.test_get_patch_values_no_path [0.011197s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_volume_connector.TestListVolumeConnectors.test_get_one [0.029090s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_utils.TestVendorPassthru.test_vendor_passthru_async [0.012324s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_utils.TestApiUtils.test_get_patch_values_remove [0.011151s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_portgroup.TestPost.test_create_portgroup [0.036696s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_utils.TestVendorPassthru.test_vendor_passthru_attach [0.011820s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_utils.TestApiUtils.test_is_path_removed_similar_subpath [0.011377s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_utils.TestVendorPassthru.test_vendor_passthru_attach_unicode_to_byte [0.011953s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_utils.TestApiUtils.test_is_path_updated_subpath_success [0.011176s] ... ok DEBUG util.py:445: GOT:{'node': {'uuid': 'd282b7d6-0285-40fb-98fb-12a63bd9c755', '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/d282b7d6-0285-40fb-98fb-12a63bd9c755', 'rel': 'self'}, {'href': 'http://localhost/nodes/d282b7d6-0285-40fb-98fb-12a63bd9c755', '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/ {} DEBUG util.py:445: GOT:{'id': 'v1', 'links': [{'href': 'http://localhost/v1/', 'rel': 'self'}, {'href': 'https://docs.openstack.org//ironic/latest/contributor//webapi.html', 'rel': 'describedby', 'type': 'text/html'}], 'media_types': {'base': 'application/json', 'type': 'application/vnd.openstack.ironic.v1+json'}, 'chassis': [{'href': 'http://localhost/v1/chassis/', 'rel': 'self'}, {'href': 'http://localhost/chassis/', 'rel': 'bookmark'}], 'nodes': [{'href': 'http://localhost/v1/nodes/', 'rel': 'self'}, {'href': 'http://localhost/nodes/', 'rel': 'bookmark'}], 'ports': [{'href': 'http://localhost/v1/ports/', 'rel': 'self'}, {'href': 'http://localhost/ports/', 'rel': 'bookmark'}], 'drivers': [{'href': 'http://localhost/v1/drivers/', 'rel': 'self'}, {'href': 'http://localhost/drivers/', 'rel': 'bookmark'}], 'version': {'id': 'v1', 'links': [{'href': 'http://localhost/v1/', 'rel': 'self'}], 'status': 'CURRENT', 'min_version': '1.1', 'version': '1.78'}, 'portgroups': [{'href': 'http://localhost/v1/portgroups/', 'rel': 'self'}, {'href': 'http://localhost/portgroups/', 'rel': 'bookmark'}], 'volume': [{'href': 'http://localhost/v1/volume/', 'rel': 'self'}, {'href': 'http://localhost/volume/', 'rel': 'bookmark'}], 'lookup': [{'href': 'http://localhost/v1/lookup/', 'rel': 'self'}, {'href': 'http://localhost/lookup/', 'rel': 'bookmark'}], 'heartbeat': [{'href': 'http://localhost/v1/heartbeat/', 'rel': 'self'}, {'href': 'http://localhost/heartbeat/', 'rel': 'bookmark'}], 'conductors': [{'href': 'http://localhost/v1/conductors/', 'rel': 'self'}, {'href': 'http://localhost/conductors/', 'rel': 'bookmark'}], 'allocations': [{'href': 'http://localhost/v1/allocations/', 'rel': 'self'}, {'href': 'http://localhost/allocations/', 'rel': 'bookmark'}], 'events': [{'href': 'http://localhost/v1/events/', 'rel': 'self'}, {'href': 'http://localhost/events/', 'rel': 'bookmark'}], 'deploy_templates': [{'href': 'http://localhost/v1/deploy_templates/', 'rel': 'self'}, {'href': 'http://localhost/deploy_templates/', 'rel': 'bookmark'}]} DEBUG util.py:445: GET: /v1/volume/ {} DEBUG util.py:445: GOT:{'links': [{'href': 'http://localhost/v1/volume/', 'rel': 'self'}, {'href': 'http://localhost/volume/', 'rel': 'bookmark'}], 'connectors': [{'href': 'http://localhost/v1/volume/connectors', 'rel': 'self'}, {'href': 'http://localhost/volume/connectors', 'rel': 'bookmark'}], 'targets': [{'href': 'http://localhost/v1/volume/targets', 'rel': 'self'}, {'href': 'http://localhost/volume/targets', 'rel': 'bookmark'}]} DEBUG util.py:445: GET: /v1/volume/ {} DEBUG util.py:445: GOT:{'links': [{'href': 'http://localhost/v1/volume/', 'rel': 'self'}, {'href': 'http://localhost/volume/', 'rel': 'bookmark'}], 'connectors': [{'href': 'http://localhost/v1/volume/connectors', 'rel': 'self'}, {'href': 'http://localhost/volume/connectors', 'rel': 'bookmark'}], 'targets': [{'href': 'http://localhost/v1/volume/targets', 'rel': 'self'}, {'href': 'http://localhost/volume/targets', 'rel': 'bookmark'}]} DEBUG util.py:445: GET: /volume/ {} DEBUG util.py:445: GOT:{'links': [{'href': 'http://localhost/v1/volume/', 'rel': 'self'}, {'href': 'http://localhost/volume/', 'rel': 'bookmark'}], 'connectors': [{'href': 'http://localhost/v1/volume/connectors', 'rel': 'self'}, {'href': 'http://localhost/volume/connectors', 'rel': 'bookmark'}], 'targets': [{'href': 'http://localhost/v1/volume/targets', 'rel': 'self'}, {'href': 'http://localhost/volume/targets', 'rel': 'bookmark'}]} DEBUG util.py:445: GET: /v1/volume/connectors {} DEBUG util.py:445: GOT:{'connectors': []} DEBUG util.py:445: GET: /volume/connectors {} DEBUG util.py:445: GOT:{'connectors': []} DEBUG util.py:445: GET: /v1/volume/targets {} DEBUG util.py:445: GOT:{'targets': []} DEBUG util.py:445: GET: /volume/targets {} DEBUG util.py:445: GOT:{'targets': []} DEBUG util.py:445: 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-11794908-0322-48e4-8d58-139908b5928f DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"The requested action \\\"volume connector deletion\\\" can not be performed on node \\\"1be26c0b-03f2-4d2e-ae87-c02d7f33c123\\\" while it is in state \\\"power on\\\".\", \"debuginfo\": null}"} DEBUG util.py:445: GET: /v1/volume/connectors?detail=True {} DEBUG util.py:445: GOT:{'connectors': [{'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'created_at': '2024-05-14T11:54:15.068103+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?fields=uuid,extra {} DEBUG util.py:445: GOT:{'connectors': [{'uuid': '56ee360c-a653-45ed-9aa9-a58e9d93ca56', 'extra': {}, 'links': [{'href': 'http://localhost/v1/volume/connectors/56ee360c-a653-45ed-9aa9-a58e9d93ca56', 'rel': 'self'}, {'href': 'http://localhost/volume/connectors/56ee360c-a653-45ed-9aa9-a58e9d93ca56', 'rel': 'bookmark'}]}, {'uuid': '21f15517-b916-45ad-ac56-aed72cc129d6', 'extra': {}, 'links': [{'href': 'http://localhost/v1/volume/connectors/21f15517-b916-45ad-ac56-aed72cc129d6', 'rel': 'self'}, {'href': 'http://localhost/volume/connectors/21f15517-b916-45ad-ac56-aed72cc129d6', 'rel': 'bookmark'}]}, {'uuid': 'ac965a0f-618f-44fa-bf56-b595df897bca', 'extra': {}, 'links': [{'href': 'http://localhost/v1/volume/connectors/ac965a0f-618f-44fa-bf56-b595df897bca', 'rel': 'self'}, {'href': 'http://localhost/volume/connectors/ac965a0f-618f-44fa-bf56-b595df897bca', 'rel': 'bookmark'}]}]} 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/43b16b6c-3258-449f-b796-41de0caa93c8', 'rel': 'self'}, {'href': 'http://localhost/volume/connectors/43b16b6c-3258-449f-b796-41de0caa93c8', 'rel': 'bookmark'}]}, {'connector_id': 'test-connector_id-1', 'links': [{'href': 'http://localhost/v1/volume/connectors/3260493d-929f-42c1-927d-0addf9e4fe49', 'rel': 'self'}, {'href': 'http://localhost/volume/connectors/3260493d-929f-42c1-927d-0addf9e4fe49', 'rel': 'bookmark'}]}], 'next': 'http://localhost/v1/volume/connectors?sort_key=id&sort_dir=asc&fields=connector_id&limit=2&marker=3260493d-929f-42c1-927d-0addf9e4fe49'} DEBUG util.py:445: GET: /v1/volume/connectors/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 {} DEBUG util.py:445: GOT:{'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'created_at': '2024-05-14T11:54:15.328873+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': '/extra/foo1', 'value': 'bar1', 'op': 'add'}, {'path': '/extra/foo2', 'value': 'bar2', 'op': 'add'}, {'path': '/extra/foo3', 'value': 'bar3', 'op': 'add'}] DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_volume_connector.TestPatch.test_add_multi [0.033222s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_volume_connector.TestPatch.test_add_node_uuid_invalid_type [0.028323s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_versions.TestVersionConstants.test_max_ver_str [0.011456s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_volume.TestGetVolume.test_get_volume_invalid_api_version [0.017768s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_utils.TestApiUtils.test_patch_update_changed_fields [0.015207s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckAllocationPolicyAndRetrieve.test_check_allocation_policy_and_retrieve_no_allocation [0.012863s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckAllocationPolicyAndRetrieve.test_check_node_policy_and_retrieve [0.013600s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_portgroup.TestPost.test_create_portgroup_default_mode [0.028536s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckAllowFields.test_allow_agent_token [0.012439s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_volume_connector.TestPatch.test_add_root [0.033261s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckAllowFields.test_allow_dynamic_drivers [0.011816s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckAllowFields.test_allow_inject_nmi [0.011716s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_volume_connector.TestDelete.test_delete_volume_connector_node_locked [0.056423s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckAllowFields.test_allow_port_physical_network_no_pin [0.012811s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckAllowFields.test_allow_port_physical_network_pin [0.012004s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_volume_connector.TestPatch.test_remove_multi [0.043496s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckAllowFields.test_allow_portgroups [0.011802s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_volume_connector.TestListVolumeConnectors.test_collection_links [0.032551s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckAllowFields.test_check_allow_abort_verbs_fail [0.012016s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckAllowFields.test_check_allow_clean_verbs [0.011998s] ... 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-33e5350e-3885-469b-8f29-df8b9b03494b DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"'mode' is a mandatory attribute and can not be removed\", \"debuginfo\": null}"} DEBUG util.py:445: PATCH: /v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4 [{'path': '/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-f9efd407-00c1-48de-9230-adaa22823d92 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Expected valid MAC address for address: invalid-format\", \"debuginfo\": null}"} DEBUG util.py:445: PATCH: /v1/portgroups/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-920673e5-901c-486e-b28d-720aa2aa6fd6 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"uuid": "6eb02b44-18a3-4659-8c0b-8d2802581ae4", "created_at": "2024-05-14T11:54:15.267395+00:00", "updated_at": null, "address": "52:54:00:cf:2d:31", "extra": {"foo": "bar"}, "internal_info": {"bar": "buzz"}, "mode": "active-backup", "name": "pg.1", "properties": {}, "standalone_ports_supported": true, "links": [{"href": "http://localhost/v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4", "rel": "self"}, {"href": "http://localhost/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4", "rel": "bookmark"}], "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "ports": [{"href": "http://localhost/v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4/ports", "rel": "self"}, {"href": "http://localhost/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4/ports", "rel": "bookmark"}]} DEBUG util.py:445: PATCH: /v1/portgroups/pg.1.json [{'path': '/extra/foo', 'value': 'bar', 'op': 'add'}] DEBUG util.py:445: GOT:Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-94bef88f-d848-4b7d-a68c-2cdbae205035 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"uuid": "6eb02b44-18a3-4659-8c0b-8d2802581ae4", "created_at": "2024-05-14T11:54:15.304841+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: 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-d306d2db-dd97-467a-8003-7965eb029ae9 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"uuid": "6eb02b44-18a3-4659-8c0b-8d2802581ae4", "created_at": "2000-01-01T00:00:00+00:00", "updated_at": null, "address": "52:54:00:cf:2d:31", "extra": {}, "internal_info": {}, "mode": "active-backup", "name": "fooname", "properties": {}, "standalone_ports_supported": true, "links": [{"href": "http://localhost/v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4", "rel": "self"}, {"href": "http://localhost/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4", "rel": "bookmark"}], "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "ports": [{"href": "http://localhost/v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4/ports", "rel": "self"}, {"href": "http://localhost/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4/ports", "rel": "bookmark"}]} DEBUG util.py:445: GET: /v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4 {} DEBUG util.py:445: GOT:{'uuid': '6eb02b44-18a3-4659-8c0b-8d2802581ae4', 'created_at': '2000-01-01T00:00:00+00:00', 'updated_at': None, 'address': '52:54:00:cf:2d:31', 'extra': {}, 'internal_info': {}, 'mode': 'active-backup', 'name': 'fooname', 'properties': {}, 'standalone_ports_supported': True, 'links': [{'href': 'http://localhost/v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4', 'rel': 'self'}, {'href': 'http://localhost/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4', 'rel': 'bookmark'}], 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'ports': [{'href': 'http://localhost/v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4/ports', 'rel': 'self'}, {'href': 'http://localhost/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4/ports', 'rel': 'bookmark'}]} DEBUG util.py:445: POST: /v1/portgroups {'uuid': '6eb02b44-18a3-4659-8c0b-8d2802581ae4', 'name': 'fooname', 'address': '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-0bcc7e1f-46b0-434f-a1ec-f56bb6f0206f DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.26 DEBUG util.py:445: {"uuid": "6eb02b44-18a3-4659-8c0b-8d2802581ae4", "created_at": "2024-05-14T11:54:15.377861+00:00", "updated_at": null, "address": "52:54:00:cf:2d:31", "extra": {}, "internal_info": {}, "mode": "active-backup", "name": "fooname", "properties": {}, "standalone_ports_supported": true, "links": [{"href": "http://localhost/v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4", "rel": "self"}, {"href": "http://localhost/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4", "rel": "bookmark"}], "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "ports": [{"href": "http://localhost/v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4/ports", "rel": "self"}, {"href": "http://localhost/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4/ports", "rel": "bookmark"}]} DEBUG util.py:445: POST: /v1/portgroups {'uuid': '6eb02b44-18a3-4659-8c0b-8d2802581ae4', 'name': 'fooname', 'address': '52:54:00:cf:2d:31', 'extra': {'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-1003e306-e965-40b0-9878-1bb846aefcfa DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"uuid": "6eb02b44-18a3-4659-8c0b-8d2802581ae4", "created_at": "2024-05-14T11:54:15.458133+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: {0} ironic.tests.unit.api.controllers.v1.test_portgroup.TestPost.test_create_portgroup_doesnt_contain_id [0.086054s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_portgroup.TestPost.test_create_portgroup_internal_info_not_allowed [0.023298s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_portgroup.TestPost.test_create_portgroup_invalid_api_version [0.022105s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckAllowFields.test_check_allow_configdrive [0.013640s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_volume_connector.TestListVolumeConnectors.test_collection_links_default_limit [0.031899s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_ramdisk.TestHeartbeat.test_ok_agent_status_and_status [0.022829s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_volume_connector.TestListVolumeConnectors.test_detail_against_single [0.028753s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_volume_connector.TestPatch.test_replace_invalid_power_state [0.077914s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_ramdisk.TestHeartbeat.test_ok_with_json [0.022941s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckAllowFields.test_check_allow_configdrive_as_dict_invalid [0.041820s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_ramdisk.TestHeartbeatScopedRBAC.test_bad_invalid_agent_status [0.023294s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckAllowFields.test_check_allow_configdrive_fails [0.014776s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_volume_connector.TestListVolumeConnectors.test_detail_by_node_name_ok [0.029663s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_volume_connector.TestPatch.test_replace_node_id [0.039714s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckAllowFields.test_check_allow_configdrive_vendor_data_failed [0.013531s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_ramdisk.TestHeartbeatScopedRBAC.test_heartbeat_rejects_different_callback_url [0.024863s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckAllowFields.test_check_allow_deploy_steps_empty [0.012324s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_volume_connector.TestListVolumeConnectors.test_detail_false [0.033464s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckAllowFields.test_check_allow_deploy_steps_target_unsupported [0.014257s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_ramdisk.TestHeartbeatScopedRBAC.test_ok_agent_status_and_status [0.025545s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_volume_connector.TestPatch.test_replace_node_uuid [0.036084s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckAllowFields.test_check_allow_deploy_verbs_fail [0.011737s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckAllowFields.test_check_allow_driver_detail [0.012194s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_volume_connector.TestPatch.test_replace_singular [0.035280s] ... 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.031396s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckAllowFields.test_check_allow_filter_by_conductor_group_fail [0.011569s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckAllowFields.test_check_allow_filter_by_conductor_group_none [0.011635s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckAllowFields.test_check_allow_filter_driver_type_fail [0.011810s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckAllowFields.test_check_allow_inspect_verbs_fail [0.011564s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckAllowFields.test_check_allow_manage_verbs_fail [0.011474s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckAllowFields.test_check_allow_specify_driver_fail [0.011920s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_ramdisk.TestHeartbeatScopedRBAC.test_ok_agent_verify_ca [0.042375s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_ramdisk.TestHeartbeatScopedRBAC.test_ok_with_json [0.031132s] ... ok DEBUG util.py:445: GOT:Response: 202 Accepted DEBUG util.py:445: Openstack-Request-Id: req-675c951b-bd02-4524-8510-4b91457a3fc3 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: POST: /v1/heartbeat/d0d59acf-ded9-4d2d-bdb2-279b8b2988e8 {'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-55a18481-bf17-48a7-beec-d6e622d30b65 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.1 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Resource could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: GET: /v1/lookup?addresses=11:22:33:44:55:66,66:55:44:33:22:11 {} DEBUG util.py:445: GOT:Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-412d917d-ef9e-4dc5-877b-f9a677a4a255 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Resource could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: GET: /v1/lookup?addresses=11:22:33:44:55:66,66:55:44:33:22:11 {} DEBUG util.py:445: GOT:Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-68439db4-9025-44dc-92d7-f9baea4b8df9 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.1 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Resource could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: GET: /v1/lookup {} DEBUG util.py:445: GOT:Response: 400 Bad Request DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-4f15ab82-8398-45a6-868e-be4c6d2f2d97 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"At least one of 'addresses' and 'node_uuid' parameters is required\", \"debuginfo\": null}"} DEBUG util.py:445: GET: /v1/ {} DEBUG util.py:445: GOT:{'id': 'v1', 'links': [{'href': 'http://localhost/v1/', 'rel': 'self'}, {'href': 'https://docs.openstack.org//ironic/latest/contributor//webapi.html', 'rel': 'describedby', 'type': 'text/html'}], 'media_types': {'base': 'application/json', 'type': 'application/vnd.openstack.ironic.v1+json'}, 'chassis': [{'href': 'http://localhost/v1/chassis/', 'rel': 'self'}, {'href': 'http://localhost/chassis/', 'rel': 'bookmark'}], 'nodes': [{'href': 'http://localhost/v1/nodes/', 'rel': 'self'}, {'href': 'http://localhost/nodes/', 'rel': 'bookmark'}], 'ports': [{'href': 'http://localhost/v1/ports/', 'rel': 'self'}, {'href': 'http://localhost/ports/', 'rel': 'bookmark'}], 'drivers': [{'href': 'http://localhost/v1/drivers/', 'rel': 'self'}, {'href': 'http://localhost/drivers/', 'rel': 'bookmark'}], 'version': {'id': 'v1', 'links': [{'href': 'http://localhost/v1/', 'rel': 'self'}], 'status': 'CURRENT', 'min_version': '1.1', 'version': '1.78'}} DEBUG util.py:445: GET: /v1/volume/ {} DEBUG util.py:445: GOT:Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-e0bb336e-86fb-42ca-afe3-f39ddeed5938 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.1 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Resource could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: DELETE: /v1/volume/connectors/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 DEBUG util.py:445: GOT:Response: 409 Conflict DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-79d64feb-db4e-413f-b2d9-0fe8369e5caa DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node fake-node is locked by host fake-host, please retry after the current operation is completed.\", \"debuginfo\": null}"} DEBUG util.py:445: GET: /v1/volume/connectors/?limit=3 {} DEBUG util.py:445: GOT:{'connectors': [{'uuid': '193ead30-7b0d-4ec8-9999-5bb66dfa8ffc', 'connector_id': 'test-connector_id-0', 'type': 'iqn', 'links': [{'href': 'http://localhost/v1/volume/connectors/193ead30-7b0d-4ec8-9999-5bb66dfa8ffc', 'rel': 'self'}, {'href': 'http://localhost/volume/connectors/193ead30-7b0d-4ec8-9999-5bb66dfa8ffc', 'rel': 'bookmark'}], 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123'}, {'uuid': 'f1ce9326-01e0-4efb-afa9-7681b512620e', 'connector_id': 'test-connector_id-1', 'type': 'iqn', 'links': [{'href': 'http://localhost/v1/volume/connectors/f1ce9326-01e0-4efb-afa9-7681b512620e', 'rel': 'self'}, {'href': 'http://localhost/volume/connectors/f1ce9326-01e0-4efb-afa9-7681b512620e', 'rel': 'bookmark'}], 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123'}, {'uuid': '2053dde3-a740-4ab7-91ab-627fac0eb04f', 'connector_id': 'test-connector_id-2', 'type': 'iqn', 'links': [{'href': 'http://localhost/v1/volume/connectors/2053dde3-a740-4ab7-91ab-627fac0eb04f', 'rel': 'self'}, {'href': 'http://localhost/volume/connectors/2053dde3-a740-4ab7-91ab-627fac0eb04f', '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=2053dde3-a740-4ab7-91ab-627fac0eb04f'} DEBUG util.py:445: GET: /v1/volume/connectors {} DEBUG util.py:445: GOT:{'connectors': [{'uuid': '03bbfdf9-c48b-4106-a2e4-006e4a00df1c', 'connector_id': 'test-connector_id-0', 'type': 'iqn', 'links': [{'href': 'http://localhost/v1/volume/connectors/03bbfdf9-c48b-4106-a2e4-006e4a00df1c', 'rel': 'self'}, {'href': 'http://localhost/volume/connectors/03bbfdf9-c48b-4106-a2e4-006e4a00df1c', 'rel': 'bookmark'}], 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123'}, {'uuid': '20937251-1e60-4d22-90c6-243635ba7a1c', 'connector_id': 'test-connector_id-1', 'type': 'iqn', 'links': [{'href': 'http://localhost/v1/volume/connectors/20937251-1e60-4d22-90c6-243635ba7a1c', 'rel': 'self'}, {'href': 'http://localhost/volume/connectors/20937251-1e60-4d22-90c6-243635ba7a1c', 'rel': 'bookmark'}], 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123'}, {'uuid': 'f5507b9a-77fb-4403-89e9-3d5e39a65afb', 'connector_id': 'test-connector_id-2', 'type': 'iqn', 'links': [{'href': 'http://localhost/v1/volume/connectors/f5507b9a-77fb-4403-89e9-3d5e39a65afb', 'rel': 'self'}, {'href': 'http://localhost/volume/connectors/f5507b9a-77fb-4403-89e9-3d5e39a65afb', '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=f5507b9a-77fb-4403-89e9-3d5e39a65afb'} 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-d1fa0385-1e48-44b6-aa40-dc1768e16068 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Unexpected arguments: detail\", \"debuginfo\": null}"} DEBUG util.py:445: GET: /v1/volume/connectors?detail=True&node=test-node {} DEBUG util.py:445: GOT:{'connectors': [{'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'created_at': '2024-05-14T11:54:15.572126+00:00', 'updated_at': None, 'connector_id': 'iqn.2012-06.com.example:initiator', 'extra': {}, 'type': 'iqn', 'links': [{'href': 'http://localhost/v1/volume/connectors/1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'rel': 'self'}, {'href': 'http://localhost/volume/connectors/1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'rel': 'bookmark'}], 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123'}]} DEBUG util.py:445: GET: /v1/volume/connectors?detail=False {} DEBUG util.py:445: GOT:{'connectors': [{'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'connector_id': 'iqn.2012-06.com.example:initiator', 'type': 'iqn', 'links': [{'href': 'http://localhost/v1/volume/connectors/1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'rel': 'self'}, {'href': 'http://localhost/volume/connectors/1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'rel': 'bookmark'}], 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123'}]} DEBUG util.py:445: GET: /v1/volume/connectors/detail {} DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_volume_connector.TestListVolumeConnectors.test_detail_sepecified_by_path [0.026143s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_volume_connector.TestListVolumeConnectors.test_empty [0.026974s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_volume_connector.TestListVolumeConnectors.test_get_all_by_node_name_ok [0.036117s] ... 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.025039s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_volume_connector.TestListVolumeConnectors.test_one_invalid_api_version [0.030495s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_ramdisk.TestHeartbeatScopedRBAC.test_old_API_agent_verify_ca_error [0.024233s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckAllowFields.test_check_allow_specify_resource_class_fail [0.011648s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckAllowFields.test_check_allowed_fields_resource_class [0.011613s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckListPolicy.test_check_list_policy_forbidden_no_project [0.012910s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckMultipleNodePoliciesAndRetrieve.test_check_multiple_node_policies_and_retrieve [0.013007s] ... 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.012726s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_ramdisk.TestLookup.test_ignore_malformed_address [0.050225s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckPortPolicyAndRetrieve.test_check_port_policy_and_retrieve_policy_notfound [0.013496s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_ramdisk.TestLookup.test_no_restrict_lookup [0.039630s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_utils.TestLocalLinkValidation.test_local_link_connection_net_type_invalid [0.012249s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_utils.TestLocalLinkValidation.test_local_link_connection_net_type_unmanaged [0.011814s] ... 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.012556s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_utils.TestLocalLinkValidation.test_local_link_connection_type_not_mac_or_datapath_id [0.011901s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_utils.TestLocalLinkValidation.test_local_link_connection_type_smart_nic_keys_hostname_missing [0.012653s] ... 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-48cddf90-d1f6-4843-aec4-35675a410184 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2024-05-14T11:54:15.358012+00:00", "updated_at": null, "connector_id": "iqn.2012-06.com.example:initiator", "extra": {"foo1": "bar1", "foo2": "bar2", "foo3": "bar3"}, "type": "iqn", "links": [{"href": "http://localhost/v1/volume/connectors/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "self"}, {"href": "http://localhost/volume/connectors/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "bookmark"}], "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123"} DEBUG util.py:445: PATCH: /v1/volume/connectors/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 [{'path': '/node_uuid', 'value': 123, 'op': 'add'}] DEBUG util.py:445: GOT:Response: 400 Bad Request DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-5a1036c2-2865-452d-b177-3a7ba6213ae2 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Expected a UUID for node_uuid, but received 123.\", \"debuginfo\": null}"} DEBUG util.py:445: PATCH: /v1/volume/connectors/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 [{'path': '/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-f9f61276-9475-4161-971c-b36360f9a7ef DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2024-05-14T11:54:15.418304+00:00", "updated_at": null, "connector_id": "test-connector-id-123", "extra": {}, "type": "iqn", "links": [{"href": "http://localhost/v1/volume/connectors/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "self"}, {"href": "http://localhost/volume/connectors/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "bookmark"}], "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123"} DEBUG util.py:445: PATCH: /v1/volume/connectors/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 [{'path': '/extra/foo1', '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-64d03089-3978-4228-b0f3-4828f1b9f9e4 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2024-05-14T11:54:15.452775+00:00", "updated_at": "2024-05-14T11:54:15.456151+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-8e51868e-8864-4fd7-a92a-1adcbc7741de DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2024-05-14T11:54:15.452775+00:00", "updated_at": "2024-05-14T11:54:15.456151+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': '/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-20487a71-42f0-42c3-af71-9275cbbd7da3 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"The requested action \\\"volume connector update\\\" can not be performed on node \\\"1be26c0b-03f2-4d2e-ae87-c02d7f33c123\\\" while it is in state \\\"power on\\\".\", \"debuginfo\": null}"} DEBUG util.py:445: PATCH: /v1/volume/connectors/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 [{'path': '/node_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-81f6e38a-020f-4bc0-ae8a-c9aa8411a4ea DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Cannot patch /node_id. Only the following can be updated: connector_id, extra, node_uuid, type\", \"debuginfo\": null}"} DEBUG util.py:445: PATCH: /v1/volume/connectors/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 [{'path': '/node_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-78419a6a-44ce-4c48-80bf-943c88fe88f6 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2024-05-14T11:54:15.616057+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': '/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-82d6e579-c2e4-492d-b2a9-bc8554b0d4d9 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2024-05-14T11:54:15.652270+00:00", "updated_at": null, "connector_id": "test-connector-id-999", "extra": {}, "type": "iqn", "links": [{"href": "http://localhost/v1/volume/connectors/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "self"}, {"href": "http://localhost/volume/connectors/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "bookmark"}], "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123"} DEBUG util.py:445: POST: /v1/volume/connectors {'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'type': 'iqn', 'connector_id': 'iqn.2012-06.com.example:initiator', 'extra': {}, 'node_uuid': 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-d57869ed-978b-49ff-aa41-1800eb401e79 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Schema error for connector: 123 is not of type 'string' Failed validating 'type' in schema['properties']['node_uuid']\", \"debuginfo\": null}"} DEBUG util.py:445: POST: /v1/volume/connectors {'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'type': 'iqn', 'connector_id': 'iqn.2012-06.com.example:initiator', 'extra': {}} DEBUG util.py:445: GOT:Response: 400 Bad Request DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-6bfea4eb-f49f-40ed-9e83-b06f37496541 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Schema error for connector: 'node_uuid' is a required property Failed validating 'required' in schema\", \"debuginfo\": null}"} 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'}{2} ironic.tests.unit.api.controllers.v1.test_volume_connector.TestPost.test_create_volume_connector_no_mandatory_field_type [0.027587s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_volume_connector.TestPost.test_create_volume_connector_type_value_already_exist [0.039960s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_volume_target.TestDelete.test_delete_volume_target_byid [0.035308s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_volume_target.TestDelete.test_delete_volume_target_byid_invalid_api_version [0.031725s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_utils.TestLocalLinkValidation.test_local_link_connection_type_smart_nic_keys_port_id_missing [0.013138s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_utils.TestLocalLinkValidation.test_local_link_connection_type_smart_nic_keys_with_optional [0.012238s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_utils.TestNodeIdent.test_get_rpc_node_by_name_no_logical_name [0.012564s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_utils.TestNodeIdent.test_get_rpc_node_expect_name [0.013111s] ... ok DEBUG util.py:445: GOT:{'uuid': '6eb02b44-18a3-4659-8c0b-8d2802581ae4', 'created_at': '2024-05-14T11:54:15.458133+00:00', 'updated_at': None, 'address': '52:54:00:cf:2d:31', 'extra': {'foo': 123}, 'internal_info': {}, 'mode': 'active-backup', 'name': 'fooname', 'properties': {}, 'standalone_ports_supported': True, 'links': [{'href': 'http://localhost/v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4', 'rel': 'self'}, {'href': 'http://localhost/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4', 'rel': 'bookmark'}], 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'ports': [{'href': 'http://localhost/v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4/ports', 'rel': 'self'}, {'href': 'http://localhost/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4/ports', 'rel': 'bookmark'}]} DEBUG util.py:445: POST: /v1/portgroups {'uuid': '6eb02b44-18a3-4659-8c0b-8d2802581ae4', 'name': 'fooname', 'address': '52:54:00:cf:2d:31', 'extra': {}, 'standalone_ports_supported': True, 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', '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-56265cb7-6497-4525-ad97-48162837fab9 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Schema error for portgroup: Additional properties are not allowed ('internal_info' was unexpected) Failed validating 'additionalProperties' in schema\", \"debuginfo\": null}"} DEBUG util.py:445: POST: /v1/portgroups {'uuid': '6eb02b44-18a3-4659-8c0b-8d2802581ae4', 'name': 'fooname', 'address': '52:54:00:cf:2d:31', 'extra': {}, 'standalone_ports_supported': True, 'node_uuid': '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-715d6b2c-48e5-4f33-8341-7489357afb70 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.14 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Resource could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: POST: /v1/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-6c64ef03-983a-4179-89b2-7a4ac6f4a0b0 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: POST: /v1/heartbeat/1be26c0b-03f2-4d2e-ae87-c02d7f33c123.json {'callback_url': 'url', 'agent_token': 'maybe some magic'} DEBUG util.py:445: GOT:Response: 202 Accepted DEBUG util.py:445: Openstack-Request-Id: req-50d4f97a-65f8-4670-92cb-bf82db9cd43e DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: POST: /v1/heartbeat/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 {'callback_url': 'url', 'agent_token': 'meow', 'agent_status': '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-8de65485-1dc3-42e5-907b-d434b4c680ce DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Agent status is invalid. Valid states are start,end,error.\", \"debuginfo\": null}"} DEBUG util.py:445: POST: /v1/heartbeat/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 {'callback_url': 'url2'} DEBUG util.py:445: GOT:Response: 400 Bad Request DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-aad88b84-fc66-4bd8-892c-b4d9866b5555 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Detected change in ramdisk provided \\\"callback_url\\\"\", \"debuginfo\": null}"} DEBUG util.py:445: POST: /v1/heartbeat/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 {'callback_url': 'url', 'agent_token': 'meow', 'agent_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-f83ff1af-45f5-47c6-b5a3-f67bcf536609 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: POST: /v1/heartbeat/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 {'callback_url': 'url', 'agent_token': 'meow', 'agent_verify_ca': 'abcdef1'} DEBUG util.py:445: GOT:Response: 202 Accepted DEBUG util.py:445: Openstack-Request-Id: req-1719567f-81d6-45c2-b611-64f6486070a8 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: POST: /v1/heartbeat/1be26c0b-03f2-4d2e-ae87-c02d7f33c123.json {'callback_url': 'url', 'agent_token': 'maybe some magic'} DEBUG util.py:445: GOT:Response: 202 Accepted DEBUG util.py:445: Openstack-Request-Id: req-638aa247-8cbf-4b96-8c0b-09afc554698c DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: POST: /v1/heartbeat/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 {'callback_url': 'url', 'agent_token': 'meow', 'agent_verify_ca': 'abcd'} DEBUG util.py:445: GOT:Response: 400 Bad Request DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-89ce5eab-68e8-475d-b465-f7c2d01e1baf DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.67 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Field \\\"agent_verify_ca\\\" not recognised in this version\", \"debuginfo\": null}"} DEBUG util.py:445: GET: /v1/lookup?addresses=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': '7e4d9b92-a7c8-440e-ab27-01b783c93926', '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/7e4d9b92-a7c8-440e-ab27-01b783c93926', 'rel': 'self'}, {'href': 'http://localhost/nodes/7e4d9b92-a7c8-440e-ab27-01b783c93926', '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=b9d929c9-024a-40f7-998b-a89cf0d67dae {} DEBUG util.py:445: GOT:{'node': {'uuid': 'b9d929c9-024a-40f7-998b-a89cf0d67dae', '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/b9d929c9-024a-40f7-998b-a89cf0d67dae', 'rel': 'self'}, {'href': 'http://localhost/nodes/b9d929c9-024a-40f7-998b-a89cf0d67dae', '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=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: {0} ironic.tests.unit.api.controllers.v1.test_ramdisk.TestLookupScopedRBAC.test_ignore_malformed_address [0.045599s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_root.TestV1Routing.test_route_checks_version [0.016849s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_utils.TestApiUtils.test_apply_jsonpatch_remove_non_existent [0.011889s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_utils.TestApiUtils.test_is_path_removed_replace [0.012180s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_utils.TestNodeIdent.test_replace_node_uuid_with_id [0.012790s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_volume_connector.TestPatch.test_add_node_uuid [0.179718s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_utils.TestApiUtils.test_is_path_removed_subpath_success [0.011238s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_volume_target.TestDelete.test_delete_volume_target_node_locked [0.071693s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_utils.TestObjectToDict.test_fields [0.011530s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_utils.TestApiUtils.test_is_path_removed_success [0.011125s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_utils.TestObjectToDict.test_links [0.011859s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_utils.TestApiUtils.test_validate_sort_dir [0.011450s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_volume_connector.TestPatch.test_remove_mandatory_field [0.034845s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_utils.TestVendorPassthru.test_get_controller_reserved_names [0.011388s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckAllowFields.test_allow_inspect_abort [0.011792s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_volume_target.TestListVolumeTargets.test_detail_and_fields [0.026851s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_utils.TestVendorPassthru.test_vendor_passthru_attach_byte_to_byte [0.011756s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckAllowFields.test_allow_port_is_smartnic [0.012325s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_versions.TestVersionConstants.test_duplicates [0.011503s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckAllowFields.test_allow_portgroup_mode_properties [0.011865s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_volume_target.TestListVolumeTargets.test_detail_false [0.029068s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_volume_connector.TestPatch.test_remove_non_existent_property_fail [0.031399s] ... 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.022554s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckAllowFields.test_allow_rescue_interface [0.012650s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckAllowFields.test_allow_storage_interface [0.011680s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_volume_connector.TestPatch.test_remove_uuid [0.029557s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckAllowFields.test_check_allow_clean_verbs_fail [0.011933s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_volume_target.TestListVolumeTargets.test_get_collection_custom_fields [0.034664s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckAllowFields.test_check_allow_deploy_steps [0.012538s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckAllowFields.test_check_allow_deploy_verbs [0.011929s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_volume_connector.TestPatch.test_replace_multi [0.034226s] ... ok DEBUG util.py:445: GOT:Response: 202 Accepted DEBUG util.py:445: Openstack-Request-Id: req-2322c9f1-1e2e-441f-a6e2-e3ec99c92797 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: POST: /v1/heartbeat/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 {'callback_url': 'url', 'agent_token': 'meow', 'agent_verify_ca': 'abcd', 'agent_status': 'wow', 'agent_status_message': 'much status'} DEBUG util.py:445: GOT:Response: 400 Bad Request DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-ae87cfcf-72ad-4a56-8a2d-7f715f7e2cda DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.71 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Fields \\\"agent_status\\\" and \\\"agent_status_message\\\" not recognised.\", \"debuginfo\": null}"} DEBUG util.py:445: POST: /v1/heartbeat/7fcd1add-a974-491f-9e45-2c007a726cac {'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-a6e9d499-176a-4314-b90b-fa49d684bf92 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 7fcd1add-a974-491f-9e45-2c007a726cac could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: POST: /v1/heartbeat/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 {'callback_url': 'url', 'agent_version': '1.4.1', 'agent_token': 'meow'} DEBUG util.py:445: GOT:Response: 202 Accepted DEBUG util.py:445: Openstack-Request-Id: req-e37d6e6c-e266-48f0-a9f8-023922700fb0 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: POST: /v1/heartbeat/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 {'callback_url': 'url', 'agent_version': '1.4.1'} DEBUG util.py:445: GOT:Response: 400 Bad Request DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-5a2b9f7c-9c51-452f-a5aa-aa563f5d2656 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.35 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Field \\\"agent_version\\\" not recognised\", \"debuginfo\": null}"} DEBUG util.py:445: GET: /v1/lookup?addresses=11:22:33:44:55:66,66:55:44:33:22:11 {} DEBUG util.py:445: GOT:{'node': {'uuid': '0dbcff06-0c06-449c-9fea-c8785e797890', '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/0dbcff06-0c06-449c-9fea-c8785e797890', 'rel': 'self'}, {'href': 'http://localhost/nodes/0dbcff06-0c06-449c-9fea-c8785e797890', 'rel': 'bookmark'}]}, 'config': {'metrics': {'backend': 'statsd', 'prepend_host': False, 'prepend_uuid': False, 'prepend_host_reverse': True, 'global_prefix': None}, 'metrics_statsd': {'statsd_host': 'localhost', 'statsd_port': 8125}, 'heartbeat_timeout': 300, 'agent_token': 'some-value', 'agent_token_required': True}} DEBUG util.py:445: GET: /v1/lookup?addresses=11:22:33:44:55:66,66:55:44:33:22:11&node_uuid=028b04a6-36cf-46d8-bda8-c8bb17b1e721 {} DEBUG util.py:445: GOT:Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-caaafdbc-6398-4e0b-9b29-a736a3c9b75c DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Resource could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: GET: /v1/lookup?node_uuid=8b6d1180-646d-445a-9223-44186c8c3673 {} DEBUG util.py:445: GOT:{'node': {'uuid': '8b6d1180-646d-445a-9223-44186c8c3673', '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/8b6d1180-646d-445a-9223-44186c8c3673', 'rel': 'self'}, {'href': 'http://localhost/nodes/8b6d1180-646d-445a-9223-44186c8c3673', '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=ec33e966-d926-42dd-91e5-29f6f2717b84 {} DEBUG util.py:445: GOT:{'node': {'uuid': 'ec33e966-d926-42dd-91e5-29f6f2717b84', '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/ec33e966-d926-42dd-91e5-29f6f2717b84', 'rel': 'self'}, {'href': 'http://localhost/nodes/ec33e966-d926-42dd-91e5-29f6f2717b84', '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=0cac8422-070a-4105-9595-f3eca7eaf045 {} DEBUG util.py:445: GOT:{'node': {'uuid': '0cac8422-070a-4105-9595-f3eca7eaf045', '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/0cac8422-070a-4105-9595-f3eca7eaf045', 'rel': 'self'}, {'href': 'http://localhost/nodes/0cac8422-070a-4105-9595-f3eca7eaf045', '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-d91529bd-efe9-4960-a916-c7bf69aa5b34 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Resource could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: GET: /v1/lookup?addresses=11:22:33:44:55:66,66:55:44:33:22:11 {} DEBUG util.py:445: GOT:Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-d696a599-78a5-4ad8-ac21-a99725f9622b DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.1 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Resource could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: GET: /v1/lookup?addresses=11:22:33:44:55:66,66:55:44:33:22:11&node_uuid=8a885f56-6214-4639-a47a-04dbb235f697 {} DEBUG util.py:445: GOT:Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-9283e13a-1136-4439-9e95-1e0172bbc228 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Resource could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: 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?fields=uuid,extra {} DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_volume_connector.TestListVolumeConnectors.test_collection_links_custom_fields [0.031684s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckAllowFields.test_check_allow_driver_detail_fail [0.011617s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckAllowFields.test_check_allow_filter_driver_type_none [0.011896s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_volume_connector.TestPatch.test_replace_node_uuid_invalid_type [0.035016s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckAllowFields.test_check_allow_inspect_verbs [0.011836s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_volume_target.TestListVolumeTargets.test_get_collection_pagination_no_uuid [0.057874s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckAllowFields.test_check_allow_provide_verbs [0.012189s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckAllowFields.test_check_allow_specify_driver [0.011823s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_volume_target.TestListVolumeTargets.test_sort_key_invalid [0.037574s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckAllowFields.test_check_allow_undeploy_verbs [0.011636s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_volume_connector.TestPost.test_create_volume_connector [0.037664s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckAllowFields.test_check_allow_unknown_verbs [0.011891s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckAllowFields.test_check_allowed_fields_network_interface_fail [0.011944s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_volume_connector.TestPost.test_create_volume_connector_error [0.028511s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckAllowFields.test_check_allowed_fields_rescue_interface_fail [0.011590s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_volume_target.TestPatch.test_add_multi [0.032926s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckAllowFields.test_check_allowed_fields_resource_class_fail [0.011567s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckListPolicy.test_check_list_policy [0.014405s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckListPolicy.test_check_list_policy_non_admin_owner_proj_mismatch [0.014343s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_volume_connector.TestListVolumeConnectors.test_detail_invalid_api_version [0.150097s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckMultipleNodePoliciesAndRetrieve.test_check_node_policy_and_retrieve_no_node [0.016134s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckNodePolicyAndRetrieve.test_check_node_policy_and_retrieve_no_node_policy_notfound [0.014890s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_volume_connector.TestListVolumeConnectors.test_many [0.033515s] ... 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-50f204a0-9976-45e4-ada6-b0382de09f7c DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Expected UUID for connector_uuid: detail\", \"debuginfo\": null}"} DEBUG util.py:445: GET: /v1/volume/connectors {} DEBUG util.py:445: GOT:{'connectors': []} DEBUG util.py:445: GET: /v1/volume/connectors?node=test-node {} DEBUG util.py:445: GOT:{'connectors': [{'uuid': 'e6906df1-351f-4e2f-b60c-fef465050aad', 'connector_id': 'test-value-0', 'type': 'iqn', 'links': [{'href': 'http://localhost/v1/volume/connectors/e6906df1-351f-4e2f-b60c-fef465050aad', 'rel': 'self'}, {'href': 'http://localhost/volume/connectors/e6906df1-351f-4e2f-b60c-fef465050aad', 'rel': 'bookmark'}], 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123'}, {'uuid': 'e2266e3a-c45e-473c-936e-87d2b03360c8', 'connector_id': 'test-value-1', 'type': 'iqn', 'links': [{'href': 'http://localhost/v1/volume/connectors/e2266e3a-c45e-473c-936e-87d2b03360c8', 'rel': 'self'}, {'href': 'http://localhost/volume/connectors/e2266e3a-c45e-473c-936e-87d2b03360c8', 'rel': 'bookmark'}], 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123'}, {'uuid': '04e2eab9-6287-42cf-87ff-281ac42e7c95', 'connector_id': 'test-value-2', 'type': 'iqn', 'links': [{'href': 'http://localhost/v1/volume/connectors/04e2eab9-6287-42cf-87ff-281ac42e7c95', 'rel': 'self'}, {'href': 'http://localhost/volume/connectors/04e2eab9-6287-42cf-87ff-281ac42e7c95', 'rel': 'bookmark'}], 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123'}]} DEBUG util.py:445: GET: /v1/volume/connectors {} DEBUG util.py:445: GOT:Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: {"error_message": "{\"code\": 404, \"title\": \"Not Found\", \"description\": \"\"}"} DEBUG util.py:445: PATCH: /v1/volume/connectors/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 [{'path': '/node_uuid', 'value': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'op': 'add'}] DEBUG util.py:445: GOT:Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-de7ec06c-c82c-48ca-b320-d9b175a25e2e DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2024-05-14T11:54:15.903594+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': '/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-3895cb44-9e90-4723-9c65-ff0f6f25046c DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Cannot patch /value. Only the following can be updated: connector_id, extra, node_uuid, type\", \"debuginfo\": null}"} DEBUG util.py:445: PATCH: /v1/volume/connectors/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 [{'path': '/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-193d62bf-0206-4f68-9679-bdd86056a98e DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Couldn't apply patch '{'path': '/extra/non-existent', 'op': 'remove'}'. Reason: can't remove non-existent object 'non-existent'\", \"debuginfo\": null}"} DEBUG util.py:445: PATCH: /v1/volume/connectors/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 [{'path': '/uuid', 'op': 'remove'}] DEBUG util.py:445: GOT:Response: 400 Bad Request DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-02d91ac7-751e-4cc2-97e2-e81f2439c04b DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Cannot patch /uuid. Only the following can be updated: connector_id, extra, node_uuid, type\", \"debuginfo\": null}"} DEBUG util.py:445: PATCH: /v1/volume/connectors/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 [{'path': '/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-6c751fb2-31f7-4928-addd-2e9c5241835d DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2024-05-14T11:54:16.032275+00:00", "updated_at": "2024-05-14T11:54:16.035101+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/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-038d8263-75c5-45fe-be1c-7de2a9729ee0 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Expected a UUID for node_uuid, but received 123.\", \"debuginfo\": null}"} DEBUG util.py:445: POST: /v1/volume/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-10b778df-44de-4d2e-8221-a71a1ebab6d5 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2000-01-01T00:00:00+00:00", "updated_at": null, "connector_id": "iqn.2012-06.com.example:initiator", "extra": {}, "type": "iqn", "links": [{"href": "http://localhost/v1/volume/connectors/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "self"}, {"href": "http://localhost/volume/connectors/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "bookmark"}], "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123"} DEBUG util.py:445: GET: /v1/volume/connectors/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 {} DEBUG util.py:445: GOT:{'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'created_at': '2000-01-01T00:00:00+00:00', 'updated_at': None, 'connector_id': 'iqn.2012-06.com.example:initiator', 'extra': {}, 'type': 'iqn', 'links': [{'href': 'http://localhost/v1/volume/connectors/1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'rel': 'self'}, {'href': 'http://localhost/volume/connectors/1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'rel': 'bookmark'}], 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123'} DEBUG util.py:445: 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-102a1edb-7ae0-4989-b4be-93e6f057149b DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"\", \"debuginfo\": null}"} DEBUG util.py:445: POST: /v1/volume/connectors {'type': 'iqn', 'connector_id': 'iqn.2012-06.com.example:initiator', 'extra': {}, 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123'} DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_volume_connector.TestPost.test_create_volume_connector_generate_uuid [0.044904s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_volume_connector.TestPost.test_create_volume_connector_no_mandatory_field_connector_id [0.034957s] ... 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-54b43046-88bb-4c7d-86a0-0d93aea321eb DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Schema error for connector: 'type' is a required property Failed validating 'required' in schema\", \"debuginfo\": null}"} DEBUG util.py:445: POST: /v1/volume/connectors {'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'type': 'iqn', 'connector_id': 'test-connector-id-456', 'extra': {}, 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123'} DEBUG util.py:445: GOT:Response: 201 Created DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Location: http://localhost/v1/volume/connectors/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 DEBUG util.py:445: Openstack-Request-Id: req-20ee80fb-5941-4ce3-b9c8-323bc67c66ff DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2024-05-14T11:54:15.776692+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': '43a5723c-2e84-48e2-98e0-188b3adbd902', '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-d85f85bd-fd82-487a-844f-5c8f308afa56 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"A volume connector with type iqn and connector ID test-connector-id-456 already exists.\", \"debuginfo\": null}"} DEBUG util.py:445: 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-90adfa19-4fc4-4cb9-9fb5-a9700193b3fd DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: DELETE: /v1/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: GOT:Response: 409 Conflict DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-76725cc3-6e2d-483b-8348-54a733e97942 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node fake-node is locked by host fake-host, please retry after the current operation is completed.\", \"debuginfo\": null}"} DEBUG util.py:445: GET: /v1/volume/targets/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-1f5da82d-e731-4362-81f2-dff9b5fadb3c DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Unexpected arguments: detail\", \"debuginfo\": null}"} DEBUG util.py:445: GET: /v1/volume/targets?detail=False {} DEBUG util.py:445: GOT:{'targets': [{'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'boot_index': 0, 'volume_id': '12345678', 'volume_type': 'iscsi', 'links': [{'href': 'http://localhost/v1/volume/targets/1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'rel': 'self'}, {'href': 'http://localhost/volume/targets/1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'rel': 'bookmark'}], 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123'}]} DEBUG util.py:445: GET: /v1/volume/targets?fields=uuid,extra {} DEBUG util.py:445: GOT:{'targets': [{'uuid': 'a4da4799-d106-496a-b0fa-2254e4f3ce11', 'extra': {}, 'links': [{'href': 'http://localhost/v1/volume/targets/a4da4799-d106-496a-b0fa-2254e4f3ce11', 'rel': 'self'}, {'href': 'http://localhost/volume/targets/a4da4799-d106-496a-b0fa-2254e4f3ce11', 'rel': 'bookmark'}]}, {'uuid': '0f22a02d-af19-462a-921f-1a6996073bff', 'extra': {}, 'links': [{'href': 'http://localhost/v1/volume/targets/0f22a02d-af19-462a-921f-1a6996073bff', 'rel': 'self'}, {'href': 'http://localhost/volume/targets/0f22a02d-af19-462a-921f-1a6996073bff', 'rel': 'bookmark'}]}, {'uuid': 'dfef0496-d01f-4efb-b1d6-a18b6b23bd98', 'extra': {}, 'links': [{'href': 'http://localhost/v1/volume/targets/dfef0496-d01f-4efb-b1d6-a18b6b23bd98', 'rel': 'self'}, {'href': 'http://localhost/volume/targets/dfef0496-d01f-4efb-b1d6-a18b6b23bd98', 'rel': 'bookmark'}]}]} DEBUG util.py:445: GET: /v1/volume/targets?fields=boot_index&limit=2 {} DEBUG util.py:445: GOT:{'targets': [{'boot_index': 0, 'links': [{'href': 'http://localhost/v1/volume/targets/13cf68a9-ed15-47d8-89c2-716aff621312', 'rel': 'self'}, {'href': 'http://localhost/volume/targets/13cf68a9-ed15-47d8-89c2-716aff621312', 'rel': 'bookmark'}]}, {'boot_index': 1, 'links': [{'href': 'http://localhost/v1/volume/targets/9ed6b5f6-c252-4c43-b749-f1fdbefc4a26', 'rel': 'self'}, {'href': 'http://localhost/volume/targets/9ed6b5f6-c252-4c43-b749-f1fdbefc4a26', 'rel': 'bookmark'}]}], 'next': 'http://localhost/v1/volume/targets?sort_key=id&sort_dir=asc&fields=boot_index&limit=2&marker=9ed6b5f6-c252-4c43-b749-f1fdbefc4a26'} 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-5cf36f32-8312-4809-b820-e2c4f80e9582 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"The sort_key value \\\"foo\\\" is an invalid field for sorting\", \"debuginfo\": null}"} DEBUG util.py:445: GET: /v1/volume/targets?sort_key=extra {} DEBUG util.py:445: GOT:Response: 400 Bad Request DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-36887018-2e53-42dc-83e8-cba2f7e251ae DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"The sort_key value extra is an invalid field for sorting\", \"debuginfo\": null}"} DEBUG util.py:445: GET: /v1/volume/targets?sort_key=properties {} DEBUG util.py:445: GOT:Response: 400 Bad Request DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-0f1602c3-5743-4b41-bdd0-21f198322827 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"The sort_key value properties is an invalid field for sorting\", \"debuginfo\": null}"} DEBUG util.py:445: PATCH: /v1/volume/targets/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 [{'path': '/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-1308a078-01a3-4d8d-8041-83f9374c561b DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2024-05-14T11:54:16.136649+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': '/boot_index', 'op': 'remove'}] DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_volume_target.TestPatch.test_remove_mandatory_field [0.032544s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_volume_target.TestPatch.test_remove_node_id [0.029165s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_volume_target.TestPatch.test_remove_non_existent_property_fail [0.031171s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_volume_target.TestPatch.test_replace_invalid_power_state [0.030431s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckNodePolicyAndRetrieve.test_check_node_policy_and_retrieve_with_suffix [0.021039s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckPortPolicyAndRetrieve.test_check_port_policy_and_retrieve [0.015853s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_utils.TestLocalLinkValidation.test_local_link_connection_type_invalid_key [0.017562s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_utils.TestNodeIdent.test_allow_node_logical_names_post_name [0.012650s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_volume_connector.TestListVolumeConnectors.test_one [0.025863s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_volume_connector.TestPatch.test_add_node_id [0.028055s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_volume_connector.TestPatch.test_add_root_non_existent [0.026978s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_utils.TestNodeIdent.test_allow_node_logical_names_pre_name [0.012170s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_volume_target.TestPatch.test_replace_multi [0.038459s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_utils.TestNodeIdent.test_get_rpc_node_by_uuid_no_logical_name [0.013033s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_volume_target.TestListVolumeTargets.test_collection_links_custom_fields [0.084132s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_volume_connector.TestPatch.test_remove_node_id [0.026865s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_utils.TestNodeIdent.test_replace_node_uuid_with_id_not_found [0.012173s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_utils.TestPortgroupIdent.test_get_rpc_portgroup_invalid_name [0.011700s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_utils.TestPortgroupIdent.test_get_rpc_portgroup_name [0.012262s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_volume_target.TestPatch.test_replace_node_uuid [0.033084s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_volume_target.TestListVolumeTargets.test_collection_links_default_limit [0.034482s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_volume_connector.TestPatch.test_replace_connector_id_already_exist [0.030239s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_utils.TestVendorPassthru.test_check_policy_forbidden [0.012583s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_utils.TestVendorPassthru.test_driver_vendor_passthru_async [0.012441s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_volume_target.TestPatch.test_replace_non_existent_node_uuid [0.033046s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_volume_target.TestListVolumeTargets.test_collection_links_detail [0.033657s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_volume_connector.TestPatch.test_replace_non_existent_node_uuid [0.029848s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_utils.TestVendorPassthru.test_method_not_specified [0.011490s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_volume_target.TestListVolumeTargets.test_detail_against_single [0.025259s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_volume_target.TestPatch.test_replace_singular [0.032984s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_utils.TestVendorPassthru.test_vendor_passthru_sync [0.012338s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_versions.TestVersionConstants.test_min_ver_str [0.012045s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_volume_connector.TestPatch.test_update_byid [0.031901s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_volume_target.TestListVolumeTargets.test_detail_sepecified_by_path [0.024673s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_volume_connector.TestDelete.test_delete_volume_connector_byid [0.027044s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_volume_connector.TestPatch.test_update_invalid_api_version [0.023017s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_volume_target.TestPost.test_create_volume_target_doesnt_contain_id [0.035923s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_volume_target.TestListVolumeTargets.test_get_one_invalid_api_version [0.023348s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_volume_connector.TestListVolumeConnectors.test_collection_links_detail [0.033691s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_volume_target.TestPost.test_create_volume_target_error [0.046525s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_volume_connector.TestListVolumeConnectors.test_detail_and_fields [0.023390s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_volume_connector.TestListVolumeConnectors.test_get_custom_fields_invalid_api_version [0.021866s] ... ok DEBUG util.py:445: GOT:{'connectors': [{'uuid': 'b50ac5b3-65ff-4d18-bd53-cafb4055b341', 'extra': {}, 'links': [{'href': 'http://localhost/v1/volume/connectors/b50ac5b3-65ff-4d18-bd53-cafb4055b341', 'rel': 'self'}, {'href': 'http://localhost/volume/connectors/b50ac5b3-65ff-4d18-bd53-cafb4055b341', 'rel': 'bookmark'}]}, {'uuid': '3359442e-0bf5-4ae2-a73b-1e52c0001a6b', 'extra': {}, 'links': [{'href': 'http://localhost/v1/volume/connectors/3359442e-0bf5-4ae2-a73b-1e52c0001a6b', 'rel': 'self'}, {'href': 'http://localhost/volume/connectors/3359442e-0bf5-4ae2-a73b-1e52c0001a6b', 'rel': 'bookmark'}]}, {'uuid': '1f9f5cd5-9977-4435-9dd1-e3c13489e4cd', 'extra': {}, 'links': [{'href': 'http://localhost/v1/volume/connectors/1f9f5cd5-9977-4435-9dd1-e3c13489e4cd', 'rel': 'self'}, {'href': 'http://localhost/volume/connectors/1f9f5cd5-9977-4435-9dd1-e3c13489e4cd', 'rel': 'bookmark'}]}], 'next': 'http://localhost/v1/volume/connectors?sort_key=id&sort_dir=asc&fields=uuid,extra&limit=3&marker=1f9f5cd5-9977-4435-9dd1-e3c13489e4cd'} 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': [{'uuid': '7306b8a7-9f16-4b98-8edd-fd15f6d2b3e2', 'connector_id': 'test-connector_id-0', 'type': 'iqn', 'links': [{'href': 'http://localhost/v1/volume/connectors/7306b8a7-9f16-4b98-8edd-fd15f6d2b3e2', 'rel': 'self'}, {'href': 'http://localhost/volume/connectors/7306b8a7-9f16-4b98-8edd-fd15f6d2b3e2', 'rel': 'bookmark'}], 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123'}, {'uuid': 'b184c2ec-9c9d-47d2-8cb7-9b33c17c3b4a', 'connector_id': 'test-connector_id-1', 'type': 'iqn', 'links': [{'href': 'http://localhost/v1/volume/connectors/b184c2ec-9c9d-47d2-8cb7-9b33c17c3b4a', 'rel': 'self'}, {'href': 'http://localhost/volume/connectors/b184c2ec-9c9d-47d2-8cb7-9b33c17c3b4a', 'rel': 'bookmark'}], 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123'}, {'uuid': 'c8f691d5-ebf2-45c2-b550-e40704d865e9', 'connector_id': 'test-connector_id-2', 'type': 'iqn', 'links': [{'href': 'http://localhost/v1/volume/connectors/c8f691d5-ebf2-45c2-b550-e40704d865e9', 'rel': 'self'}, {'href': 'http://localhost/volume/connectors/c8f691d5-ebf2-45c2-b550-e40704d865e9', 'rel': 'bookmark'}], 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123'}, {'uuid': '0436c8cf-5b47-4dc2-a670-4f95528558de', 'connector_id': 'test-connector_id-3', 'type': 'iqn', 'links': [{'href': 'http://localhost/v1/volume/connectors/0436c8cf-5b47-4dc2-a670-4f95528558de', 'rel': 'self'}, {'href': 'http://localhost/volume/connectors/0436c8cf-5b47-4dc2-a670-4f95528558de', 'rel': 'bookmark'}], 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123'}, {'uuid': '5e64abbf-bd40-44f9-96c5-7d74fac08738', 'connector_id': 'test-connector_id-4', 'type': 'iqn', 'links': [{'href': 'http://localhost/v1/volume/connectors/5e64abbf-bd40-44f9-96c5-7d74fac08738', 'rel': 'self'}, {'href': 'http://localhost/volume/connectors/5e64abbf-bd40-44f9-96c5-7d74fac08738', 'rel': 'bookmark'}], 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123'}]} DEBUG util.py:445: GET: /v1/volume/connectors {} DEBUG util.py:445: GOT:{'connectors': [{'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'connector_id': 'iqn.2012-06.com.example:initiator', 'type': 'iqn', 'links': [{'href': 'http://localhost/v1/volume/connectors/1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'rel': 'self'}, {'href': 'http://localhost/volume/connectors/1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'rel': 'bookmark'}], 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123'}]} DEBUG util.py:445: PATCH: /v1/volume/connectors/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 [{'path': '/node_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-5cc56e2f-15e7-40df-826e-19aaf343c6cd DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Cannot patch /node_id. Only the following can be updated: connector_id, extra, node_uuid, type\", \"debuginfo\": null}"} DEBUG util.py:445: PATCH: /v1/volume/connectors/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 [{'path': '/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-a2b1ad23-aec3-40bb-b63f-f38a3015d225 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Cannot patch /foo. Only the following can be updated: connector_id, extra, node_uuid, type\", \"debuginfo\": null}"} DEBUG util.py:445: PATCH: /v1/volume/connectors/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 [{'path': '/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-bf220109-1a49-4ffb-8f35-896b2f0d2d92 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Cannot patch /node_id. Only the following can be updated: connector_id, extra, node_uuid, type\", \"debuginfo\": null}"} DEBUG util.py:445: PATCH: /v1/volume/connectors/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 [{'path': '/connector_id', 'value': 'test-connector-id-123', 'op': 'replace'}] DEBUG util.py:445: GOT:Response: 409 Conflict DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-dfd7388a-e39d-4848-a9ac-9f3d663ea11c DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"A volume connector with type None and connector ID test-connector-id-123 already exists.\", \"debuginfo\": null}"} 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-cae2ab9b-956f-4b0b-a3d2-6152dcad410a DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 12506333-a81c-4d59-9987-889ed5f8687b could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: PATCH: /v1/volume/connectors/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 [{'path': '/extra/foo', 'value': 'bar', 'op': 'add'}] DEBUG util.py:445: GOT:Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-e6bcc845-7203-4d22-b769-25811c28dc96 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2024-05-14T11:54:16.403815+00:00", "updated_at": null, "connector_id": "iqn.2012-06.com.example:initiator", "extra": {"foo": "bar"}, "type": "iqn", "links": [{"href": "http://localhost/v1/volume/connectors/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "self"}, {"href": "http://localhost/volume/connectors/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "bookmark"}], "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123"} DEBUG util.py:445: PATCH: /v1/volume/connectors/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 [{'path': '/extra/foo', 'value': 'bar', 'op': 'add'}] DEBUG util.py:445: GOT:Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: {"error_message": "{\"code\": 404, \"title\": \"Not Found\", \"description\": \"\"}"} DEBUG util.py:445: POST: /v1/volume/connectors {'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: {3} ironic.tests.unit.api.controllers.v1.test_volume_connector.TestPost.test_create_volume_connector_doesnt_contain_id [0.034017s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_volume_connector.TestPost.test_create_volume_connector_invalid_api_version [0.021112s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_volume_connector.TestPost.test_create_volume_connector_node_uuid_not_found [0.024835s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_volume_target.TestDelete.test_delete_volume_target_invalid_power_state [0.034194s] ... 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/465d930f-e7b3-4165-8420-011b3cefff18 DEBUG util.py:445: Openstack-Request-Id: req-8edfb976-2ced-4c5f-9a99-055a92c62496 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"uuid": "465d930f-e7b3-4165-8420-011b3cefff18", "created_at": "2024-05-14T11:54:16.176062+00:00", "updated_at": null, "connector_id": "iqn.2012-06.com.example:initiator", "extra": {}, "type": "iqn", "links": [{"href": "http://localhost/v1/volume/connectors/465d930f-e7b3-4165-8420-011b3cefff18", "rel": "self"}, {"href": "http://localhost/volume/connectors/465d930f-e7b3-4165-8420-011b3cefff18", "rel": "bookmark"}], "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123"} DEBUG util.py:445: GET: /v1/volume/connectors/465d930f-e7b3-4165-8420-011b3cefff18 {} DEBUG util.py:445: GOT:{'uuid': '465d930f-e7b3-4165-8420-011b3cefff18', 'created_at': '2024-05-14T11:54:16.176062+00:00', 'updated_at': None, 'connector_id': 'iqn.2012-06.com.example:initiator', 'extra': {}, 'type': 'iqn', 'links': [{'href': 'http://localhost/v1/volume/connectors/465d930f-e7b3-4165-8420-011b3cefff18', 'rel': 'self'}, {'href': 'http://localhost/volume/connectors/465d930f-e7b3-4165-8420-011b3cefff18', 'rel': 'bookmark'}], 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123'} DEBUG util.py:445: POST: /v1/volume/connectors {'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'type': 'iqn', 'extra': {}, 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123'} DEBUG util.py:445: GOT:Response: 400 Bad Request DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-ebd79241-7e5d-4640-8712-4775c22e85ed DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Schema error for connector: 'connector_id' is a required property Failed validating 'required' in schema\", \"debuginfo\": null}"} DEBUG util.py:445: GET: /v1/volume/targets?fields=uuid,extra {} DEBUG util.py:445: GOT:{'targets': [{'uuid': '488628e3-7d4a-41a0-bc2b-349a9285cfcd', 'extra': {}, 'links': [{'href': 'http://localhost/v1/volume/targets/488628e3-7d4a-41a0-bc2b-349a9285cfcd', 'rel': 'self'}, {'href': 'http://localhost/volume/targets/488628e3-7d4a-41a0-bc2b-349a9285cfcd', 'rel': 'bookmark'}]}, {'uuid': '01302544-6d8d-4709-9bcf-8233b1e7a05f', 'extra': {}, 'links': [{'href': 'http://localhost/v1/volume/targets/01302544-6d8d-4709-9bcf-8233b1e7a05f', 'rel': 'self'}, {'href': 'http://localhost/volume/targets/01302544-6d8d-4709-9bcf-8233b1e7a05f', 'rel': 'bookmark'}]}, {'uuid': 'b5252c70-fde2-4f16-9a7d-b6acd1c3e5ae', 'extra': {}, 'links': [{'href': 'http://localhost/v1/volume/targets/b5252c70-fde2-4f16-9a7d-b6acd1c3e5ae', 'rel': 'self'}, {'href': 'http://localhost/volume/targets/b5252c70-fde2-4f16-9a7d-b6acd1c3e5ae', 'rel': 'bookmark'}]}], 'next': 'http://localhost/v1/volume/targets?sort_key=id&sort_dir=asc&fields=uuid,extra&limit=3&marker=b5252c70-fde2-4f16-9a7d-b6acd1c3e5ae'} DEBUG util.py:445: GET: /v1/volume/targets {} DEBUG util.py:445: GOT:{'targets': [{'uuid': '985b5aec-d085-41d1-aa6d-51a03cbd7a0d', 'boot_index': 0, 'volume_id': '12345678', 'volume_type': 'iscsi', 'links': [{'href': 'http://localhost/v1/volume/targets/985b5aec-d085-41d1-aa6d-51a03cbd7a0d', 'rel': 'self'}, {'href': 'http://localhost/volume/targets/985b5aec-d085-41d1-aa6d-51a03cbd7a0d', 'rel': 'bookmark'}], 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123'}, {'uuid': '97c12fa8-db29-48cf-9faa-e407551bd164', 'boot_index': 1, 'volume_id': '12345678', 'volume_type': 'iscsi', 'links': [{'href': 'http://localhost/v1/volume/targets/97c12fa8-db29-48cf-9faa-e407551bd164', 'rel': 'self'}, {'href': 'http://localhost/volume/targets/97c12fa8-db29-48cf-9faa-e407551bd164', 'rel': 'bookmark'}], 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123'}, {'uuid': '5d41808b-32ae-4526-83fa-a2da4c2f4b13', 'boot_index': 2, 'volume_id': '12345678', 'volume_type': 'iscsi', 'links': [{'href': 'http://localhost/v1/volume/targets/5d41808b-32ae-4526-83fa-a2da4c2f4b13', 'rel': 'self'}, {'href': 'http://localhost/volume/targets/5d41808b-32ae-4526-83fa-a2da4c2f4b13', '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=5d41808b-32ae-4526-83fa-a2da4c2f4b13'} DEBUG util.py:445: GET: /v1/volume/targets?detail=True&limit=3 {} DEBUG util.py:445: GOT:{'targets': [{'uuid': '52762d62-1d89-4deb-bc3a-80192d4089c8', 'created_at': '2024-05-14T11:54:16.369171+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/52762d62-1d89-4deb-bc3a-80192d4089c8', 'rel': 'self'}, {'href': 'http://localhost/volume/targets/52762d62-1d89-4deb-bc3a-80192d4089c8', 'rel': 'bookmark'}], 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123'}, {'uuid': '4454c6a4-3986-49f4-adeb-bb6c418099f3', 'created_at': '2024-05-14T11:54:16.370034+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/4454c6a4-3986-49f4-adeb-bb6c418099f3', 'rel': 'self'}, {'href': 'http://localhost/volume/targets/4454c6a4-3986-49f4-adeb-bb6c418099f3', 'rel': 'bookmark'}], 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123'}, {'uuid': '11ac057d-d284-484d-9b48-ef283b5819b6', 'created_at': '2024-05-14T11:54:16.370866+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/11ac057d-d284-484d-9b48-ef283b5819b6', 'rel': 'self'}, {'href': 'http://localhost/volume/targets/11ac057d-d284-484d-9b48-ef283b5819b6', '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=11ac057d-d284-484d-9b48-ef283b5819b6'} 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-bdefbf6a-73e3-40f1-b2af-36b7c678a781 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Unexpected arguments: detail\", \"debuginfo\": null}"} DEBUG util.py:445: GET: /v1/volume/targets/detail {} DEBUG util.py:445: GOT:Response: 400 Bad Request DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-abfb82f7-71fc-4737-bc0e-b3e9a6d3c099 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Expected UUID for target_uuid: detail\", \"debuginfo\": null}"} DEBUG util.py:445: GET: /v1/volume/targets/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 {} DEBUG util.py:445: GOT:Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: {"error_message": "{\"code\": 404, \"title\": \"Not Found\", \"description\": \"\"}"} DEBUG util.py:445: GET: /v1/volume/targets/a489e10b-24f9-4a47-8775-a351dfbce59c {} DEBUG util.py:445: GOT:{'uuid': 'a489e10b-24f9-4a47-8775-a351dfbce59c', 'created_at': '2024-05-14T11:54:16.475780+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/a489e10b-24f9-4a47-8775-a351dfbce59c', 'rel': 'self'}, {'href': 'http://localhost/volume/targets/a489e10b-24f9-4a47-8775-a351dfbce59c', 'rel': 'bookmark'}], 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123'} DEBUG util.py:445: GET: /v1/volume/targets/a489e10b-24f9-4a47-8775-a351dfbce59c {} DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_volume_target.TestListVolumeTargets.test_links [0.058690s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_volume_target.TestPatch.test_add_root [0.031285s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_volume_connector.TestListVolumeConnectors.test_get_custom_fields_invalid_fields [0.027250s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_volume_connector.TestListVolumeConnectors.test_get_one_custom_fields [0.027081s] ... 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-ab519f93-21f7-4a94-8e67-ea5c0df0a65d DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Schema error for patch: 'boot_index' is a required property Failed validating 'required' in schema\", \"debuginfo\": null}"} DEBUG util.py:445: PATCH: /v1/volume/targets/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 [{'path': '/node_id', 'op': 'remove'}] DEBUG util.py:445: GOT:Response: 400 Bad Request DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-5eec56c7-59b1-4d83-aeae-ecefa4fae04d DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Cannot patch /node_id. Only the following can be updated: boot_index, extra, node_uuid, properties, volume_id, volume_type\", \"debuginfo\": null}"} DEBUG util.py:445: PATCH: /v1/volume/targets/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 [{'path': '/extra/non-existent', 'op': 'remove'}] DEBUG util.py:445: GOT:Response: 400 Bad Request DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-96e5a535-beb1-4479-80a7-0e5244cfb665 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Couldn't apply patch '{'path': '/extra/non-existent', 'op': 'remove'}'. Reason: can't remove non-existent object 'non-existent'\", \"debuginfo\": null}"} DEBUG util.py:445: PATCH: /v1/volume/targets/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 [{'path': '/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-b806e2f6-d903-4301-ac2e-a658d60093fa DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"The requested action \\\"volume target update\\\" can not be performed on node \\\"1be26c0b-03f2-4d2e-ae87-c02d7f33c123\\\" while it is in state \\\"power on\\\".\", \"debuginfo\": null}"} DEBUG util.py:445: PATCH: /v1/volume/targets/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 [{'path': '/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-fcb2503c-0389-4bf4-88b1-1f5790c82a58 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2024-05-14T11:54:16.295585+00:00", "updated_at": "2024-05-14T11:54:16.299793+00:00", "boot_index": 0, "extra": {"foo1": "bar1x", "foo2": "bar2x", "foo3": "bar3x"}, "properties": {"target_iqn": "iqn.foo"}, "volume_id": "12345678", "volume_type": "iscsi", "links": [{"href": "http://localhost/v1/volume/targets/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "self"}, {"href": "http://localhost/volume/targets/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "bookmark"}], "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123"} DEBUG util.py:445: PATCH: /v1/volume/targets/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 [{'path': '/node_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-91e91e1f-ee7f-44a6-80f8-1b1637527c57 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2024-05-14T11:54:16.332799+00:00", "updated_at": null, "boot_index": 0, "extra": {}, "properties": {"target_iqn": "iqn.foo"}, "volume_id": "12345678", "volume_type": "iscsi", "links": [{"href": "http://localhost/v1/volume/targets/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "self"}, {"href": "http://localhost/volume/targets/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "bookmark"}], "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123"} DEBUG util.py:445: PATCH: /v1/volume/targets/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 [{'path': '/node_uuid', 'value': '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-9f849c71-4a1b-4b81-87fd-bf71afd837e8 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 12506333-a81c-4d59-9987-889ed5f8687b could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: PATCH: /v1/volume/targets/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 [{'path': '/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-402440e2-ecbc-475c-a0d6-856c1ee22adc DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2024-05-14T11:54:16.399282+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: 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-2ea18b34-3535-44f3-a7aa-1656f24bca04 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2024-05-14T11:54:16.438547+00:00", "updated_at": null, "boot_index": 0, "extra": {"foo": 123}, "properties": {"target_iqn": "iqn.foo"}, "volume_id": "12345678", "volume_type": "iscsi", "links": [{"href": "http://localhost/v1/volume/targets/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "self"}, {"href": "http://localhost/volume/targets/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "bookmark"}], "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123"} DEBUG util.py:445: GET: /v1/volume/targets/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 {} DEBUG util.py:445: GOT:{'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'created_at': '2024-05-14T11:54:16.438547+00:00', 'updated_at': None, 'boot_index': 0, 'extra': {'foo': 123}, 'properties': {'target_iqn': 'iqn.foo'}, 'volume_id': '12345678', 'volume_type': 'iscsi', 'links': [{'href': 'http://localhost/v1/volume/targets/1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'rel': 'self'}, {'href': 'http://localhost/volume/targets/1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'rel': 'bookmark'}], 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123'} DEBUG util.py:445: POST: /v1/volume/targets {'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'volume_type': 'iscsi', 'properties': {'target_iqn': 'iqn.foo'}, 'boot_index': 0, 'volume_id': '12345678', 'extra': {}, 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123'} DEBUG util.py:445: GOT:Response: 500 Internal Server Error DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-6fdcc21d-0b69-4dd1-bfac-8e67c10eca62 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"\", \"debuginfo\": null}"} DEBUG util.py:445: POST: /v1/volume/targets {'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'volume_type': 'iscsi', 'properties': {'target_iqn': 'iqn.foo'}, 'boot_index': 0, 'volume_id': '12345678', 'extra': {}, 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123'} DEBUG util.py:445: {2} ironic.tests.unit.api.controllers.v1.test_volume_target.TestPost.test_node_uuid_to_node_id_mapping [0.041137s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACBasic.test_basic_00006_public_api_v1 [0.027521s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_volume_connector.TestListVolumeConnectors.test_get_one_invalid_api_version [0.022805s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_volume_target.TestListVolumeTargets.test_detail [0.028481s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_volume_target.TestListVolumeTargets.test_detail_invalid_api_version [0.022334s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_volume_target.TestPatch.test_add_root_non_existent [0.067489s] ... ok DEBUG util.py:443: /usr/lib/python3.9/site-packages/oslo_policy/policy.py:1075: UserWarning: Policy baremetal:node:create failed scope check. The token used to make the request was project scoped but the policy requires ['system'] scope. This behavior may change in the future where using the intended scope is required DEBUG util.py:443: warnings.warn(msg) DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00004_nodes_post_observer [0.065326s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_volume_connector.TestListVolumeConnectors.test_links [0.038892s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_volume_target.TestListVolumeTargets.test_get_all_by_node_name_ok [0.033507s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_volume_target.TestPatch.test_remove_multi [0.044215s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_volume_target.TestListVolumeTargets.test_get_custom_fields_invalid_fields [0.027589s] ... ok DEBUG util.py:445: GOT:{'node': {'uuid': 'ffab777e-dc90-4181-9a61-1da7c94b6662', '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/ffab777e-dc90-4181-9a61-1da7c94b6662', 'rel': 'self'}, {'href': 'http://localhost/nodes/ffab777e-dc90-4181-9a61-1da7c94b6662', '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/ {} DEBUG util.py:445: GOT:{'id': 'v1', 'links': [{'href': 'http://localhost/v1/', 'rel': 'self'}, {'href': 'https://docs.openstack.org//ironic/latest/contributor//webapi.html', 'rel': 'describedby', 'type': 'text/html'}], 'media_types': {'base': 'application/json', 'type': 'application/vnd.openstack.ironic.v1+json'}, 'chassis': [{'href': 'http://localhost/v1/chassis/', 'rel': 'self'}, {'href': 'http://localhost/chassis/', 'rel': 'bookmark'}], 'nodes': [{'href': 'http://localhost/v1/nodes/', 'rel': 'self'}, {'href': 'http://localhost/nodes/', 'rel': 'bookmark'}], 'ports': [{'href': 'http://localhost/v1/ports/', 'rel': 'self'}, {'href': 'http://localhost/ports/', 'rel': 'bookmark'}], 'drivers': [{'href': 'http://localhost/v1/drivers/', 'rel': 'self'}, {'href': 'http://localhost/drivers/', 'rel': 'bookmark'}], 'version': {'id': 'v1', 'links': [{'href': 'http://localhost/v1/', 'rel': 'self'}], 'status': 'CURRENT', 'min_version': '1.1', 'version': '1.78'}} DEBUG util.py:445: 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-049ee30d-3c30-4bdf-8b74-4d0e2638cdb7 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: GET: /v1/volume/connectors?detail=True&limit=3 {} DEBUG util.py:445: GOT:{'connectors': [{'uuid': '691f08b8-61ca-4ab4-92aa-834cb1852b28', 'created_at': '2024-05-14T11:54:16.458836+00:00', 'updated_at': None, 'connector_id': 'test-connector_id-0', 'extra': {}, 'type': 'iqn', 'links': [{'href': 'http://localhost/v1/volume/connectors/691f08b8-61ca-4ab4-92aa-834cb1852b28', 'rel': 'self'}, {'href': 'http://localhost/volume/connectors/691f08b8-61ca-4ab4-92aa-834cb1852b28', 'rel': 'bookmark'}], 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123'}, {'uuid': '785e69c8-9be5-4580-97b9-4977215be57f', 'created_at': '2024-05-14T11:54:16.459680+00:00', 'updated_at': None, 'connector_id': 'test-connector_id-1', 'extra': {}, 'type': 'iqn', 'links': [{'href': 'http://localhost/v1/volume/connectors/785e69c8-9be5-4580-97b9-4977215be57f', 'rel': 'self'}, {'href': 'http://localhost/volume/connectors/785e69c8-9be5-4580-97b9-4977215be57f', 'rel': 'bookmark'}], 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123'}, {'uuid': '0ec7a441-8a96-4c30-a6d5-d678a79a1550', 'created_at': '2024-05-14T11:54:16.460456+00:00', 'updated_at': None, 'connector_id': 'test-connector_id-2', 'extra': {}, 'type': 'iqn', 'links': [{'href': 'http://localhost/v1/volume/connectors/0ec7a441-8a96-4c30-a6d5-d678a79a1550', 'rel': 'self'}, {'href': 'http://localhost/volume/connectors/0ec7a441-8a96-4c30-a6d5-d678a79a1550', '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=0ec7a441-8a96-4c30-a6d5-d678a79a1550'} 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-36f1e1bd-d33a-4963-bb48-b129c048ee82 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Unexpected arguments: detail\", \"debuginfo\": null}"} DEBUG util.py:445: GET: /v1/volume/connectors/1be26c0b-03f2-4d2e-ae87-c02d7f33c781?fields=uuid,extra {} DEBUG util.py:445: GOT:Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: {"error_message": "{\"code\": 404, \"title\": \"Not Found\", \"description\": \"\"}"} DEBUG util.py:445: GET: /v1/volume/connectors/1be26c0b-03f2-4d2e-ae87-c02d7f33c781?fields=uuid,spongebob {} DEBUG util.py:445: GOT:Response: 400 Bad Request DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-c1b9f643-4095-43cc-8474-a14e8412a02c DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Field(s) \\\"spongebob\\\" are not valid\", \"debuginfo\": null}"} DEBUG util.py:445: GET: /v1/volume/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/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/4558d7f2-ea52-4382-9368-239e305c583c {} DEBUG util.py:445: GOT:{'uuid': '4558d7f2-ea52-4382-9368-239e305c583c', 'created_at': '2024-05-14T11:54:16.615586+00:00', 'updated_at': None, 'connector_id': 'iqn.2012-06.com.example:initiator', 'extra': {}, 'type': 'iqn', 'links': [{'href': 'http://localhost/v1/volume/connectors/4558d7f2-ea52-4382-9368-239e305c583c', 'rel': 'self'}, {'href': 'http://localhost/volume/connectors/4558d7f2-ea52-4382-9368-239e305c583c', 'rel': 'bookmark'}], 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123'} DEBUG util.py:445: GET: /v1/volume/connectors/4558d7f2-ea52-4382-9368-239e305c583c {} DEBUG util.py:445: GOT:{'uuid': '4558d7f2-ea52-4382-9368-239e305c583c', 'created_at': '2024-05-14T11:54:16.615586+00:00', 'updated_at': None, 'connector_id': 'iqn.2012-06.com.example:initiator', 'extra': {}, 'type': 'iqn', 'links': [{'href': 'http://localhost/v1/volume/connectors/4558d7f2-ea52-4382-9368-239e305c583c', 'rel': 'self'}, {'href': 'http://localhost/volume/connectors/4558d7f2-ea52-4382-9368-239e305c583c', 'rel': 'bookmark'}], 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123'} DEBUG util.py:445: GET: /volume/connectors/4558d7f2-ea52-4382-9368-239e305c583c {} DEBUG util.py:445: GOT:{'uuid': '4558d7f2-ea52-4382-9368-239e305c583c', 'created_at': '2024-05-14T11:54:16.615586+00:00', 'updated_at': None, 'connector_id': 'iqn.2012-06.com.example:initiator', 'extra': {}, 'type': 'iqn', 'links': [{'href': 'http://localhost/v1/volume/connectors/4558d7f2-ea52-4382-9368-239e305c583c', 'rel': 'self'}, {'href': 'http://localhost/volume/connectors/4558d7f2-ea52-4382-9368-239e305c583c', 'rel': 'bookmark'}], 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123'} DEBUG util.py:445: GET: /v1/volume/connectors?sort_key=uuid {} DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_volume_connector.TestListVolumeConnectors.test_sort_key [0.031005s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_volume_connector.TestListVolumeConnectors.test_sort_key_invalid [0.025522s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_volume_target.TestPatch.test_update_byid [0.032367s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_volume_target.TestListVolumeTargets.test_get_one [0.027662s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00006_nodes_get_node_member [0.073750s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_volume_target.TestPost.test_create_volume_target_invalid_api_version [0.025277s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_volume_connector.TestPatch.test_update_not_found [0.026680s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_volume_target.TestListVolumeTargets.test_get_one_custom_fields [0.027798s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_volume_target.TestPost.test_create_volume_target_invalid_node_uuid_format [0.023977s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_volume_connector.TestPost.test_create_volume_connector_valid_extra [0.034148s] ... 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-ac73c91a-6c7a-4f54-8809-752aaec4be6f DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2024-05-14T11:54:16.525671+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 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-939c9755-a572-4403-80d7-5eaf664245cb DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"id": "v1", "links": [{"href": "http://localhost/v1/", "rel": "self"}, {"href": "https://docs.openstack.org//ironic/latest/contributor//webapi.html", "rel": "describedby", "type": "text/html"}], "media_types": {"base": "application/json", "type": "application/vnd.openstack.ironic.v1+json"}, "chassis": [{"href": "http://localhost/v1/chassis/", "rel": "self"}, {"href": "http://localhost/chassis/", "rel": "bookmark"}], "nodes": [{"href": "http://localhost/v1/nodes/", "rel": "self"}, {"href": "http://localhost/nodes/", "rel": "bookmark"}], "ports": [{"href": "http://localhost/v1/ports/", "rel": "self"}, {"href": "http://localhost/ports/", "rel": "bookmark"}], "drivers": [{"href": "http://localhost/v1/drivers/", "rel": "self"}, {"href": "http://localhost/drivers/", "rel": "bookmark"}], "version": {"id": "v1", "links": [{"href": "http://localhost/v1/", "rel": "self"}], "status": "CURRENT", "min_version": "1.1", "version": "1.78"}, "portgroups": [{"href": "http://localhost/v1/portgroups/", "rel": "self"}, {"href": "http://localhost/portgroups/", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/volume/", "rel": "self"}, {"href": "http://localhost/volume/", "rel": "bookmark"}], "lookup": [{"href": "http://localhost/v1/lookup/", "rel": "self"}, {"href": "http://localhost/lookup/", "rel": "bookmark"}], "heartbeat": [{"href": "http://localhost/v1/heartbeat/", "rel": "self"}, {"href": "http://localhost/heartbeat/", "rel": "bookmark"}], "conductors": [{"href": "http://localhost/v1/conductors/", "rel": "self"}, {"href": "http://localhost/conductors/", "rel": "bookmark"}], "allocations": [{"href": "http://localhost/v1/allocations/", "rel": "self"}, {"href": "http://localhost/allocations/", "rel": "bookmark"}], "events": [{"href": "http://localhost/v1/events/", "rel": "self"}, {"href": "http://localhost/events/", "rel": "bookmark"}], "deploy_templates": [{"href": "http://localhost/v1/deploy_templates/", "rel": "self"}, {"href": "http://localhost/deploy_templates/", "rel": "bookmark"}]} DEBUG util.py:445: ACL Test GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-939c9755-a572-4403-80d7-5eaf664245cb DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"id": "v1", "links": [{"href": "http://localhost/v1/", "rel": "self"}, {"href": "https://docs.openstack.org//ironic/latest/contributor//webapi.html", "rel": "describedby", "type": "text/html"}], "media_types": {"base": "application/json", "type": "application/vnd.openstack.ironic.v1+json"}, "chassis": [{"href": "http://localhost/v1/chassis/", "rel": "self"}, {"href": "http://localhost/chassis/", "rel": "bookmark"}], "nodes": [{"href": "http://localhost/v1/nodes/", "rel": "self"}, {"href": "http://localhost/nodes/", "rel": "bookmark"}], "ports": [{"href": "http://localhost/v1/ports/", "rel": "self"}, {"href": "http://localhost/ports/", "rel": "bookmark"}], "drivers": [{"href": "http://localhost/v1/drivers/", "rel": "self"}, {"href": "http://localhost/drivers/", "rel": "bookmark"}], "version": {"id": "v1", "links": [{"href": "http://localhost/v1/", "rel": "self"}], "status": "CURRENT", "min_version": "1.1", "version": "1.78"}, "portgroups": [{"href": "http://localhost/v1/portgroups/", "rel": "self"}, {"href": "http://localhost/portgroups/", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/volume/", "rel": "self"}, {"href": "http://localhost/volume/", "rel": "bookmark"}], "lookup": [{"href": "http://localhost/v1/lookup/", "rel": "self"}, {"href": "http://localhost/lookup/", "rel": "bookmark"}], "heartbeat": [{"href": "http://localhost/v1/heartbeat/", "rel": "self"}, {"href": "http://localhost/heartbeat/", "rel": "bookmark"}], "conductors": [{"href": "http://localhost/v1/conductors/", "rel": "self"}, {"href": "http://localhost/conductors/", "rel": "bookmark"}], "allocations": [{"href": "http://localhost/v1/allocations/", "rel": "self"}, {"href": "http://localhost/allocations/", "rel": "bookmark"}], "events": [{"href": "http://localhost/v1/events/", "rel": "self"}, {"href": "http://localhost/events/", "rel": "bookmark"}], "deploy_templates": [{"href": "http://localhost/v1/deploy_templates/", "rel": "self"}, {"href": "http://localhost/deploy_templates/", "rel": "bookmark"}]} DEBUG util.py:445: API ACL Testing Path post /v1/nodes DEBUG util.py:445: POST: /v1/nodes {'name': 'node', 'driver': 'fake-driverz'} DEBUG util.py:445: GOT:Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-aa8f9168-9845-480c-b97d-3c082d2254b0 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:create\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-aa8f9168-9845-480c-b97d-3c082d2254b0 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:create\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path get /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 DEBUG util.py:445: GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 {} DEBUG util.py:445: GOT:Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-4efe72b0-8212-4353-ab36-ca0131e5cd2e DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG 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-4efe72b0-8212-4353-ab36-ca0131e5cd2e DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-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: {2} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00007_nodes_get_node_observer [0.055342s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_volume_target.TestPost.test_create_volume_target_no_mandatory_field_value [0.041136s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_volume_connector.TestPost.test_node_uuid_to_node_id_mapping [0.029165s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_volume_target.TestListVolumeTargets.test_collection_links [0.035354s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.controllers.v1.test_volume_target.TestPost.test_create_volume_target_node_uuid_not_found [0.037200s] ... ok DEBUG util.py:443: /usr/lib/python3.9/site-packages/oslo_policy/policy.py:1075: UserWarning: Policy baremetal:node:list_all failed scope check. The token used to make the request was project scoped but the policy requires ['system'] scope. This behavior may change in the future where using the intended scope is required DEBUG util.py:443: warnings.warn(msg) DEBUG util.py: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-d7134c35-4fba-4954-9cb6-fdad60a3545b DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2024-05-14T11:54:16.463246+00:00", "updated_at": null, "connector_id": "iqn.2012-06.com.example:initiator", "extra": {"foo": 123}, "type": "iqn", "links": [{"href": "http://localhost/v1/volume/connectors/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "self"}, {"href": "http://localhost/volume/connectors/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "bookmark"}], "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123"} DEBUG util.py:445: GET: /v1/volume/connectors/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 {} DEBUG util.py:445: GOT:{'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'created_at': '2024-05-14T11:54:16.463246+00:00', 'updated_at': None, 'connector_id': 'iqn.2012-06.com.example:initiator', 'extra': {'foo': 123}, 'type': 'iqn', 'links': [{'href': 'http://localhost/v1/volume/connectors/1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'rel': 'self'}, {'href': 'http://localhost/volume/connectors/1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'rel': 'bookmark'}], 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123'} DEBUG util.py:445: POST: /v1/volume/connectors {'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'type': 'iqn', 'connector_id': 'iqn.2012-06.com.example:initiator', 'extra': {}, 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123'} DEBUG util.py:445: GOT:Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: {"error_message": "{\"code\": 404, \"title\": \"Not Found\", \"description\": \"\"}"} DEBUG util.py:445: POST: /v1/volume/connectors {'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c781', '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-3e98dae1-a3b6-4fa1-87c4-25fa2adff955 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Invalid input for field/attribute node_uuid. Value: '1a1a1a1a-2b2b-3c3c-4d4d-5e5e5e5e5e5e'. \", \"debuginfo\": null}"} DEBUG util.py:445: DELETE: /v1/volume/targets/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 DEBUG util.py:445: GOT:Response: 400 Bad Request DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-c1e87574-88f2-4688-8cb6-28a79ba58496 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"The requested action \\\"volume target deletion\\\" can not be performed on node \\\"1be26c0b-03f2-4d2e-ae87-c02d7f33c123\\\" while it is in state \\\"power on\\\".\", \"debuginfo\": null}"} DEBUG util.py:445: GET: /v1/volume/targets?detail=True {} DEBUG util.py:445: GOT:{'targets': [{'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'created_at': '2024-05-14T11:54:16.574582+00:00', 'updated_at': None, 'boot_index': 0, 'extra': {}, 'properties': {'target_iqn': 'iqn.foo'}, 'volume_id': '12345678', 'volume_type': 'iscsi', 'links': [{'href': 'http://localhost/v1/volume/targets/1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'rel': 'self'}, {'href': 'http://localhost/volume/targets/1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'rel': 'bookmark'}], 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123'}]} DEBUG util.py:445: GET: /v1/volume/targets?detail=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?node=test-node {} DEBUG util.py:445: GOT:{'targets': [{'uuid': '7200c450-979e-4761-839d-bbdf200bbab6', 'boot_index': 0, 'volume_id': '12345678', 'volume_type': 'iscsi', 'links': [{'href': 'http://localhost/v1/volume/targets/7200c450-979e-4761-839d-bbdf200bbab6', 'rel': 'self'}, {'href': 'http://localhost/volume/targets/7200c450-979e-4761-839d-bbdf200bbab6', 'rel': 'bookmark'}], 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123'}, {'uuid': '9486c286-97bc-4541-8302-99dff7614ccd', 'boot_index': 1, 'volume_id': '12345678', 'volume_type': 'iscsi', 'links': [{'href': 'http://localhost/v1/volume/targets/9486c286-97bc-4541-8302-99dff7614ccd', 'rel': 'self'}, {'href': 'http://localhost/volume/targets/9486c286-97bc-4541-8302-99dff7614ccd', 'rel': 'bookmark'}], 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123'}, {'uuid': '55d1f43f-81e8-4056-8d3a-f31959b172cd', 'boot_index': 2, 'volume_id': '12345678', 'volume_type': 'iscsi', 'links': [{'href': 'http://localhost/v1/volume/targets/55d1f43f-81e8-4056-8d3a-f31959b172cd', 'rel': 'self'}, {'href': 'http://localhost/volume/targets/55d1f43f-81e8-4056-8d3a-f31959b172cd', '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-a8aa2688-8b4f-49df-9f16-fbce6f740d6e DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Field(s) \\\"spongebob\\\" are not valid\", \"debuginfo\": null}"} DEBUG util.py:445: GET: /v1/volume/targets/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 {} DEBUG util.py:445: GOT:{'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'created_at': '2024-05-14T11:54:16.685871+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?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 {} DEBUG util.py:443: /usr/lib/python3.9/site-packages/oslo_policy/policy.py:1075: UserWarning: Policy baremetal:node:list_all failed scope check. The token used to make the request was project scoped but the policy requires ['system'] scope. This behavior may change in the future where using the intended scope is required DEBUG util.py:443: warnings.warn(msg) DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_volume_target.TestListVolumeTargets.test_many [0.034590s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_volume_target.TestListVolumeTargets.test_sort_key [0.032925s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_volume_target.TestPatch.test_add_node_uuid [0.033419s] ... 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-3064f4da-0acf-4c7d-a3f2-d154de68346c DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "created_at": "2024-05-14T11:54:16.726062+00:00", "updated_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-3064f4da-0acf-4c7d-a3f2-d154de68346c DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "created_at": "2024-05-14T11:54:16.726062+00:00", "updated_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-579f55f0-72dc-4685-ad78-215a4fb570b7 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"nodes": [{"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "instance_uuid": null, "maintenance": false, "power_state": null, "provision_state": "available", "name": null, "links": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "bookmark"}]}, {"uuid": "22e26c0b-03f2-4d2e-ae87-c02d7f33c000", "instance_uuid": null, "maintenance": false, "power_state": null, "provision_state": "available", "name": null, "links": [{"href": "http://localhost/v1/nodes/22e26c0b-03f2-4d2e-ae87-c02d7f33c000", "rel": "self"}, {"href": "http://localhost/nodes/22e26c0b-03f2-4d2e-ae87-c02d7f33c000", "rel": "bookmark"}]}, {"uuid": "18a552fb-dcd2-43bf-9302-e4c93287be11", "instance_uuid": null, "maintenance": false, "power_state": null, "provision_state": "available", "name": null, "links": [{"href": "http://localhost/v1/nodes/18a552fb-dcd2-43bf-9302-e4c93287be11", "rel": "self"}, {"href": "http://localhost/nodes/18a552fb-dcd2-43bf-9302-e4c93287be11", "rel": "bookmark"}]}]} DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00010_nodes_get_other_admin [0.073603s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_volume_target.TestPatch.test_add_node_uuid_invalid_type [0.027594s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_volume_target.TestPatch.test_update_not_found [0.025531s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.controllers.v1.test_volume_target.TestPost.test_create_volume_target [0.034928s] ... ok DEBUG util.py:445: GOT:{'uuid': 'a489e10b-24f9-4a47-8775-a351dfbce59c', 'created_at': '2024-05-14T11:54:16.475780+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/a489e10b-24f9-4a47-8775-a351dfbce59c', 'rel': 'self'}, {'href': 'http://localhost/volume/targets/a489e10b-24f9-4a47-8775-a351dfbce59c', 'rel': 'bookmark'}], 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123'} DEBUG util.py:445: GET: /volume/targets/a489e10b-24f9-4a47-8775-a351dfbce59c {} DEBUG util.py:445: GOT:{'uuid': 'a489e10b-24f9-4a47-8775-a351dfbce59c', 'created_at': '2024-05-14T11:54:16.475780+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/a489e10b-24f9-4a47-8775-a351dfbce59c', 'rel': 'self'}, {'href': 'http://localhost/volume/targets/a489e10b-24f9-4a47-8775-a351dfbce59c', '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': '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-cfa0e693-6548-44ef-9d6c-0b2fd9cf5f6d DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2024-05-14T11:54:16.534777+00:00", "updated_at": null, "boot_index": 100, "extra": {}, "properties": {"target_iqn": "iqn.foo"}, "volume_id": "12345678", "volume_type": "iscsi", "links": [{"href": "http://localhost/v1/volume/targets/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "self"}, {"href": "http://localhost/volume/targets/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "bookmark"}], "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123"} DEBUG util.py:445: PATCH: /v1/volume/targets/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 [{'path': '/foo', 'value': 'bar', 'op': 'add'}] DEBUG util.py:445: GOT:Response: 400 Bad Request DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-9333fdf8-836a-4392-ac3e-58ea363e97f6 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Cannot patch /foo. Only the following can be updated: boot_index, extra, node_uuid, properties, volume_id, volume_type\", \"debuginfo\": null}"} DEBUG util.py:445: PATCH: /v1/volume/targets/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 [{'path': '/extra/foo1', 'op': 'remove'}] DEBUG util.py:445: GOT:Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-e3a5714b-4dd7-4d57-a192-88d78b130a50 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2024-05-14T11:54:16.635356+00:00", "updated_at": "2024-05-14T11:54:16.638230+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-bcfdbccb-416d-4c9a-bfd6-9e6149f4a5e9 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2024-05-14T11:54:16.635356+00:00", "updated_at": "2024-05-14T11:54:16.638230+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': '/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-ebfbdbac-3099-4acd-95fe-130f25a27bce DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2024-05-14T11:54:16.677444+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: POST: /v1/volume/targets {'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'volume_type': 'iscsi', 'properties': {'target_iqn': 'iqn.foo'}, 'boot_index': 0, 'volume_id': '12345678', 'extra': {}, 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123'} DEBUG util.py:445: GOT:Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: {"error_message": "{\"code\": 404, \"title\": \"Not Found\", \"description\": \"\"}"} DEBUG util.py:445: POST: /v1/volume/targets {'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'volume_type': 'iscsi', 'properties': {'target_iqn': 'iqn.foo'}, 'boot_index': 0, 'volume_id': '12345678', 'extra': {}, '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-274ee9cf-9207-480e-962d-c3549e71e693 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Schema error for target: 123 is not of type 'string' Failed validating 'type' in schema['properties']['node_uuid']\", \"debuginfo\": null}"} DEBUG util.py:445: POST: /v1/volume/targets {'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'volume_type': 'iscsi', 'properties': {'target_iqn': 'iqn.foo'}, '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-668ff912-29eb-48eb-814b-4c9f67fd2b9c DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Schema error for target: 'boot_index' is a required property Failed validating 'required' in schema\", \"debuginfo\": null}"} DEBUG util.py:445: POST: /v1/volume/targets {'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'volume_type': 'iscsi', 'properties': {'target_iqn': 'iqn.foo'}, 'boot_index': 0, 'volume_id': '12345678', 'extra': {}, 'node_uuid': '1a1a1a1a-2b2b-3c3c-4d4d-5e5e5e5e5e5e'} DEBUG util.py:445: GOT:Response: 400 Bad Request DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-a807aec9-b562-416c-9561-cea33106d4fd DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Invalid input for field/attribute node_uuid. Value: '1a1a1a1a-2b2b-3c3c-4d4d-5e5e5e5e5e5e'. \", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path get /v1/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-5f4c294c-53de-464e-a0e9-74c8c1dbdd47 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACBasic.test_basic_00004_project_member_cannot_get_node [0.040826s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACBasic.test_basic_00005_public_api [0.034934s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACBasic.test_basic_00007_public_api_v1_slash [0.034389s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_volume_target.TestListVolumeTargets.test_detail_by_node_name_ok [0.029148s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_volume_target.TestListVolumeTargets.test_empty [0.023931s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_volume_target.TestListVolumeTargets.test_one [0.030700s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_volume_target.TestListVolumeTargets.test_one_invalid_api_version [0.029108s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACBasic.test_basic_00009_public_api_v1_xml [0.037589s] ... ok DEBUG util.py:443: /usr/lib/python3.9/site-packages/oslo_policy/policy.py:1075: UserWarning: Policy baremetal:node:create failed scope check. The token used to make the request was project scoped but the policy requires ['system'] scope. This behavior may change in the future where using the intended scope is required DEBUG util.py:443: warnings.warn(msg) DEBUG util.py:445: ACL Test GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-579f55f0-72dc-4685-ad78-215a4fb570b7 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"nodes": [{"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "instance_uuid": null, "maintenance": false, "power_state": null, "provision_state": "available", "name": null, "links": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "bookmark"}]}, {"uuid": "22e26c0b-03f2-4d2e-ae87-c02d7f33c000", "instance_uuid": null, "maintenance": false, "power_state": null, "provision_state": "available", "name": null, "links": [{"href": "http://localhost/v1/nodes/22e26c0b-03f2-4d2e-ae87-c02d7f33c000", "rel": "self"}, {"href": "http://localhost/nodes/22e26c0b-03f2-4d2e-ae87-c02d7f33c000", "rel": "bookmark"}]}, {"uuid": "18a552fb-dcd2-43bf-9302-e4c93287be11", "instance_uuid": null, "maintenance": false, "power_state": null, "provision_state": "available", "name": null, "links": [{"href": "http://localhost/v1/nodes/18a552fb-dcd2-43bf-9302-e4c93287be11", "rel": "self"}, {"href": "http://localhost/nodes/18a552fb-dcd2-43bf-9302-e4c93287be11", "rel": "bookmark"}]}]} DEBUG util.py:445: API ACL Testing Path get /v1/nodes/detail DEBUG util.py:445: GET: /v1/nodes/detail {} DEBUG util.py:445: GOT:Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-d692b613-c23d-4959-8fa9-5c2e29cbd692 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"nodes": [{"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "created_at": "2024-05-14T11:54:16.871415+00:00", "updated_at": null, "automated_clean": null, "bios_interface": null, "boot_interface": null, "boot_mode": null, "clean_step": {}, "conductor_group": "", "console_enabled": false, "console_interface": null, "deploy_interface": null, "deploy_step": {}, "description": null, "driver": "fake-driverz", "driver_info": {"foo": "bar", "fake_password": "******"}, "driver_internal_info": {"private_state": "secret value"}, "extra": {}, "fault": null, "inspection_finished_at": null, "inspection_started_at": null, "inspect_interface": null, "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar"}, "instance_uuid": null, "last_error": null, "lessee": null, "maintenance": false, "maintenance_reason": null, "management_interface": null, "name": null, "network_data": {}, "network_interface": null, "owner": "z", "power_interface": null, "power_state": null, "properties": {"cpu_arch": "x86_64", "cpus": "8", "local_gb": "10", "memory_mb": "4096"}, "protected": false, "protected_reason": null, "provision_state": "available", "provision_updated_at": null, "raid_config": {}, "raid_interface": null, "rescue_interface": null, "reservation": null, "resource_class": null, "retired": false, "retired_reason": null, "secure_boot": null, "storage_interface": null, "target_power_state": null, "target_provision_state": null, "target_raid_config": {}, "traits": ["trait1"], "vendor_interface": null, "links": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "bookmark"}], "conductor": null, "allocation_uuid": null, "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume", "rel": "bookmark"}]}, {"uuid": "22e26c0b-03f2-4d2e-ae87-c02d7f33c000", "created_at": "2024-05-14T11:54:16.873976+00:00", "updated_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": [], "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": "fa68e343-7e8f-4068-8ee5-14834ba4d009", "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/22e26c0b-03f2-4d2e-ae87-c02d7f33c000/ports", "rel": "self"}, {"href": "http://localhost/nodes/22e26c0b-03f2-4d2e-ae87-c02d7f33c000/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/22e26c0b-03f2-4d2e-ae87-c02d7f33c000/states", "rel": "self"}, {"href": "http://localhost/nodes/22e26c0b-03f2-4d2e-ae87-c02d7f33c000/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/22e26c0b-03f2-4d2e-ae87-c02d7f33c000/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/22e26c0b-03f2-4d2e-ae87-c02d7f33c000/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/22e26c0b-03f2-4d2e-ae87-c02d7f33c000/volume", "rel": "self"}, {"href": "http://localhost/nodes/22e26c0b-03f2-4d2e-ae87-c02d7f33c000/volume", "rel": "bookmark"}]}, {"uuid": "18a552fb-dcd2-43bf-9302-e4c93287be11", "created_at": "2024-05-14T11:54:16.889572+00:00", "updated_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: {2} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00011_nodes_detail_get_admin [0.092292s] ... ok DEBUG util.py:445: GOT:{'targets': [{'uuid': '9c97427e-b2a9-4c05-a267-55d3a9982b9c', 'boot_index': 0, 'volume_id': '12345678', 'volume_type': 'iscsi', 'links': [{'href': 'http://localhost/v1/volume/targets/9c97427e-b2a9-4c05-a267-55d3a9982b9c', 'rel': 'self'}, {'href': 'http://localhost/volume/targets/9c97427e-b2a9-4c05-a267-55d3a9982b9c', 'rel': 'bookmark'}], 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123'}, {'uuid': 'fa5959e0-d2ce-4c96-9426-c13ce1a9bfe0', 'boot_index': 1, 'volume_id': '12345678', 'volume_type': 'iscsi', 'links': [{'href': 'http://localhost/v1/volume/targets/fa5959e0-d2ce-4c96-9426-c13ce1a9bfe0', 'rel': 'self'}, {'href': 'http://localhost/volume/targets/fa5959e0-d2ce-4c96-9426-c13ce1a9bfe0', 'rel': 'bookmark'}], 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123'}, {'uuid': '71d48ad2-8500-4280-a3d7-2e3ab1d349e7', 'boot_index': 2, 'volume_id': '12345678', 'volume_type': 'iscsi', 'links': [{'href': 'http://localhost/v1/volume/targets/71d48ad2-8500-4280-a3d7-2e3ab1d349e7', 'rel': 'self'}, {'href': 'http://localhost/volume/targets/71d48ad2-8500-4280-a3d7-2e3ab1d349e7', 'rel': 'bookmark'}], 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123'}, {'uuid': '74b2e032-78e1-4c54-87b2-1b58204b8add', 'boot_index': 3, 'volume_id': '12345678', 'volume_type': 'iscsi', 'links': [{'href': 'http://localhost/v1/volume/targets/74b2e032-78e1-4c54-87b2-1b58204b8add', 'rel': 'self'}, {'href': 'http://localhost/volume/targets/74b2e032-78e1-4c54-87b2-1b58204b8add', 'rel': 'bookmark'}], 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123'}, {'uuid': '3d6f0e43-4773-453d-ba72-fb8364135790', 'boot_index': 4, 'volume_id': '12345678', 'volume_type': 'iscsi', 'links': [{'href': 'http://localhost/v1/volume/targets/3d6f0e43-4773-453d-ba72-fb8364135790', 'rel': 'self'}, {'href': 'http://localhost/volume/targets/3d6f0e43-4773-453d-ba72-fb8364135790', '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': '136c9107-731a-4ce8-b231-e4bd5957a30a', 'boot_index': 2, 'volume_id': '12345678', 'volume_type': 'iscsi', 'links': [{'href': 'http://localhost/v1/volume/targets/136c9107-731a-4ce8-b231-e4bd5957a30a', 'rel': 'self'}, {'href': 'http://localhost/volume/targets/136c9107-731a-4ce8-b231-e4bd5957a30a', 'rel': 'bookmark'}], 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123'}, {'uuid': '6a2c8101-11df-4a4c-b6ab-ee66cb1e7432', 'boot_index': 0, 'volume_id': '12345678', 'volume_type': 'iscsi', 'links': [{'href': 'http://localhost/v1/volume/targets/6a2c8101-11df-4a4c-b6ab-ee66cb1e7432', 'rel': 'self'}, {'href': 'http://localhost/volume/targets/6a2c8101-11df-4a4c-b6ab-ee66cb1e7432', 'rel': 'bookmark'}], 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123'}, {'uuid': '8a61f069-fcdd-45ec-852d-7090d3dda8dc', 'boot_index': 1, 'volume_id': '12345678', 'volume_type': 'iscsi', 'links': [{'href': 'http://localhost/v1/volume/targets/8a61f069-fcdd-45ec-852d-7090d3dda8dc', 'rel': 'self'}, {'href': 'http://localhost/volume/targets/8a61f069-fcdd-45ec-852d-7090d3dda8dc', '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-dfe7b2bb-a1be-443d-bdf6-45998eb61c2b DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2024-05-14T11:54:16.811603+00:00", "updated_at": null, "boot_index": 0, "extra": {}, "properties": {"target_iqn": "iqn.foo"}, "volume_id": "12345678", "volume_type": "iscsi", "links": [{"href": "http://localhost/v1/volume/targets/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "self"}, {"href": "http://localhost/volume/targets/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "bookmark"}], "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123"} DEBUG util.py:445: PATCH: /v1/volume/targets/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 [{'path': '/node_uuid', 'value': 123, 'op': 'add'}] DEBUG util.py:445: GOT:Response: 400 Bad Request DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-9845c245-a71d-4922-94ed-2bf7f09f9ec7 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Expected a UUID for node_uuid, but received 123.\", \"debuginfo\": null}"} DEBUG util.py:445: PATCH: /v1/volume/targets/969f79ab-6472-4039-b04f-9bc0566a8610 [{'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-0a340df4-6987-421a-af48-19dd8e4b71af DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Volume target 969f79ab-6472-4039-b04f-9bc0566a8610 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: POST: /v1/volume/targets {'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'volume_type': 'iscsi', 'properties': {'target_iqn': 'iqn.foo'}, 'boot_index': 0, 'volume_id': '12345678', 'extra': {}, 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123'} DEBUG util.py:445: GOT:Response: 201 Created DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Location: http://localhost/v1/volume/targets/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 DEBUG util.py:445: Openstack-Request-Id: req-3576f4be-33a9-412c-a689-74fd9c40b1a3 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2000-01-01T00:00:00+00:00", "updated_at": null, "boot_index": 0, "extra": {}, "properties": {"target_iqn": "iqn.foo"}, "volume_id": "12345678", "volume_type": "iscsi", "links": [{"href": "http://localhost/v1/volume/targets/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "self"}, {"href": "http://localhost/volume/targets/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "bookmark"}], "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123"} DEBUG util.py:445: GET: /v1/volume/targets/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 {} DEBUG util.py:445: GOT:{'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'created_at': '2000-01-01T00:00:00+00:00', 'updated_at': None, 'boot_index': 0, 'extra': {}, 'properties': {'target_iqn': 'iqn.foo'}, 'volume_id': '12345678', 'volume_type': 'iscsi', 'links': [{'href': 'http://localhost/v1/volume/targets/1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'rel': 'self'}, {'href': 'http://localhost/volume/targets/1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'rel': 'bookmark'}], 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123'} DEBUG util.py:445: POST: /v1/volume/targets {'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'volume_type': 'iscsi', 'properties': {'target_iqn': 'iqn.foo'}, 'boot_index': 0, 'volume_id': '12345678', 'extra': {'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-a0b8425b-3ffe-4c7f-852a-119f2fb2609e DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2024-05-14T11:54:16.935937+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: {3} ironic.tests.unit.api.controllers.v1.test_volume_target.TestPost.test_create_volume_target_valid_extra [0.037446s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACBasic.test_basic_00001_values ... SKIPPED: For value storage DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACBasic.test_basic_00002_unauthenticated_user_cannot_get_node [0.034711s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00001_values ... SKIPPED: These are fake reference values for YAML templating DEBUG util.py:443: /usr/lib/python3.9/site-packages/oslo_policy/policy.py:1075: UserWarning: Policy baremetal:node:list_all failed scope check. The token used to make the request was project scoped but the policy requires ['system'] scope. This behavior may change in the future where using the intended scope is required DEBUG util.py:443: warnings.warn(msg) DEBUG util.py:443: /usr/lib/python3.9/site-packages/oslo_policy/policy.py:1075: UserWarning: Policy baremetal:node:list_all failed scope check. The token used to make the request was project scoped but the policy requires ['system'] scope. This behavior may change in the future where using the intended scope is required DEBUG util.py:443: warnings.warn(msg) DEBUG util.py:443: /usr/lib/python3.9/site-packages/oslo_policy/policy.py:1075: UserWarning: Policy baremetal:node:list_all failed scope check. The token used to make the request was project scoped but the policy requires ['system'] scope. This behavior may change in the future where using the intended scope is required DEBUG util.py:443: warnings.warn(msg) DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00002_nodes_post_admin [0.095331s] ... 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-5f4c294c-53de-464e-a0e9-74c8c1dbdd47 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} 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-b9816437-5139-45f0-acc9-2f0b4121fcd4 DEBUG util.py:445: {"name": "OpenStack Ironic API", "description": "Ironic is an OpenStack project which aims to provision baremetal machines.", "default_version": {"id": "v1", "links": [{"href": "http://localhost/v1/", "rel": "self"}], "status": "CURRENT", "min_version": "1.1", "version": "1.78"}, "versions": [{"id": "v1", "links": [{"href": "http://localhost/v1/", "rel": "self"}], "status": "CURRENT", "min_version": "1.1", "version": "1.78"}]} DEBUG util.py:445: ACL Test GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-b9816437-5139-45f0-acc9-2f0b4121fcd4 DEBUG util.py:445: {"name": "OpenStack Ironic API", "description": "Ironic is an OpenStack project which aims to provision baremetal machines.", "default_version": {"id": "v1", "links": [{"href": "http://localhost/v1/", "rel": "self"}], "status": "CURRENT", "min_version": "1.1", "version": "1.78"}, "versions": [{"id": "v1", "links": [{"href": "http://localhost/v1/", "rel": "self"}], "status": "CURRENT", "min_version": "1.1", "version": "1.78"}]} DEBUG util.py:445: API ACL Testing Path get /v1/ 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-9e826cc7-522e-4f76-b10c-b2284711619b DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"id": "v1", "links": [{"href": "http://localhost/v1/", "rel": "self"}, {"href": "https://docs.openstack.org//ironic/latest/contributor//webapi.html", "rel": "describedby", "type": "text/html"}], "media_types": {"base": "application/json", "type": "application/vnd.openstack.ironic.v1+json"}, "chassis": [{"href": "http://localhost/v1/chassis/", "rel": "self"}, {"href": "http://localhost/chassis/", "rel": "bookmark"}], "nodes": [{"href": "http://localhost/v1/nodes/", "rel": "self"}, {"href": "http://localhost/nodes/", "rel": "bookmark"}], "ports": [{"href": "http://localhost/v1/ports/", "rel": "self"}, {"href": "http://localhost/ports/", "rel": "bookmark"}], "drivers": [{"href": "http://localhost/v1/drivers/", "rel": "self"}, {"href": "http://localhost/drivers/", "rel": "bookmark"}], "version": {"id": "v1", "links": [{"href": "http://localhost/v1/", "rel": "self"}], "status": "CURRENT", "min_version": "1.1", "version": "1.78"}, "portgroups": [{"href": "http://localhost/v1/portgroups/", "rel": "self"}, {"href": "http://localhost/portgroups/", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/volume/", "rel": "self"}, {"href": "http://localhost/volume/", "rel": "bookmark"}], "lookup": [{"href": "http://localhost/v1/lookup/", "rel": "self"}, {"href": "http://localhost/lookup/", "rel": "bookmark"}], "heartbeat": [{"href": "http://localhost/v1/heartbeat/", "rel": "self"}, {"href": "http://localhost/heartbeat/", "rel": "bookmark"}], "conductors": [{"href": "http://localhost/v1/conductors/", "rel": "self"}, {"href": "http://localhost/conductors/", "rel": "bookmark"}], "allocations": [{"href": "http://localhost/v1/allocations/", "rel": "self"}, {"href": "http://localhost/allocations/", "rel": "bookmark"}], "events": [{"href": "http://localhost/v1/events/", "rel": "self"}, {"href": "http://localhost/events/", "rel": "bookmark"}], "deploy_templates": [{"href": "http://localhost/v1/deploy_templates/", "rel": "self"}, {"href": "http://localhost/deploy_templates/", "rel": "bookmark"}]} DEBUG util.py:445: ACL Test GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-9e826cc7-522e-4f76-b10c-b2284711619b DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"id": "v1", "links": [{"href": "http://localhost/v1/", "rel": "self"}, {"href": "https://docs.openstack.org//ironic/latest/contributor//webapi.html", "rel": "describedby", "type": "text/html"}], "media_types": {"base": "application/json", "type": "application/vnd.openstack.ironic.v1+json"}, "chassis": [{"href": "http://localhost/v1/chassis/", "rel": "self"}, {"href": "http://localhost/chassis/", "rel": "bookmark"}], "nodes": [{"href": "http://localhost/v1/nodes/", "rel": "self"}, {"href": "http://localhost/nodes/", "rel": "bookmark"}], "ports": [{"href": "http://localhost/v1/ports/", "rel": "self"}, {"href": "http://localhost/ports/", "rel": "bookmark"}], "drivers": [{"href": "http://localhost/v1/drivers/", "rel": "self"}, {"href": "http://localhost/drivers/", "rel": "bookmark"}], "version": {"id": "v1", "links": [{"href": "http://localhost/v1/", "rel": "self"}], "status": "CURRENT", "min_version": "1.1", "version": "1.78"}, "portgroups": [{"href": "http://localhost/v1/portgroups/", "rel": "self"}, {"href": "http://localhost/portgroups/", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/volume/", "rel": "self"}, {"href": "http://localhost/volume/", "rel": "bookmark"}], "lookup": [{"href": "http://localhost/v1/lookup/", "rel": "self"}, {"href": "http://localhost/lookup/", "rel": "bookmark"}], "heartbeat": [{"href": "http://localhost/v1/heartbeat/", "rel": "self"}, {"href": "http://localhost/heartbeat/", "rel": "bookmark"}], "conductors": [{"href": "http://localhost/v1/conductors/", "rel": "self"}, {"href": "http://localhost/conductors/", "rel": "bookmark"}], "allocations": [{"href": "http://localhost/v1/allocations/", "rel": "self"}, {"href": "http://localhost/allocations/", "rel": "bookmark"}], "events": [{"href": "http://localhost/v1/events/", "rel": "self"}, {"href": "http://localhost/events/", "rel": "bookmark"}], "deploy_templates": [{"href": "http://localhost/v1/deploy_templates/", "rel": "self"}, {"href": "http://localhost/deploy_templates/", "rel": "bookmark"}]} DEBUG util.py:445: API ACL Testing Path get /v1.xml DEBUG util.py:445: GET: /v1.xml {} DEBUG util.py:445: GOT:Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: {"error_message": "{\"code\": 404, \"title\": \"Not Found\", \"description\": \"\"}"} DEBUG util.py:445: ACL Test GOT Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: {"error_message": "{\"code\": 404, \"title\": \"Not Found\", \"description\": \"\"}"} DEBUG util.py:445: API ACL Testing Path 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-b0309ac9-04be-461a-bb13-887d95f5f41a DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-b0309ac9-04be-461a-bb13-887d95f5f41a DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path get /v1/nodes DEBUG util.py:445: GET: /v1/nodes {} DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00009_nodes_get_admin [0.062265s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00012_nodes_detail_get_member [0.052452s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00005_nodes_get_node_admin [0.064055s] ... 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-9d0a975a-7d82-4ac2-8fab-41ffa4aca35c DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"nodes": [{"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "instance_uuid": null, "maintenance": false, "power_state": null, "provision_state": "available", "name": null, "links": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "bookmark"}]}, {"uuid": "22e26c0b-03f2-4d2e-ae87-c02d7f33c000", "instance_uuid": null, "maintenance": false, "power_state": null, "provision_state": "available", "name": null, "links": [{"href": "http://localhost/v1/nodes/22e26c0b-03f2-4d2e-ae87-c02d7f33c000", "rel": "self"}, {"href": "http://localhost/nodes/22e26c0b-03f2-4d2e-ae87-c02d7f33c000", "rel": "bookmark"}]}, {"uuid": "18a552fb-dcd2-43bf-9302-e4c93287be11", "instance_uuid": null, "maintenance": false, "power_state": null, "provision_state": "available", "name": null, "links": [{"href": "http://localhost/v1/nodes/18a552fb-dcd2-43bf-9302-e4c93287be11", "rel": "self"}, {"href": "http://localhost/nodes/18a552fb-dcd2-43bf-9302-e4c93287be11", "rel": "bookmark"}]}]} DEBUG util.py:445: ACL Test GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-9d0a975a-7d82-4ac2-8fab-41ffa4aca35c DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"nodes": [{"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "instance_uuid": null, "maintenance": false, "power_state": null, "provision_state": "available", "name": null, "links": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "bookmark"}]}, {"uuid": "22e26c0b-03f2-4d2e-ae87-c02d7f33c000", "instance_uuid": null, "maintenance": false, "power_state": null, "provision_state": "available", "name": null, "links": [{"href": "http://localhost/v1/nodes/22e26c0b-03f2-4d2e-ae87-c02d7f33c000", "rel": "self"}, {"href": "http://localhost/nodes/22e26c0b-03f2-4d2e-ae87-c02d7f33c000", "rel": "bookmark"}]}, {"uuid": "18a552fb-dcd2-43bf-9302-e4c93287be11", "instance_uuid": null, "maintenance": false, "power_state": null, "provision_state": "available", "name": null, "links": [{"href": "http://localhost/v1/nodes/18a552fb-dcd2-43bf-9302-e4c93287be11", "rel": "self"}, {"href": "http://localhost/nodes/18a552fb-dcd2-43bf-9302-e4c93287be11", "rel": "bookmark"}]}]} DEBUG util.py:445: API ACL Testing Path get /v1/nodes/detail DEBUG util.py:445: GET: /v1/nodes/detail {} DEBUG util.py:445: GOT:Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-3f4dd2b0-1d9e-4a72-8026-2bd8563f67e1 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:list\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-3f4dd2b0-1d9e-4a72-8026-2bd8563f67e1 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:list\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path get /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 DEBUG util.py:445: GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 {} DEBUG util.py:445: GOT:Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-f8f34595-b761-4e0f-9b6f-830062c0a3ad DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "created_at": "2024-05-14T11:54:17.200628+00:00", "updated_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: {1} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00014_nodes_node_ident_get_admin [0.052849s] ... ok DEBUG util.py:443: /usr/lib/python3.9/site-packages/oslo_policy/policy.py:1075: UserWarning: Policy baremetal:node:create failed scope check. The token used to make the request was project scoped but the policy requires ['system'] scope. This behavior may change in the future where using the intended scope is required DEBUG util.py:443: warnings.warn(msg) DEBUG util.py:445: GOT:{'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'created_at': '2024-05-14T11:54:16.935937+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-49f7a367-9a0e-4512-a0fe-3972306dc3ec DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG 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-49f7a367-9a0e-4512-a0fe-3972306dc3ec DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-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-7fb176e5-03b3-40d1-a375-1a90d513f907 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "created_at": "2024-05-14T11:54:17.088798+00:00", "updated_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-7fb176e5-03b3-40d1-a375-1a90d513f907 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "created_at": "2024-05-14T11:54:17.088798+00:00", "updated_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-fe474999-05fb-45ac-a85e-98e942a58cb0 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"nodes": [{"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "created_at": "2024-05-14T11:54:17.167706+00:00", "updated_at": null, "automated_clean": null, "bios_interface": null, "boot_interface": null, "boot_mode": null, "clean_step": {}, "conductor_group": "", "console_enabled": false, "console_interface": null, "deploy_interface": null, "deploy_step": {}, "description": null, "driver": "fake-driverz", "driver_info": {"foo": "bar", "fake_password": "******"}, "driver_internal_info": {"private_state": "secret value"}, "extra": {}, "fault": null, "inspection_finished_at": null, "inspection_started_at": null, "inspect_interface": null, "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar"}, "instance_uuid": null, "last_error": null, "lessee": null, "maintenance": false, "maintenance_reason": null, "management_interface": null, "name": null, "network_data": {}, "network_interface": null, "owner": "z", "power_interface": null, "power_state": null, "properties": {"cpu_arch": "x86_64", "cpus": "8", "local_gb": "10", "memory_mb": "4096"}, "protected": false, "protected_reason": null, "provision_state": "available", "provision_updated_at": null, "raid_config": {}, "raid_interface": null, "rescue_interface": null, "reservation": null, "resource_class": null, "retired": false, "retired_reason": null, "secure_boot": null, "storage_interface": null, "target_power_state": null, "target_provision_state": null, "target_raid_config": {}, "traits": ["trait1"], "vendor_interface": null, "links": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "bookmark"}], "conductor": null, "allocation_uuid": null, "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume", "rel": "bookmark"}]}, {"uuid": "22e26c0b-03f2-4d2e-ae87-c02d7f33c000", "created_at": "2024-05-14T11:54:17.170129+00:00", "updated_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": [], "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": "f8b3b34e-119b-4e2a-bee7-f03ac68f5d81", "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/22e26c0b-03f2-4d2e-ae87-c02d7f33c000/ports", "rel": "self"}, {"href": "http://localhost/nodes/22e26c0b-03f2-4d2e-ae87-c02d7f33c000/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/22e26c0b-03f2-4d2e-ae87-c02d7f33c000/states", "rel": "self"}, {"href": "http://localhost/nodes/22e26c0b-03f2-4d2e-ae87-c02d7f33c000/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/22e26c0b-03f2-4d2e-ae87-c02d7f33c000/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/22e26c0b-03f2-4d2e-ae87-c02d7f33c000/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/22e26c0b-03f2-4d2e-ae87-c02d7f33c000/volume", "rel": "self"}, {"href": "http://localhost/nodes/22e26c0b-03f2-4d2e-ae87-c02d7f33c000/volume", "rel": "bookmark"}]}, {"uuid": "18a552fb-dcd2-43bf-9302-e4c93287be11", "created_at": "2024-05-14T11:54:17.183261+00:00", "updated_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: {3} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00013_nodes_detail_get_observer [0.073287s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00015_nodes_node_ident_get_member [0.106781s] ... 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-d692b613-c23d-4959-8fa9-5c2e29cbd692 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"nodes": [{"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "created_at": "2024-05-14T11:54:16.871415+00:00", "updated_at": null, "automated_clean": null, "bios_interface": null, "boot_interface": null, "boot_mode": null, "clean_step": {}, "conductor_group": "", "console_enabled": false, "console_interface": null, "deploy_interface": null, "deploy_step": {}, "description": null, "driver": "fake-driverz", "driver_info": {"foo": "bar", "fake_password": "******"}, "driver_internal_info": {"private_state": "secret value"}, "extra": {}, "fault": null, "inspection_finished_at": null, "inspection_started_at": null, "inspect_interface": null, "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar"}, "instance_uuid": null, "last_error": null, "lessee": null, "maintenance": false, "maintenance_reason": null, "management_interface": null, "name": null, "network_data": {}, "network_interface": null, "owner": "z", "power_interface": null, "power_state": null, "properties": {"cpu_arch": "x86_64", "cpus": "8", "local_gb": "10", "memory_mb": "4096"}, "protected": false, "protected_reason": null, "provision_state": "available", "provision_updated_at": null, "raid_config": {}, "raid_interface": null, "rescue_interface": null, "reservation": null, "resource_class": null, "retired": false, "retired_reason": null, "secure_boot": null, "storage_interface": null, "target_power_state": null, "target_provision_state": null, "target_raid_config": {}, "traits": ["trait1"], "vendor_interface": null, "links": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "bookmark"}], "conductor": null, "allocation_uuid": null, "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume", "rel": "bookmark"}]}, {"uuid": "22e26c0b-03f2-4d2e-ae87-c02d7f33c000", "created_at": "2024-05-14T11:54:16.873976+00:00", "updated_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": [], "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": "fa68e343-7e8f-4068-8ee5-14834ba4d009", "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/22e26c0b-03f2-4d2e-ae87-c02d7f33c000/ports", "rel": "self"}, {"href": "http://localhost/nodes/22e26c0b-03f2-4d2e-ae87-c02d7f33c000/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/22e26c0b-03f2-4d2e-ae87-c02d7f33c000/states", "rel": "self"}, {"href": "http://localhost/nodes/22e26c0b-03f2-4d2e-ae87-c02d7f33c000/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/22e26c0b-03f2-4d2e-ae87-c02d7f33c000/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/22e26c0b-03f2-4d2e-ae87-c02d7f33c000/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/22e26c0b-03f2-4d2e-ae87-c02d7f33c000/volume", "rel": "self"}, {"href": "http://localhost/nodes/22e26c0b-03f2-4d2e-ae87-c02d7f33c000/volume", "rel": "bookmark"}]}, {"uuid": "18a552fb-dcd2-43bf-9302-e4c93287be11", "created_at": "2024-05-14T11:54:16.889572+00:00", "updated_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: {2} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00018_nodes_node_ident_patch_member [0.092009s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00021_nodes_node_ident_delete_member [0.072074s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00024_nodes_validate_get_member [0.080182s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00027_nodes_maintenance_put_member [0.050291s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00028_nodes_maintenance_put_observer [0.050371s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00034_nodes_management_boot_device_put_observer [0.052843s] ... ok DEBUG util.py:445: GOT:{'connectors': [{'uuid': '152cc771-8798-4f01-badc-8b2320a3927f', 'connector_id': 'test-connector_id-2', 'type': 'iqn', 'links': [{'href': 'http://localhost/v1/volume/connectors/152cc771-8798-4f01-badc-8b2320a3927f', 'rel': 'self'}, {'href': 'http://localhost/volume/connectors/152cc771-8798-4f01-badc-8b2320a3927f', 'rel': 'bookmark'}], 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123'}, {'uuid': '558d92fc-4c4b-4307-9bde-5d7b2c9556a3', 'connector_id': 'test-connector_id-1', 'type': 'iqn', 'links': [{'href': 'http://localhost/v1/volume/connectors/558d92fc-4c4b-4307-9bde-5d7b2c9556a3', 'rel': 'self'}, {'href': 'http://localhost/volume/connectors/558d92fc-4c4b-4307-9bde-5d7b2c9556a3', 'rel': 'bookmark'}], 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123'}, {'uuid': 'e80bf352-a203-4998-943d-a02d449e816b', 'connector_id': 'test-connector_id-0', 'type': 'iqn', 'links': [{'href': 'http://localhost/v1/volume/connectors/e80bf352-a203-4998-943d-a02d449e816b', 'rel': 'self'}, {'href': 'http://localhost/volume/connectors/e80bf352-a203-4998-943d-a02d449e816b', 'rel': 'bookmark'}], 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123'}]} 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-0e7990c7-fadd-4dc1-87e8-023f074026fe DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"The sort_key value \\\"foo\\\" is an invalid field for sorting\", \"debuginfo\": null}"} DEBUG util.py:445: GET: /v1/volume/connectors?sort_key=extra {} DEBUG util.py:445: GOT:Response: 400 Bad Request DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-cbe15e26-85a6-4ac0-b910-f442a4ee65a7 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"The sort_key value extra is an invalid field for sorting\", \"debuginfo\": null}"} DEBUG util.py:445: PATCH: /v1/volume/connectors/a2d355dd-6066-43a4-8f97-a87519559171 [{'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-c69985f7-d64b-470c-821b-638139f806bf DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Volume connector a2d355dd-6066-43a4-8f97-a87519559171 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': {'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-aa26b846-e2f2-4dec-8709-e08d986415c9 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2024-05-14T11:54:16.743618+00:00", "updated_at": null, "connector_id": "iqn.2012-06.com.example:initiator", "extra": {"str": "foo", "int": 123, "float": 0.1, "bool": true, "list": [1, 2], "none": null, "dict": {"cat": "meow"}}, "type": "iqn", "links": [{"href": "http://localhost/v1/volume/connectors/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "self"}, {"href": "http://localhost/volume/connectors/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "bookmark"}], "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123"} DEBUG util.py:445: GET: /v1/volume/connectors/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 {} DEBUG util.py:445: GOT:{'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'created_at': '2024-05-14T11:54:16.743618+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: 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-b7f73ee3-2ff6-48f6-910b-9420080ee86e DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2024-05-14T11:54:16.778284+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/targets/?limit=3 {} DEBUG util.py:445: GOT:{'targets': [{'uuid': 'a7a9cf9a-dcad-4f5c-8a64-ae749695c446', 'boot_index': 0, 'volume_id': '12345678', 'volume_type': 'iscsi', 'links': [{'href': 'http://localhost/v1/volume/targets/a7a9cf9a-dcad-4f5c-8a64-ae749695c446', 'rel': 'self'}, {'href': 'http://localhost/volume/targets/a7a9cf9a-dcad-4f5c-8a64-ae749695c446', 'rel': 'bookmark'}], 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123'}, {'uuid': '984fb668-1fd0-4121-ac72-6aedf9682cfd', 'boot_index': 1, 'volume_id': '12345678', 'volume_type': 'iscsi', 'links': [{'href': 'http://localhost/v1/volume/targets/984fb668-1fd0-4121-ac72-6aedf9682cfd', 'rel': 'self'}, {'href': 'http://localhost/volume/targets/984fb668-1fd0-4121-ac72-6aedf9682cfd', 'rel': 'bookmark'}], 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123'}, {'uuid': 'a9b1d110-2da5-4022-8d0a-e361b0ae4e55', 'boot_index': 2, 'volume_id': '12345678', 'volume_type': 'iscsi', 'links': [{'href': 'http://localhost/v1/volume/targets/a9b1d110-2da5-4022-8d0a-e361b0ae4e55', 'rel': 'self'}, {'href': 'http://localhost/volume/targets/a9b1d110-2da5-4022-8d0a-e361b0ae4e55', '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=a9b1d110-2da5-4022-8d0a-e361b0ae4e55'} DEBUG util.py:445: GET: /v1/volume/targets?detail=True&node=test-node {} DEBUG util.py:445: GOT:{'targets': [{'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'created_at': '2024-05-14T11:54:16.839670+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 {} 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: {0} ironic.tests.unit.api.controllers.v1.test_volume_target.TestPatch.test_add_node_id [0.042638s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_volume_target.TestPatch.test_remove_uuid [0.038163s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_volume_target.TestPatch.test_replace_boot_index_already_exist [0.045898s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_volume_target.TestPatch.test_replace_node_id [0.032163s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_volume_target.TestPatch.test_replace_node_uuid_inalid_type [0.044783s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_volume_target.TestPatch.test_update_byid_invalid_api_version [0.034589s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_volume_target.TestPost.test_create_volume_target_generate_uuid [0.040050s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_volume_target.TestPost.test_create_volume_target_no_mandatory_field_node_uuid [0.026056s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.controllers.v1.test_volume_target.TestPost.test_create_volume_target_no_mandatory_field_type [0.027142s] ... 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-fbb42c62-6610-4560-8ccd-02988899edf9 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Cannot patch /node_id. Only the following can be updated: boot_index, extra, node_uuid, properties, volume_id, volume_type\", \"debuginfo\": null}"} DEBUG util.py:445: PATCH: /v1/volume/targets/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 [{'path': '/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-5650fa90-eee9-4b6f-9fc1-652fbd71aae0 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Cannot patch /uuid. Only the following can be updated: boot_index, extra, node_uuid, properties, volume_id, volume_type\", \"debuginfo\": null}"} DEBUG util.py:445: PATCH: /v1/volume/targets/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 [{'path': '/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-97240e8b-783a-4ebb-8979-c8c2605cba70 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"A volume target with boot index '100' for the same node already exists.\", \"debuginfo\": null}"} DEBUG util.py:445: PATCH: /v1/volume/targets/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 [{'path': '/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-0e01f778-7014-4573-a533-186d352adf35 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Cannot patch /node_id. Only the following can be updated: boot_index, extra, node_uuid, properties, volume_id, volume_type\", \"debuginfo\": null}"} DEBUG util.py:445: PATCH: /v1/volume/targets/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 [{'path': '/node_uuid', 'value': 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-231ac958-66d3-4138-8cf5-33b71041448c DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Expected a UUID for node_uuid, but received 123.\", \"debuginfo\": null}"} DEBUG util.py:445: PATCH: /v1/volume/targets/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 [{'path': '/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 {'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/9a4687e8-3a45-4556-bf05-4b20e5bb0f71 DEBUG util.py:445: Openstack-Request-Id: req-30514f40-94ac-4fa3-808f-8183b4b18c86 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"uuid": "9a4687e8-3a45-4556-bf05-4b20e5bb0f71", "created_at": "2024-05-14T11:54:17.200170+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/9a4687e8-3a45-4556-bf05-4b20e5bb0f71", "rel": "self"}, {"href": "http://localhost/volume/targets/9a4687e8-3a45-4556-bf05-4b20e5bb0f71", "rel": "bookmark"}], "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123"} DEBUG util.py:445: GET: /v1/volume/targets/9a4687e8-3a45-4556-bf05-4b20e5bb0f71 {} DEBUG util.py:445: GOT:{'uuid': '9a4687e8-3a45-4556-bf05-4b20e5bb0f71', 'created_at': '2024-05-14T11:54:17.200170+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/9a4687e8-3a45-4556-bf05-4b20e5bb0f71', 'rel': 'self'}, {'href': 'http://localhost/volume/targets/9a4687e8-3a45-4556-bf05-4b20e5bb0f71', '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': {}} DEBUG util.py:445: GOT:Response: 400 Bad Request DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-5b988caa-3bdd-4b28-85d3-b445e55c203d DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Schema error for target: 'node_uuid' is a required property Failed validating 'required' in schema\", \"debuginfo\": null}"} DEBUG util.py:445: POST: /v1/volume/targets {'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'properties': {'target_iqn': 'iqn.foo'}, 'boot_index': 0, 'volume_id': '12345678', 'extra': {}, 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123'} DEBUG util.py:445: GOT:Response: 400 Bad Request DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-1a984d15-19a6-4235-acdf-a840dba8d73e DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Schema error for target: 'volume_type' is a required property Failed validating 'required' in schema\", \"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: {0} ironic.tests.unit.api.test_acl.TestRBACBasic.test_basic_00003_project_admin_can_get_node [0.037907s] ... 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-1a160b50-79d3-47c3-b8f3-93fc71b55de5 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "created_at": "2024-05-14T11:54:17.285676+00:00", "updated_at": null, "automated_clean": null, "bios_interface": null, "boot_interface": null, "boot_mode": null, "clean_step": {}, "conductor_group": "", "console_enabled": false, "console_interface": null, "deploy_interface": null, "deploy_step": {}, "description": null, "driver": "fake-hardware", "driver_info": {"foo": "bar", "fake_password": "******"}, "driver_internal_info": {"private_state": "secret value"}, "extra": {}, "fault": null, "inspection_finished_at": null, "inspection_started_at": null, "inspect_interface": null, "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar"}, "instance_uuid": null, "last_error": null, "lessee": null, "maintenance": false, "maintenance_reason": null, "management_interface": null, "name": null, "network_data": {}, "network_interface": null, "owner": null, "power_interface": null, "power_state": null, "properties": {"cpu_arch": "x86_64", "cpus": "8", "local_gb": "10", "memory_mb": "4096"}, "protected": false, "protected_reason": null, "provision_state": "available", "provision_updated_at": null, "raid_config": {}, "raid_interface": null, "rescue_interface": null, "reservation": null, "resource_class": null, "retired": false, "retired_reason": null, "secure_boot": null, "storage_interface": null, "target_power_state": null, "target_provision_state": null, "target_raid_config": {}, "traits": [], "vendor_interface": null, "links": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "bookmark"}], "conductor": null, "allocation_uuid": null, "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume", "rel": "bookmark"}]} DEBUG util.py:445: uuid DEBUG util.py:445: {node_uuid} DEBUG util.py:445: driver DEBUG util.py:445: fake-hardware DEBUG util.py:445: ACL Test GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-1a160b50-79d3-47c3-b8f3-93fc71b55de5 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "created_at": "2024-05-14T11:54:17.285676+00:00", "updated_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-d5f75a4b-1c8f-4407-9ff9-dd68b4dfa0a9 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"id": "v1", "links": [{"href": "http://localhost/v1/", "rel": "self"}, {"href": "https://docs.openstack.org//ironic/latest/contributor//webapi.html", "rel": "describedby", "type": "text/html"}], "media_types": {"base": "application/json", "type": "application/vnd.openstack.ironic.v1+json"}, "chassis": [{"href": "http://localhost/v1/chassis/", "rel": "self"}, {"href": "http://localhost/chassis/", "rel": "bookmark"}], "nodes": [{"href": "http://localhost/v1/nodes/", "rel": "self"}, {"href": "http://localhost/nodes/", "rel": "bookmark"}], "ports": [{"href": "http://localhost/v1/ports/", "rel": "self"}, {"href": "http://localhost/ports/", "rel": "bookmark"}], "drivers": [{"href": "http://localhost/v1/drivers/", "rel": "self"}, {"href": "http://localhost/drivers/", "rel": "bookmark"}], "version": {"id": "v1", "links": [{"href": "http://localhost/v1/", "rel": "self"}], "status": "CURRENT", "min_version": "1.1", "version": "1.78"}, "portgroups": [{"href": "http://localhost/v1/portgroups/", "rel": "self"}, {"href": "http://localhost/portgroups/", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/volume/", "rel": "self"}, {"href": "http://localhost/volume/", "rel": "bookmark"}], "lookup": [{"href": "http://localhost/v1/lookup/", "rel": "self"}, {"href": "http://localhost/lookup/", "rel": "bookmark"}], "heartbeat": [{"href": "http://localhost/v1/heartbeat/", "rel": "self"}, {"href": "http://localhost/heartbeat/", "rel": "bookmark"}], "conductors": [{"href": "http://localhost/v1/conductors/", "rel": "self"}, {"href": "http://localhost/conductors/", "rel": "bookmark"}], "allocations": [{"href": "http://localhost/v1/allocations/", "rel": "self"}, {"href": "http://localhost/allocations/", "rel": "bookmark"}], "events": [{"href": "http://localhost/v1/events/", "rel": "self"}, {"href": "http://localhost/events/", "rel": "bookmark"}], "deploy_templates": [{"href": "http://localhost/v1/deploy_templates/", "rel": "self"}, {"href": "http://localhost/deploy_templates/", "rel": "bookmark"}]} DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACBasic.test_basic_00008_public_api_v1_json [0.025584s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00003_nodes_post_member [0.063754s] ... 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-fe474999-05fb-45ac-a85e-98e942a58cb0 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"nodes": [{"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "created_at": "2024-05-14T11:54:17.167706+00:00", "updated_at": null, "automated_clean": null, "bios_interface": null, "boot_interface": null, "boot_mode": null, "clean_step": {}, "conductor_group": "", "console_enabled": false, "console_interface": null, "deploy_interface": null, "deploy_step": {}, "description": null, "driver": "fake-driverz", "driver_info": {"foo": "bar", "fake_password": "******"}, "driver_internal_info": {"private_state": "secret value"}, "extra": {}, "fault": null, "inspection_finished_at": null, "inspection_started_at": null, "inspect_interface": null, "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar"}, "instance_uuid": null, "last_error": null, "lessee": null, "maintenance": false, "maintenance_reason": null, "management_interface": null, "name": null, "network_data": {}, "network_interface": null, "owner": "z", "power_interface": null, "power_state": null, "properties": {"cpu_arch": "x86_64", "cpus": "8", "local_gb": "10", "memory_mb": "4096"}, "protected": false, "protected_reason": null, "provision_state": "available", "provision_updated_at": null, "raid_config": {}, "raid_interface": null, "rescue_interface": null, "reservation": null, "resource_class": null, "retired": false, "retired_reason": null, "secure_boot": null, "storage_interface": null, "target_power_state": null, "target_provision_state": null, "target_raid_config": {}, "traits": ["trait1"], "vendor_interface": null, "links": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "bookmark"}], "conductor": null, "allocation_uuid": null, "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume", "rel": "bookmark"}]}, {"uuid": "22e26c0b-03f2-4d2e-ae87-c02d7f33c000", "created_at": "2024-05-14T11:54:17.170129+00:00", "updated_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": [], "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": "f8b3b34e-119b-4e2a-bee7-f03ac68f5d81", "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/22e26c0b-03f2-4d2e-ae87-c02d7f33c000/ports", "rel": "self"}, {"href": "http://localhost/nodes/22e26c0b-03f2-4d2e-ae87-c02d7f33c000/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/22e26c0b-03f2-4d2e-ae87-c02d7f33c000/states", "rel": "self"}, {"href": "http://localhost/nodes/22e26c0b-03f2-4d2e-ae87-c02d7f33c000/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/22e26c0b-03f2-4d2e-ae87-c02d7f33c000/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/22e26c0b-03f2-4d2e-ae87-c02d7f33c000/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/22e26c0b-03f2-4d2e-ae87-c02d7f33c000/volume", "rel": "self"}, {"href": "http://localhost/nodes/22e26c0b-03f2-4d2e-ae87-c02d7f33c000/volume", "rel": "bookmark"}]}, {"uuid": "18a552fb-dcd2-43bf-9302-e4c93287be11", "created_at": "2024-05-14T11:54:17.183261+00:00", "updated_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: {3} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00016_nodes_node_ident_get_observer [0.097500s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00038_nodes_management_boot_device_supported_get_admin [0.056263s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00041_nodes_management_inject_nmi_put_admin [0.051013s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00030_nodes_maintenance_delete_member [0.111443s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00017_nodes_node_ident_patch_admin [0.140187s] ... 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-d5f75a4b-1c8f-4407-9ff9-dd68b4dfa0a9 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"id": "v1", "links": [{"href": "http://localhost/v1/", "rel": "self"}, {"href": "https://docs.openstack.org//ironic/latest/contributor//webapi.html", "rel": "describedby", "type": "text/html"}], "media_types": {"base": "application/json", "type": "application/vnd.openstack.ironic.v1+json"}, "chassis": [{"href": "http://localhost/v1/chassis/", "rel": "self"}, {"href": "http://localhost/chassis/", "rel": "bookmark"}], "nodes": [{"href": "http://localhost/v1/nodes/", "rel": "self"}, {"href": "http://localhost/nodes/", "rel": "bookmark"}], "ports": [{"href": "http://localhost/v1/ports/", "rel": "self"}, {"href": "http://localhost/ports/", "rel": "bookmark"}], "drivers": [{"href": "http://localhost/v1/drivers/", "rel": "self"}, {"href": "http://localhost/drivers/", "rel": "bookmark"}], "version": {"id": "v1", "links": [{"href": "http://localhost/v1/", "rel": "self"}], "status": "CURRENT", "min_version": "1.1", "version": "1.78"}, "portgroups": [{"href": "http://localhost/v1/portgroups/", "rel": "self"}, {"href": "http://localhost/portgroups/", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/volume/", "rel": "self"}, {"href": "http://localhost/volume/", "rel": "bookmark"}], "lookup": [{"href": "http://localhost/v1/lookup/", "rel": "self"}, {"href": "http://localhost/lookup/", "rel": "bookmark"}], "heartbeat": [{"href": "http://localhost/v1/heartbeat/", "rel": "self"}, {"href": "http://localhost/heartbeat/", "rel": "bookmark"}], "conductors": [{"href": "http://localhost/v1/conductors/", "rel": "self"}, {"href": "http://localhost/conductors/", "rel": "bookmark"}], "allocations": [{"href": "http://localhost/v1/allocations/", "rel": "self"}, {"href": "http://localhost/allocations/", "rel": "bookmark"}], "events": [{"href": "http://localhost/v1/events/", "rel": "self"}, {"href": "http://localhost/events/", "rel": "bookmark"}], "deploy_templates": [{"href": "http://localhost/v1/deploy_templates/", "rel": "self"}, {"href": "http://localhost/deploy_templates/", "rel": "bookmark"}]} DEBUG util.py:445: API ACL Testing Path post /v1/nodes DEBUG util.py:445: POST: /v1/nodes {'name': 'node', 'driver': 'fake-driverz'} DEBUG util.py:445: GOT:Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-06935f01-9722-4a84-b347-2207de646de5 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:create\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-06935f01-9722-4a84-b347-2207de646de5 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:create\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path get /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 DEBUG util.py:445: GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 {} DEBUG util.py:445: GOT:Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-66a8fb90-c937-4d39-93eb-25c3ddcb62ab DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "created_at": "2024-05-14T11:54:17.416127+00:00", "updated_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: {0} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00008_nodes_get_node_other_admin [0.059501s] ... 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-c4f4ecc8-b485-4fab-9e48-da06c0d98430 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG 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-c4f4ecc8-b485-4fab-9e48-da06c0d98430 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_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-06601708-bbc5-4b28-8365-68c323cf4f75 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG 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-06601708-bbc5-4b28-8365-68c323cf4f75 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-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-511c231b-59a6-4d06-8940-48aabf7c7f10 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG 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-511c231b-59a6-4d06-8940-48aabf7c7f10 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_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-6f5209f6-642c-4e0a-80df-51a69b10899c DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG 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-6f5209f6-642c-4e0a-80df-51a69b10899c DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path put /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/maintenance DEBUG util.py:445: PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/maintenance None DEBUG util.py:445: GOT:Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-92fe4451-d2f0-436d-97b7-9770c4b4ecb3 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:set_maintenance\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-92fe4451-d2f0-436d-97b7-9770c4b4ecb3 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:set_maintenance\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path put /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/management/boot_device DEBUG util.py:445: PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/management/boot_device {'boot_device': 'pxe'} DEBUG util.py:445: GOT:Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-ac1b8be2-8cbd-42f2-9f74-ccfcccee028d DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:set_boot_device\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-ac1b8be2-8cbd-42f2-9f74-ccfcccee028d DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:set_boot_device\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path get /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/management/boot_device/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-07607ef7-e529-42cc-a7be-9d22386cca54 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-07607ef7-e529-42cc-a7be-9d22386cca54 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path put /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/management/inject_nmi DEBUG util.py:445: PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/management/inject_nmi {} DEBUG util.py:445: GOT:Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-6484b898-f03e-4db3-bfef-9429da13f229 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-6484b898-f03e-4db3-bfef-9429da13f229 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path get /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states DEBUG util.py:445: GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states {} DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00045_nodes_states_get_member [0.049597s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00020_nodes_node_ident_delete_admin [0.072551s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00047_nodes_states_power_put_admin [0.049190s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00036_nodes_management_boot_device_get_member [0.104771s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00019_nodes_node_ident_patch_observer [0.116955s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00051_nodes_states_boot_mode_put_member [0.049246s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00039_nodes_management_boot_device_supported_get_member [0.060949s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00062_nodes_states_console_get_admin [0.051546s] ... 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-ee1f5037-2a59-43a4-a44a-ad8886fae8be DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "created_at": "2024-05-14T11:54:17.242017+00:00", "updated_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-ee1f5037-2a59-43a4-a44a-ad8886fae8be DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "created_at": "2024-05-14T11:54:17.242017+00:00", "updated_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-c0035b0f-6d52-4e1f-aaa1-e7cce786ca77 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-c0035b0f-6d52-4e1f-aaa1-e7cce786ca77 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path patch /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 DEBUG util.py:445: PATCH: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 [{'op': 'replace', 'path': '/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-28f0f39a-fcd3-4415-9cdf-e03f9039f80b DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:update_extra\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-28f0f39a-fcd3-4415-9cdf-e03f9039f80b DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:update_extra\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path get /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/validate DEBUG util.py:445: GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/validate {} DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00023_nodes_validate_get_admin [0.060828s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00040_nodes_management_boot_device_supported_get_observer [0.049776s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00064_nodes_states_console_put_admin [0.058685s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00022_nodes_node_ident_delete_observer [0.178845s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00025_nodes_validate_get_observer [0.084419s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00066_nodes_states_console_put_observer [0.048551s] ... 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-f8f34595-b761-4e0f-9b6f-830062c0a3ad DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "created_at": "2024-05-14T11:54:17.200628+00:00", "updated_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: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-7e621e82-dbd8-4796-bc29-946bd9103936 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG 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-7e621e82-dbd8-4796-bc29-946bd9103936 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_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-bec180eb-63b0-4039-a69a-fdd62e4a70b6 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG 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-bec180eb-63b0-4039-a69a-fdd62e4a70b6 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-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-197a3255-bffa-46ba-ad01-494dfff5d53d DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG 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-197a3255-bffa-46ba-ad01-494dfff5d53d DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-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-93efdca1-a030-4155-9982-9b4ea488a849 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG 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-93efdca1-a030-4155-9982-9b4ea488a849 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path get /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/management/boot_device/supported DEBUG util.py:445: GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/management/boot_device/supported {} DEBUG util.py:445: GOT:Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-467557f1-5ec1-4425-b183-5b1af10b3547 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-467557f1-5ec1-4425-b183-5b1af10b3547 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path put /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/power DEBUG util.py:445: PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/power {'target': 'power on'} DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00049_nodes_states_power_put_observer [0.048232s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00026_nodes_maintenance_put_admin [0.049061s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00055_nodes_states_secure_boot_put_observer [0.048598s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00029_nodes_maintenance_delete_admin [0.082659s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00031_nodes_maintenance_delete_observer [0.050510s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00067_nodes_vendor_passthru_methods_get_admin [0.048561s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00059_nodes_states_raid_put_admin [0.048230s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00068_nodes_vendor_passthru_methods_get_member [0.047785s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00037_nodes_management_boot_device_get_observer [0.055476s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00032_nodes_management_boot_device_put_admin [0.050663s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00063_nodes_states_console_get_member [0.052046s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00070_nodes_vendor_passthru_get_admin [0.052278s] ... 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-66a8fb90-c937-4d39-93eb-25c3ddcb62ab DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "created_at": "2024-05-14T11:54:17.416127+00:00", "updated_at": null, "automated_clean": null, "bios_interface": null, "boot_interface": null, "boot_mode": null, "clean_step": {}, "conductor_group": "", "console_enabled": false, "console_interface": null, "deploy_interface": null, "deploy_step": {}, "description": null, "driver": "fake-driverz", "driver_info": {"foo": "bar", "fake_password": "******"}, "driver_internal_info": {"private_state": "secret value"}, "extra": {}, "fault": null, "inspection_finished_at": null, "inspection_started_at": null, "inspect_interface": null, "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar"}, "instance_uuid": null, "last_error": null, "lessee": null, "maintenance": false, "maintenance_reason": null, "management_interface": null, "name": null, "network_data": {}, "network_interface": null, "owner": "z", "power_interface": null, "power_state": null, "properties": {"cpu_arch": "x86_64", "cpus": "8", "local_gb": "10", "memory_mb": "4096"}, "protected": false, "protected_reason": null, "provision_state": "available", "provision_updated_at": null, "raid_config": {}, "raid_interface": null, "rescue_interface": null, "reservation": null, "resource_class": null, "retired": false, "retired_reason": null, "secure_boot": null, "storage_interface": null, "target_power_state": null, "target_provision_state": null, "target_raid_config": {}, "traits": ["trait1"], "vendor_interface": null, "links": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "bookmark"}], "conductor": null, "allocation_uuid": null, "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume", "rel": "bookmark"}]} DEBUG util.py:445: API ACL Testing Path delete /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 DEBUG util.py:445: DELETE: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 DEBUG util.py:445: GOT:Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-3b69ca71-db22-4491-95d3-4eea0af903f0 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-3b69ca71-db22-4491-95d3-4eea0af903f0 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path delete /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 DEBUG util.py:445: DELETE: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 DEBUG util.py:445: GOT:Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-b2915f1a-07d9-498e-bb03-fca1dde3dff8 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:delete\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-b2915f1a-07d9-498e-bb03-fca1dde3dff8 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:delete\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path put /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/maintenance DEBUG util.py:445: PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/maintenance None DEBUG util.py:445: GOT:Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-bf9874e8-157b-4725-a1f0-a2355f8c8ab4 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-bf9874e8-157b-4725-a1f0-a2355f8c8ab4 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path delete /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/maintenance DEBUG util.py:445: DELETE: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/maintenance DEBUG util.py:445: GOT:Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-ed10797d-f370-4484-83f3-d93fc7f5186d DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:clear_maintenance\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-ed10797d-f370-4484-83f3-d93fc7f5186d DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:clear_maintenance\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path put /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/management/boot_device DEBUG util.py:445: PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/management/boot_device {'boot_device': 'pxe'} DEBUG util.py:445: GOT:Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-7a5ed87e-5f42-4a1a-ab99-9351204cac7a DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-7a5ed87e-5f42-4a1a-ab99-9351204cac7a DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path put /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/management/boot_device DEBUG util.py:445: PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/management/boot_device {'boot_device': 'pxe'} DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00033_nodes_management_boot_device_put_member [0.048160s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00043_nodes_management_inject_nmi_put_observer [0.095207s] ... 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-9dd86a83-9dd8-4a34-9d81-273f76658bff DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG 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-9dd86a83-9dd8-4a34-9d81-273f76658bff DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_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-de1f97c8-6615-46c4-939d-877b080515e5 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-de1f97c8-6615-46c4-939d-877b080515e5 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path put /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/boot_mode DEBUG util.py:445: PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/boot_mode {'target': 'uefi'} DEBUG util.py:445: GOT:Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-2b2de99c-6d3b-4283-9603-8f9541850c55 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG 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-2b2de99c-6d3b-4283-9603-8f9541850c55 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-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: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-b0b5c810-d2ea-48af-9693-bcbe45d1c855 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:get_console\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-b0b5c810-d2ea-48af-9693-bcbe45d1c855 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:get_console\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path put /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/console DEBUG util.py:445: PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/console {'enabled': True} DEBUG util.py:445: GOT:Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-54b04f12-2486-4599-a0df-c51d7072e5e4 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-54b04f12-2486-4599-a0df-c51d7072e5e4 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path put /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/console DEBUG util.py:445: PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/console {'enabled': True} DEBUG util.py:445: GOT:Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-a1c669dd-f41d-455c-bd24-d21717c187b8 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:set_console_state\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-a1c669dd-f41d-455c-bd24-d21717c187b8 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:set_console_state\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path get /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/vendor_passthru/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-cd306ae5-43dc-41a2-922d-354d7da5cb97 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-cd306ae5-43dc-41a2-922d-354d7da5cb97 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path get /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/vendor_passthru/methods DEBUG util.py:445: GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/vendor_passthru/methods {} DEBUG util.py:445: GOT:Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-620407a2-9c3f-4f7d-891a-53b40bdc7d7b DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG 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-620407a2-9c3f-4f7d-891a-53b40bdc7d7b DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-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: {2} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00069_nodes_vendor_passthru_methods_get_observer [0.048040s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00074_nodes_vendor_passthru_post_member [0.049570s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00073_nodes_vendor_passthru_post_admin [0.053395s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00035_nodes_management_boot_device_get_admin [0.049531s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00078_nodes_vendor_passthru_put_observer [0.050325s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00042_nodes_management_inject_nmi_put_member [0.050072s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00046_nodes_states_get_observer [0.075603s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00084_nodes_traits_get_observer [0.052008s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00082_nodes_traits_get_admin [0.052325s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00044_nodes_states_get_admin [0.049961s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00085_nodes_traits_put_admin [0.049634s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00048_nodes_states_power_put_member [0.054817s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00083_nodes_traits_get_member [0.048937s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00054_nodes_states_secure_boot_put_member [0.048460s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00094_nodes_traits_trait_delete_admin [0.048888s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00071_nodes_vendor_passthru_get_member [0.047800s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00050_nodes_states_boot_mode_put_admin [0.074318s] ... 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-710066e5-2ff4-4345-bc91-5b607d5bb4e0 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:set_power_state\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-710066e5-2ff4-4345-bc91-5b607d5bb4e0 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:set_power_state\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path put /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/secure_boot DEBUG util.py:445: PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/secure_boot {'target': 'true'} DEBUG util.py:445: GOT:Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-3736e6e6-87e5-45cf-b595-3d1022692499 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:set_secure_boot\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-3736e6e6-87e5-45cf-b595-3d1022692499 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:set_secure_boot\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path put /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/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-c5e43da7-74c2-4992-8816-6c833ff65fb5 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-c5e43da7-74c2-4992-8816-6c833ff65fb5 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path get /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/console DEBUG util.py:445: GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/console {} DEBUG util.py:445: GOT:Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-8d1773be-0910-4610-8fac-b1da86822f92 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG 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-8d1773be-0910-4610-8fac-b1da86822f92 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-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: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-29335d82-ba79-4466-91ce-5c66d6860dbc DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-29335d82-ba79-4466-91ce-5c66d6860dbc DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path post /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/vendor_passthru?method=test DEBUG util.py:445: POST: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/vendor_passthru?method=test None DEBUG util.py:445: GOT:Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-f6022eca-aa3e-4f68-a3c9-bba49f6388c7 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-f6022eca-aa3e-4f68-a3c9-bba49f6388c7 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path get /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/traits DEBUG util.py:445: GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/traits {} DEBUG util.py:445: GOT:Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-a80b0344-8cdf-484f-a79e-021a7b514dfa DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"traits": ["trait1"]} DEBUG util.py:445: ACL Test GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-a80b0344-8cdf-484f-a79e-021a7b514dfa DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"traits": ["trait1"]} DEBUG util.py:445: API ACL Testing Path put /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/traits DEBUG util.py:445: PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/traits {'traits': ['CUSTOM_TRAIT1', 'HW_CPU_X86_VMX']} DEBUG util.py:445: GOT:Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-c388a2c5-dc03-40cb-900c-1d44b66cc29b DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-c388a2c5-dc03-40cb-900c-1d44b66cc29b DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path put /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/traits/CUSTOM_TRAIT2 DEBUG util.py:445: PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/traits/CUSTOM_TRAIT2 None DEBUG util.py:445: GOT:Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-c8c9b3f7-86f1-4df3-9ca1-288190a8266c DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00092_nodes_traits_trait_put_member [0.048177s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00098_nodes_vifs_get_member [0.047818s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00110_nodes_management_indicators_component_ind_ident_get_allow ... SKIPPED: API appears to be broken and should be patched outside of this work. DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00072_nodes_vendor_passthru_get_observer [0.051677s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00111_nodes_management_indicators_component_ind_ident_put_allow ... SKIPPED: API appears to be broken and should be patched outside of this work. DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00105_nodes_vifs_node_vif_ident_delete_observer [0.060221s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00075_nodes_vendor_passthru_post_observer [0.049649s] ... 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-08ccb2ee-89b8-4996-b04c-8f3574cf22f0 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-08ccb2ee-89b8-4996-b04c-8f3574cf22f0 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path get /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/validate DEBUG util.py:445: GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/validate {} DEBUG util.py:445: GOT:Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-716c93d5-95e4-4125-919a-4e019b1818ce DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:validate\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-716c93d5-95e4-4125-919a-4e019b1818ce DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:validate\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path delete /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/maintenance DEBUG util.py:445: DELETE: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/maintenance DEBUG util.py:445: GOT:Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-9a698583-f2ba-4b5c-87ce-8a6931ffe3df DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-9a698583-f2ba-4b5c-87ce-8a6931ffe3df DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path get /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/management/boot_device DEBUG util.py:445: GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/management/boot_device {} DEBUG util.py:445: GOT:Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-c3932106-edc1-423b-b104-ab77760e46bb DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-c3932106-edc1-423b-b104-ab77760e46bb DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path put /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/management/inject_nmi DEBUG util.py:445: PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/management/inject_nmi {} DEBUG util.py:445: GOT:Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-0dfdeb0d-c725-4b3a-864a-bb56b0d875e2 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:inject_nmi\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-0dfdeb0d-c725-4b3a-864a-bb56b0d875e2 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:inject_nmi\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path get /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states DEBUG util.py:445: GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states {} DEBUG util.py:445: GOT:Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-75f76039-7c17-4920-b783-279d1f337e6c DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"console_enabled": false, "last_error": null, "power_state": null, "provision_state": "available", "target_power_state": null, "target_provision_state": null, "provision_updated_at": null, "raid_config": {}, "target_raid_config": {}, "boot_mode": null, "secure_boot": null} DEBUG util.py:445: ACL Test GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-75f76039-7c17-4920-b783-279d1f337e6c DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"console_enabled": false, "last_error": null, "power_state": null, "provision_state": "available", "target_power_state": null, "target_provision_state": null, "provision_updated_at": null, "raid_config": {}, "target_raid_config": {}, "boot_mode": null, "secure_boot": null} DEBUG util.py:445: API ACL Testing Path put /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/power DEBUG util.py:445: PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/power {'target': 'power on'} DEBUG util.py:445: GOT:Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-fc23ea3e-b05c-4db3-b2ea-4560e6e8c036 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG 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-fc23ea3e-b05c-4db3-b2ea-4560e6e8c036 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_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: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-8213140d-4a26-4573-a8b4-3586fb2c08b6 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-8213140d-4a26-4573-a8b4-3586fb2c08b6 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path put /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/boot_mode DEBUG util.py:445: PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/boot_mode {'target': 'uefi'} DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00052_nodes_states_boot_mode_put_observer [0.086731s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00108_nodes_management_indicators_get_observer [0.049934s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00053_nodes_states_secure_boot_put_admin [0.050038s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00118_portgroups_detail_get_admin [0.082384s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00056_nodes_states_provision_put_admin [0.050085s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00114_portgroups_get_observer [0.064213s] ... 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-228a33fa-e2a7-4e18-9f45-6c8caa619b24 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG 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-228a33fa-e2a7-4e18-9f45-6c8caa619b24 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-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-e0d7ae1a-814b-424e-b4df-e018be312dc2 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-e0d7ae1a-814b-424e-b4df-e018be312dc2 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path put /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/management/inject_nmi DEBUG util.py:445: PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/management/inject_nmi {} DEBUG util.py:445: GOT:Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-16349778-5514-4b8d-877b-fc289ca1f2d3 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG 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-16349778-5514-4b8d-877b-fc289ca1f2d3 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path get /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states DEBUG util.py:445: GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states {} DEBUG util.py:445: GOT:Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-afb6452c-dca9-493a-98bd-b88bb26bf914 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"console_enabled": false, "last_error": null, "power_state": null, "provision_state": "available", "target_power_state": null, "target_provision_state": null, "provision_updated_at": null, "raid_config": {}, "target_raid_config": {}, "boot_mode": null, "secure_boot": null} DEBUG util.py:445: ACL Test GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-afb6452c-dca9-493a-98bd-b88bb26bf914 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"console_enabled": false, "last_error": null, "power_state": null, "provision_state": "available", "target_power_state": null, "target_provision_state": null, "provision_updated_at": null, "raid_config": {}, "target_raid_config": {}, "boot_mode": null, "secure_boot": null} DEBUG util.py:445: API ACL Testing Path put /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/secure_boot DEBUG util.py:445: PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/secure_boot {'target': 'true'} DEBUG util.py:445: GOT:Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-82c1ea98-cb08-49f8-a38c-9bb71e394060 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG 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-82c1ea98-cb08-49f8-a38c-9bb71e394060 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-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-bcff79eb-7793-4158-b3dd-a0ffde3071f0 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG 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-bcff79eb-7793-4158-b3dd-a0ffde3071f0 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path get /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/vendor_passthru?method=test DEBUG util.py:445: GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/vendor_passthru?method=test {} DEBUG util.py:445: GOT:Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-f7627f0a-9c68-499a-b34d-240bc5359428 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:vendor_passthru\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-f7627f0a-9c68-499a-b34d-240bc5359428 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:vendor_passthru\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path post /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/vendor_passthru?method=test DEBUG util.py:445: POST: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/vendor_passthru?method=test None DEBUG util.py:445: GOT:Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-d7b6a117-3037-4f89-a16f-4ab68a903008 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:vendor_passthru\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-d7b6a117-3037-4f89-a16f-4ab68a903008 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:vendor_passthru\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path put /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/vendor_passthru?method=test DEBUG util.py:445: PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/vendor_passthru?method=test None DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00076_nodes_vendor_passthru_put_admin [0.055525s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00080_nodes_vendor_passthru_delete_member [0.050148s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00057_nodes_states_provision_put_member [0.057259s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00115_portgroups_post_admin [0.069082s] ... 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-626ed001-3f24-4a56-83fe-3d2857cfd94a DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:vendor_passthru\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-626ed001-3f24-4a56-83fe-3d2857cfd94a DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:vendor_passthru\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path post /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/vendor_passthru?method=test DEBUG util.py:445: POST: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/vendor_passthru?method=test None DEBUG util.py:445: GOT:Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-a438f662-93d5-45aa-a6d2-05687165c627 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG 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-a438f662-93d5-45aa-a6d2-05687165c627 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_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: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-36bdec4a-03e1-4897-a9fb-c8f83862c179 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:vendor_passthru\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-36bdec4a-03e1-4897-a9fb-c8f83862c179 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:vendor_passthru\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path get /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/traits DEBUG util.py:445: GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/traits {} DEBUG util.py:445: GOT:Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-f1c623ab-7c80-4378-9041-00afd32dad1b DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"traits": ["trait1"]} DEBUG util.py:445: ACL Test GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-f1c623ab-7c80-4378-9041-00afd32dad1b DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"traits": ["trait1"]} DEBUG util.py:445: API ACL Testing Path 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-65ff5d0b-abd0-48ef-a90a-6fffc8159d73 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG 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-65ff5d0b-abd0-48ef-a90a-6fffc8159d73 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_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-aad36359-a25e-45ac-8c85-58bbae34db18 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-aad36359-a25e-45ac-8c85-58bbae34db18 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path get /v1/portgroups/detail DEBUG util.py:445: GET: /v1/portgroups/detail {} DEBUG util.py:445: GOT:Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-c41f2d1b-b9eb-4e18-b364-a24344b034e3 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"portgroups": [{"uuid": "6eb02b44-18a3-4659-8c0b-8d2802581ae4", "created_at": "2024-05-14T11:54:18.264464+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-c41f2d1b-b9eb-4e18-b364-a24344b034e3 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"portgroups": [{"uuid": "6eb02b44-18a3-4659-8c0b-8d2802581ae4", "created_at": "2024-05-14T11:54:18.264464+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: {2} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00124_portgroups_portgroup_ident_patch_admin [0.051441s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00125_portgroups_portgroup_ident_patch_member [0.057421s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00081_nodes_vendor_passthru_delete_observer [0.079718s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00058_nodes_states_provision_put_observer [0.052872s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00126_portgroups_portgroup_ident_patch_observer [0.069421s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00116_portgroups_post_member [0.069209s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00087_nodes_traits_put_observer [0.063627s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00060_nodes_states_raid_put_member [0.061307s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00134_nodes_portgroups_detail_get_member [0.062612s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00088_nodes_traits_delete_admin [0.053773s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00061_nodes_states_raid_put_observer [0.057963s] ... 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-c8c9b3f7-86f1-4df3-9ca1-288190a8266c DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-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-64f3dab7-7d4a-4b53-8cda-ed15461d661a DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG 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-64f3dab7-7d4a-4b53-8cda-ed15461d661a DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path delete /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/vifs/ee21d58f-5de2-4956-85ff-33935ea1ca00 DEBUG util.py:445: DELETE: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/vifs/ee21d58f-5de2-4956-85ff-33935ea1ca00 DEBUG util.py:445: GOT:Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-c462e779-9eb1-4501-a4bd-e287c19ff488 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:vif:detach\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-c462e779-9eb1-4501-a4bd-e287c19ff488 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:vif:detach\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path get /v1/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-bee09e7b-5634-48f7-a111-f3bf49203803 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-bee09e7b-5634-48f7-a111-f3bf49203803 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path get /v1/portgroups DEBUG util.py:445: GET: /v1/portgroups {} DEBUG util.py:445: GOT:Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-8efc98a2-8401-49f1-a30a-86dcf29a752d DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"portgroups": [{"uuid": "6eb02b44-18a3-4659-8c0b-8d2802581ae4", "address": "52:54:00:cf:2d:31", "name": "fooname", "links": [{"href": "http://localhost/v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4", "rel": "self"}, {"href": "http://localhost/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4", "rel": "bookmark"}]}]} DEBUG util.py:445: ACL Test GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-8efc98a2-8401-49f1-a30a-86dcf29a752d DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"portgroups": [{"uuid": "6eb02b44-18a3-4659-8c0b-8d2802581ae4", "address": "52:54:00:cf:2d:31", "name": "fooname", "links": [{"href": "http://localhost/v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4", "rel": "self"}, {"href": "http://localhost/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4", "rel": "bookmark"}]}]} DEBUG util.py:445: API ACL Testing Path post /v1/portgroups DEBUG util.py:445: POST: /v1/portgroups {'node_uuid': '18a552fb-dcd2-43bf-9302-e4c93287be11'} DEBUG util.py:445: GOT:Response: 201 Created DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Location: http://localhost/v1/portgroups/4b2e0d9d-9332-4624-8c4c-bd1f056a4d6a DEBUG util.py:445: Openstack-Request-Id: req-e2040eae-e106-46c7-abc3-ebbf78227a8d DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"uuid": "4b2e0d9d-9332-4624-8c4c-bd1f056a4d6a", "created_at": "2024-05-14T11:54:18.407819+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/4b2e0d9d-9332-4624-8c4c-bd1f056a4d6a", "rel": "self"}, {"href": "http://localhost/portgroups/4b2e0d9d-9332-4624-8c4c-bd1f056a4d6a", "rel": "bookmark"}], "node_uuid": "18a552fb-dcd2-43bf-9302-e4c93287be11", "ports": [{"href": "http://localhost/v1/portgroups/4b2e0d9d-9332-4624-8c4c-bd1f056a4d6a/ports", "rel": "self"}, {"href": "http://localhost/portgroups/4b2e0d9d-9332-4624-8c4c-bd1f056a4d6a/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/4b2e0d9d-9332-4624-8c4c-bd1f056a4d6a DEBUG util.py:445: Openstack-Request-Id: req-e2040eae-e106-46c7-abc3-ebbf78227a8d DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"uuid": "4b2e0d9d-9332-4624-8c4c-bd1f056a4d6a", "created_at": "2024-05-14T11:54:18.407819+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/4b2e0d9d-9332-4624-8c4c-bd1f056a4d6a", "rel": "self"}, {"href": "http://localhost/portgroups/4b2e0d9d-9332-4624-8c4c-bd1f056a4d6a", "rel": "bookmark"}], "node_uuid": "18a552fb-dcd2-43bf-9302-e4c93287be11", "ports": [{"href": "http://localhost/v1/portgroups/4b2e0d9d-9332-4624-8c4c-bd1f056a4d6a/ports", "rel": "self"}, {"href": "http://localhost/portgroups/4b2e0d9d-9332-4624-8c4c-bd1f056a4d6a/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-6d5c96dc-b40a-4006-a25d-e5677dbaa501 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:portgroup:create\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-6d5c96dc-b40a-4006-a25d-e5677dbaa501 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:portgroup:create\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path post /v1/portgroups DEBUG util.py:445: POST: /v1/portgroups {'node_uuid': '18a552fb-dcd2-43bf-9302-e4c93287be11'} DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00117_portgroups_post_observer [0.064199s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00121_portgroups_portgroup_ident_get_admin [0.053747s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00089_nodes_traits_delete_member [0.051090s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00065_nodes_states_console_put_member [0.050998s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00137_ports_get_member [0.081233s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00122_portgroups_portgroup_ident_get_member [0.059759s] ... 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-ef7cbaf6-5b56-4f3e-b52e-2ebd15010c4f DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:set_boot_mode\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-ef7cbaf6-5b56-4f3e-b52e-2ebd15010c4f DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:set_boot_mode\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path put /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/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-3d6479dd-39d0-4dd0-b134-1e73a9aeddb6 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-3d6479dd-39d0-4dd0-b134-1e73a9aeddb6 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path put /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/provision DEBUG util.py:445: PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/provision {'target': 'deploy'} DEBUG util.py:445: GOT:Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-9c6bd4e9-ecf3-40ef-82cf-cba197083d07 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-9c6bd4e9-ecf3-40ef-82cf-cba197083d07 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path put /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/provision DEBUG util.py:445: PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/provision {'target': 'deploy'} DEBUG util.py:445: GOT:Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-60f03cb8-6269-4da3-8b6e-a45e6c8cc0d0 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG 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-60f03cb8-6269-4da3-8b6e-a45e6c8cc0d0 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path put /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/provision DEBUG util.py:445: PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/provision {'target': 'deploy'} DEBUG util.py:445: GOT:Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-0f6c073f-8662-4331-b137-103805f4558e DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:set_provision_state\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-0f6c073f-8662-4331-b137-103805f4558e DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:set_provision_state\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path put /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/raid DEBUG util.py:445: PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/raid {'target_raid_config': {'logical_disks': [{'size_gb': 500, 'is_root_volume': True, 'raid_level': 1}]}} DEBUG util.py:445: GOT:Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-69cc8533-fb73-4062-88bd-55ddc2c90fcc DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG 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-69cc8533-fb73-4062-88bd-55ddc2c90fcc DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_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: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-e1b8363b-f491-44ee-840c-3e7caacb702e DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:set_raid_state\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-e1b8363b-f491-44ee-840c-3e7caacb702e DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:set_raid_state\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path 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-c52fc3fe-7ee8-4e5a-899d-fb812f7da6f1 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG 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-c52fc3fe-7ee8-4e5a-899d-fb812f7da6f1 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_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: {3} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00077_nodes_vendor_passthru_put_member [0.049874s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00090_nodes_traits_delete_observer [0.050792s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00141_ports_post_observer [0.071955s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00123_portgroups_portgroup_ident_get_observer [0.051709s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00079_nodes_vendor_passthru_delete_admin [0.049588s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00091_nodes_traits_trait_put_admin [0.069698s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00147_ports_port_id_get_observer [0.095174s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00086_nodes_traits_put_member [0.049595s] ... 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-38ae47dd-6738-43b6-bbf6-ca6c86c98dc7 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:portgroup:create\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-38ae47dd-6738-43b6-bbf6-ca6c86c98dc7 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:portgroup:create\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path get /v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4 DEBUG util.py:445: GET: /v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4 {} DEBUG util.py:445: GOT:Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-789a84d9-beea-4f54-9763-f59e42ebd84a DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"uuid": "6eb02b44-18a3-4659-8c0b-8d2802581ae4", "created_at": "2024-05-14T11:54:18.571130+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-789a84d9-beea-4f54-9763-f59e42ebd84a DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"uuid": "6eb02b44-18a3-4659-8c0b-8d2802581ae4", "created_at": "2024-05-14T11:54:18.571130+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: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-9b11fabf-fd49-44b5-965c-98d448efa873 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Portgroup 6eb02b44-18a3-4659-8c0b-8d2802581ae4 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-9b11fabf-fd49-44b5-965c-98d448efa873 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Portgroup 6eb02b44-18a3-4659-8c0b-8d2802581ae4 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path get /v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4 DEBUG util.py:445: GET: /v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4 {} DEBUG util.py:445: GOT:Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-3e4ee8ca-1e65-4850-8a89-6d10102ac09f DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"uuid": "6eb02b44-18a3-4659-8c0b-8d2802581ae4", "created_at": "2024-05-14T11:54:18.685761+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-3e4ee8ca-1e65-4850-8a89-6d10102ac09f DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"uuid": "6eb02b44-18a3-4659-8c0b-8d2802581ae4", "created_at": "2024-05-14T11:54:18.685761+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-1b274942-5ce0-4460-a66d-a7b2a04a18d3 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"portgroups": [{"uuid": "6eb02b44-18a3-4659-8c0b-8d2802581ae4", "created_at": "2024-05-14T11:54:18.736473+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_00133_nodes_portgroups_detail_get_admin [0.052165s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00136_ports_get_admin [0.048401s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00093_nodes_traits_trait_put_observer [0.071607s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00138_ports_get_observer [0.047818s] ... 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-fa15dc13-e3a4-471d-896c-a40af0811b83 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-fa15dc13-e3a4-471d-896c-a40af0811b83 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path delete /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/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-5569e623-036c-4c1d-ba80-fafd143be634 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG 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-5569e623-036c-4c1d-ba80-fafd143be634 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path delete /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/vendor_passthru?method=test DEBUG util.py:445: DELETE: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/vendor_passthru?method=test DEBUG util.py:445: GOT:Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-4890adeb-761c-428b-9d2e-68e1a6ba88f8 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:vendor_passthru\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-4890adeb-761c-428b-9d2e-68e1a6ba88f8 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:vendor_passthru\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path put /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/traits 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-2ce219f7-fcf3-46e2-8014-9058ee81f6b6 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:traits:set\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-2ce219f7-fcf3-46e2-8014-9058ee81f6b6 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:traits:set\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path delete /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/traits/trait DEBUG util.py:445: DELETE: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/traits/trait DEBUG util.py:445: GOT:Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-86e59545-5fb5-4c15-992e-0e416ff68c57 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-86e59545-5fb5-4c15-992e-0e416ff68c57 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path delete /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/traits/trait DEBUG util.py:445: DELETE: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/traits/trait DEBUG util.py:445: GOT:Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-d7c23737-1ec0-42ca-a675-98b7f36f7504 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG 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-d7c23737-1ec0-42ca-a675-98b7f36f7504 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_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-24799c9d-c593-4904-8b5b-029351f297bf DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:traits:delete\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-24799c9d-c593-4904-8b5b-029351f297bf DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:traits:delete\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path put /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/traits/CUSTOM_TRAIT2 DEBUG util.py:445: PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/traits/CUSTOM_TRAIT2 None DEBUG util.py:445: GOT:Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-617e5b3a-3a9f-4713-8a55-862ff42cdfc7 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-617e5b3a-3a9f-4713-8a55-862ff42cdfc7 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path get /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/vifs DEBUG util.py:445: GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/vifs {} DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00097_nodes_vifs_get_admin [0.116691s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00139_ports_post_admin [0.046285s] ... 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-958620c5-cd2a-42ce-b5d8-88f495394c3c DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-958620c5-cd2a-42ce-b5d8-88f495394c3c DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path patch /v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4 DEBUG util.py:445: PATCH: /v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4 [{'op': 'replace', 'path': '/extra', 'value': {'test': 'testing'}}] DEBUG util.py:445: GOT:Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-f43c887e-9041-49fc-b6c9-9318be3f19dd DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Portgroup 6eb02b44-18a3-4659-8c0b-8d2802581ae4 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-f43c887e-9041-49fc-b6c9-9318be3f19dd DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Portgroup 6eb02b44-18a3-4659-8c0b-8d2802581ae4 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path patch /v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4 DEBUG util.py:445: PATCH: /v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4 [{'op': 'replace', 'path': '/extra', 'value': {'test': 'testing'}}] DEBUG util.py:445: GOT:Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-464f5b11-0b2b-4195-b014-1b65179ba6cb DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:portgroup:update\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-464f5b11-0b2b-4195-b014-1b65179ba6cb DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:portgroup:update\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path get /v1/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-fb466412-9bbb-4d55-9dfd-2f1ee1d185b5 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG 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-fb466412-9bbb-4d55-9dfd-2f1ee1d185b5 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"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-69e5575f-b2f6-4495-a1a7-fe4e89e56c28 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:port:list\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-69e5575f-b2f6-4495-a1a7-fe4e89e56c28 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:port:list\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path post /v1/ports DEBUG util.py:445: POST: /v1/ports {'node_uuid': '68a552fb-dcd2-43bf-9302-e4c93287be16', 'address': '00:01:02:03:04:05'} DEBUG util.py:445: GOT:Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-31ef214f-886e-4209-97a1-654f60096da5 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:port:create\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-31ef214f-886e-4209-97a1-654f60096da5 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:port:create\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path get /v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 DEBUG util.py:445: GET: /v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 {} DEBUG util.py:445: GOT:Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-93df8aef-ddfa-4c15-8c95-fe6d0850c225 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2024-05-14T11:54:18.765971+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-93df8aef-ddfa-4c15-8c95-fe6d0850c225 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2024-05-14T11:54:18.765971+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: {2} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00155_nodes_ports_get_member [0.051688s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00095_nodes_traits_trait_delete_member [0.095795s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00099_nodes_vifs_get_observer [0.109861s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00140_ports_post_member [0.047172s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00146_ports_port_id_get_member [0.047558s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00103_nodes_vifs_node_vif_ident_delete_admin [0.069686s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00096_nodes_traits_trait_delete_observer [0.092601s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00157_nodes_ports_detail_get_admin [0.204460s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00148_ports_port_id_patch_admin [0.052734s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00107_nodes_management_indicators_get_member [0.048734s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00100_nodes_vifs_post_admin [0.055809s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00149_ports_port_id_patch_member [0.048114s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00160_portgroups_ports_get_admin [0.058275s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00109_nodes_management_indicators_component_get_allow ... SKIPPED: API appears to be broken and should be patched outside of this work. DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00101_nodes_vifs_post_member [0.050372s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00112_portgroups_get_admin [0.049499s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00164_portgroups_ports_detail_get_member [0.056498s] ... 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-1b274942-5ce0-4460-a66d-a7b2a04a18d3 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"portgroups": [{"uuid": "6eb02b44-18a3-4659-8c0b-8d2802581ae4", "created_at": "2024-05-14T11:54:18.736473+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-7d7201d0-45ac-4f5b-8428-1a02a012f9b0 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"ports": [{"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "address": "52:54:00:cf:2d:31", "links": [{"href": "http://localhost/v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "self"}, {"href": "http://localhost/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "bookmark"}]}]} DEBUG util.py:445: ACL Test GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-7d7201d0-45ac-4f5b-8428-1a02a012f9b0 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"ports": [{"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "address": "52:54:00:cf:2d:31", "links": [{"href": "http://localhost/v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "self"}, {"href": "http://localhost/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "bookmark"}]}]} DEBUG util.py:445: API ACL Testing Path get /v1/ports DEBUG util.py:445: GET: /v1/ports {} DEBUG util.py:445: GOT:Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-5d53e08e-066c-4912-8d80-767170695a49 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"ports": [{"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "address": "52:54:00:cf:2d:31", "links": [{"href": "http://localhost/v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "self"}, {"href": "http://localhost/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "bookmark"}]}]} DEBUG util.py:445: ACL Test GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-5d53e08e-066c-4912-8d80-767170695a49 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"ports": [{"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "address": "52:54:00:cf:2d:31", "links": [{"href": "http://localhost/v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "self"}, {"href": "http://localhost/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "bookmark"}]}]} DEBUG util.py:445: API ACL Testing Path post /v1/ports DEBUG util.py:445: POST: /v1/ports {'node_uuid': '68a552fb-dcd2-43bf-9302-e4c93287be16', 'address': '00:01:02:03:04:05'} DEBUG util.py:445: GOT:Response: 400 Bad Request DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-2b2b7b7c-f9f8-40dc-81b5-712048efc7fb DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 68a552fb-dcd2-43bf-9302-e4c93287be16 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 400 Bad Request DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-2b2b7b7c-f9f8-40dc-81b5-712048efc7fb DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 68a552fb-dcd2-43bf-9302-e4c93287be16 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path 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-b11eb799-7710-4e07-b3e1-797a4f72b650 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:port:create\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-b11eb799-7710-4e07-b3e1-797a4f72b650 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:port:create\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path get /v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 DEBUG util.py:445: GET: /v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 {} DEBUG util.py:445: GOT:Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-e1b98372-6d6d-4b95-a1ed-769a05dcec64 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Port 1be26c0b-03f2-4d2e-ae87-c02d7f33c781 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-e1b98372-6d6d-4b95-a1ed-769a05dcec64 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Port 1be26c0b-03f2-4d2e-ae87-c02d7f33c781 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path patch /v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 DEBUG util.py:445: PATCH: /v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 [{'op': 'replace', 'path': '/extra', 'value': {'test': 'testing'}}] DEBUG util.py:445: GOT:Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-03f57f60-0854-4fb3-b061-3db01c82198e DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-03f57f60-0854-4fb3-b061-3db01c82198e DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path patch /v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 DEBUG util.py:445: PATCH: /v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 [{'op': 'replace', 'path': '/extra', 'value': {'test': 'testing'}}] DEBUG util.py:445: GOT:Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-c5aa0328-31e1-4b6e-85c5-129ea50d321d DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Port 1be26c0b-03f2-4d2e-ae87-c02d7f33c781 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-c5aa0328-31e1-4b6e-85c5-129ea50d321d DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Port 1be26c0b-03f2-4d2e-ae87-c02d7f33c781 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00150_ports_port_id_patch_observer [0.060428s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00168_volume_get_observer [0.055988s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00151_ports_port_id_delete_admin [0.079135s] ... 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-a719a458-1686-4a1d-b430-5378f0d05d0e DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG 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-a719a458-1686-4a1d-b430-5378f0d05d0e DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path delete /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/vendor_passthru?method=test DEBUG util.py:445: DELETE: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/vendor_passthru?method=test DEBUG util.py:445: GOT:Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-50dffff7-88ab-4224-a9b8-cc2611a769bd DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-50dffff7-88ab-4224-a9b8-cc2611a769bd DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path put /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/traits DEBUG util.py:445: PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/traits {'traits': ['CUSTOM_TRAIT1', 'HW_CPU_X86_VMX']} DEBUG util.py:445: GOT:Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-63080b99-de75-4acb-b0b7-baef04f7b3f2 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG 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-63080b99-de75-4acb-b0b7-baef04f7b3f2 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path put /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/traits/CUSTOM_TRAIT2 DEBUG util.py:445: PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/traits/CUSTOM_TRAIT2 None DEBUG util.py:445: GOT:Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-b8e3b30c-78a9-464f-8fff-ea7865426d45 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:traits:set\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-b8e3b30c-78a9-464f-8fff-ea7865426d45 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:traits:set\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path delete /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/traits/trait DEBUG util.py:445: DELETE: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/traits/trait DEBUG util.py:445: GOT:Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-95b9fd93-ca69-4e1d-98af-3e02dc5ae2c7 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG 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-95b9fd93-ca69-4e1d-98af-3e02dc5ae2c7 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_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-c0b52d40-8138-45a1-a325-432bbc146ad5 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:traits:delete\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-c0b52d40-8138-45a1-a325-432bbc146ad5 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:traits:delete\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path 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-21b6eb7b-0501-488a-b35b-adf37d94620d DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-21b6eb7b-0501-488a-b35b-adf37d94620d DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path post /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/vifs DEBUG util.py:445: POST: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/vifs {'id': 'ee21d58f-5de2-4956-85ff-33935ea1ca00'} DEBUG util.py:445: GOT:Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-ea8038b6-f802-49ea-b168-09f978ae6ec5 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG 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-ea8038b6-f802-49ea-b168-09f978ae6ec5 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_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: {3} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00102_nodes_vifs_post_observer [0.049984s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00104_nodes_vifs_node_vif_ident_delete_member [0.051801s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00113_portgroups_get_member [0.047361s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00119_portgroups_detail_get_member [0.048224s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00176_volume_volume_connector_id_get_member [0.063500s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00106_nodes_management_indicators_get_admin [0.051494s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00156_nodes_ports_get_observer [0.054623s] ... 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-052ea7f1-cbca-484f-a2df-0badc1872fb8 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-052ea7f1-cbca-484f-a2df-0badc1872fb8 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path get /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/vifs DEBUG util.py:445: GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/vifs {} DEBUG util.py:445: GOT:Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-927fc1cd-5c65-4abf-9abb-08e1e71b2ed1 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:vif:list\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-927fc1cd-5c65-4abf-9abb-08e1e71b2ed1 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:vif:list\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path 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-6c96fa5a-9376-4d67-8cfb-909f6ba6001d DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-6c96fa5a-9376-4d67-8cfb-909f6ba6001d DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path get /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/management/indicators DEBUG util.py:445: GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/management/indicators {} DEBUG util.py:445: GOT:Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-08d41537-2e90-4cbc-878b-d2bb765b0d19 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG 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-08d41537-2e90-4cbc-878b-d2bb765b0d19 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"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-a6cdd5e6-fa27-402f-8dab-9e18d10f730d DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"portgroups": [{"uuid": "6eb02b44-18a3-4659-8c0b-8d2802581ae4", "address": "52:54:00:cf:2d:31", "name": "fooname", "links": [{"href": "http://localhost/v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4", "rel": "self"}, {"href": "http://localhost/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4", "rel": "bookmark"}]}]} DEBUG util.py:445: ACL Test GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-a6cdd5e6-fa27-402f-8dab-9e18d10f730d DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"portgroups": [{"uuid": "6eb02b44-18a3-4659-8c0b-8d2802581ae4", "address": "52:54:00:cf:2d:31", "name": "fooname", "links": [{"href": "http://localhost/v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4", "rel": "self"}, {"href": "http://localhost/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4", "rel": "bookmark"}]}]} DEBUG util.py:445: API ACL Testing Path get /v1/portgroups 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-91dace29-f557-46ed-8cae-da8bb4f54c3b DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:portgroup:list\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-91dace29-f557-46ed-8cae-da8bb4f54c3b DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:portgroup:list\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path get /v1/portgroups/detail DEBUG util.py:445: GET: /v1/portgroups/detail {} DEBUG util.py:445: GOT:Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-75df432d-05c6-4d1d-bbc5-953055a06044 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:portgroup:list\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-75df432d-05c6-4d1d-bbc5-953055a06044 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:portgroup:list\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path get /v1/portgroups/detail DEBUG util.py:445: GET: /v1/portgroups/detail {} DEBUG util.py:445: GOT:Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-ab116920-cd85-437f-9a70-d733a872f896 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"portgroups": [{"uuid": "6eb02b44-18a3-4659-8c0b-8d2802581ae4", "created_at": "2024-05-14T11:54:19.283427+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.TestRBACModelBeforeScopes.test_rbac_legacy_00120_portgroups_detail_get_observer [0.049145s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00129_portgroups_portgroup_ident_delete_observer [0.059473s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00158_nodes_ports_detail_get_member [0.049643s] ... 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-6e6fdb8d-d49a-49a5-9702-32f009b699ec DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG 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-6e6fdb8d-d49a-49a5-9702-32f009b699ec DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path get /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports/detail DEBUG util.py:445: GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports/detail {} DEBUG util.py:445: GOT:Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-f02b9639-8fa9-45be-9439-97237938de9c DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"ports": [{"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2024-05-14T11:54:19.020971+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-f02b9639-8fa9-45be-9439-97237938de9c DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"ports": [{"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2024-05-14T11:54:19.020971+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-a5b63858-ac3c-4213-a5b1-8009e96d4e19 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"ports": []} DEBUG util.py:445: ACL Test GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-a5b63858-ac3c-4213-a5b1-8009e96d4e19 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"ports": []} DEBUG util.py:445: API ACL Testing Path get /v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4/ports/detail DEBUG util.py:445: GET: /v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4/ports/detail {} DEBUG util.py:445: GOT:Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-d834fd5d-a170-45bd-8ff8-69471701c93b DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Portgroup 6eb02b44-18a3-4659-8c0b-8d2802581ae4 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-d834fd5d-a170-45bd-8ff8-69471701c93b DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Portgroup 6eb02b44-18a3-4659-8c0b-8d2802581ae4 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path get /v1/volume DEBUG util.py:445: GET: /v1/volume {} DEBUG util.py:445: GOT:Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-bd814f87-69cb-4f4b-b143-55ece641bab6 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"links": [{"href": "http://localhost/v1/volume/", "rel": "self"}, {"href": "http://localhost/volume/", "rel": "bookmark"}], "connectors": [{"href": "http://localhost/v1/volume/connectors", "rel": "self"}, {"href": "http://localhost/volume/connectors", "rel": "bookmark"}], "targets": [{"href": "http://localhost/v1/volume/targets", "rel": "self"}, {"href": "http://localhost/volume/targets", "rel": "bookmark"}]} DEBUG util.py:445: ACL Test GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-bd814f87-69cb-4f4b-b143-55ece641bab6 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"links": [{"href": "http://localhost/v1/volume/", "rel": "self"}, {"href": "http://localhost/volume/", "rel": "bookmark"}], "connectors": [{"href": "http://localhost/v1/volume/connectors", "rel": "self"}, {"href": "http://localhost/volume/connectors", "rel": "bookmark"}], "targets": [{"href": "http://localhost/v1/volume/targets", "rel": "self"}, {"href": "http://localhost/volume/targets", "rel": "bookmark"}]} DEBUG util.py:445: API ACL Testing Path get /v1/volume/connectors/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 DEBUG util.py:445: GET: /v1/volume/connectors/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 {} DEBUG util.py:445: GOT:Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-3ef7d7db-7f19-4607-8032-1b5203ca17e6 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Volume connector 1be26c0b-03f2-4d2e-ae87-c02d7f33c781 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-3ef7d7db-7f19-4607-8032-1b5203ca17e6 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Volume connector 1be26c0b-03f2-4d2e-ae87-c02d7f33c781 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path get /v1/volume/connectors/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 DEBUG util.py:445: GET: /v1/volume/connectors/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 {} DEBUG util.py:445: GOT:Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-890979f5-9efa-42f2-be1d-0895b9a4313c DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2024-05-14T11:54:19.318378+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: {2} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00177_volume_volume_connector_id_get_observer [0.056640s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00127_portgroups_portgroup_ident_delete_admin [0.095488s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00178_volume_volume_connector_id_patch_admin [0.067764s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00130_nodes_portgroups_get_admin [0.056114s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00165_portgroups_ports_detail_get_observer [0.080803s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00128_portgroups_portgroup_ident_delete_member [0.049874s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00142_ports_detail_get_admin [0.049687s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00179_volume_volume_connector_id_patch_member [0.051958s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00131_nodes_portgroups_get_member [0.049177s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00185_volume_targets_get_member [0.047059s] ... 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-9b0e77b8-6cc5-4082-b9d1-59071c994065 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:vif:attach\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-9b0e77b8-6cc5-4082-b9d1-59071c994065 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:vif:attach\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path delete /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/vifs/ee21d58f-5de2-4956-85ff-33935ea1ca00 DEBUG util.py:445: DELETE: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/vifs/ee21d58f-5de2-4956-85ff-33935ea1ca00 DEBUG util.py:445: GOT:Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-8d2f24de-194a-46e0-a231-ffddbbdc333b DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG 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-8d2f24de-194a-46e0-a231-ffddbbdc333b DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-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-a1c2a919-6fe4-4caf-9b4b-c905d61ae5d3 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-a1c2a919-6fe4-4caf-9b4b-c905d61ae5d3 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path delete /v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4 DEBUG util.py:445: DELETE: /v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4 DEBUG util.py:445: GOT:Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-30b45bca-4c9c-42cc-a2ba-4dd81b8854d1 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:portgroup:delete\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-30b45bca-4c9c-42cc-a2ba-4dd81b8854d1 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:portgroup:delete\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path get /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups DEBUG util.py:445: GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups {} DEBUG util.py:445: GOT:Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-d99ab95b-5037-461f-94e9-e5282f61d633 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"portgroups": [{"uuid": "6eb02b44-18a3-4659-8c0b-8d2802581ae4", "address": "52:54:00:cf:2d:31", "name": "fooname", "links": [{"href": "http://localhost/v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4", "rel": "self"}, {"href": "http://localhost/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4", "rel": "bookmark"}]}]} DEBUG util.py:445: ACL Test GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-d99ab95b-5037-461f-94e9-e5282f61d633 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"portgroups": [{"uuid": "6eb02b44-18a3-4659-8c0b-8d2802581ae4", "address": "52:54:00:cf:2d:31", "name": "fooname", "links": [{"href": "http://localhost/v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4", "rel": "self"}, {"href": "http://localhost/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4", "rel": "bookmark"}]}]} DEBUG util.py:445: API ACL Testing Path get /v1/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-36a93b1b-64d1-415d-ae4c-49141f5ac835 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"ports": [{"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2024-05-14T11:54:19.436505+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-36a93b1b-64d1-415d-ae4c-49141f5ac835 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"ports": [{"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2024-05-14T11:54:19.436505+00:00", "updated_at": null, "address": "52:54:00:cf:2d:31", "extra": {}, "internal_info": {"tenant_vif_port_id": "ee21d58f-5de2-4956-85ff-33935ea1ca00"}, "is_smartnic": false, "local_link_connection": {"switch_id": "0a:1b:2c:3d:4e:5f", "port_id": "Ethernet3/1", "switch_info": "switch1"}, "physical_network": null, "pxe_enabled": true, "links": [{"href": "http://localhost/v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "self"}, {"href": "http://localhost/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "bookmark"}], "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "portgroup_uuid": null}]} DEBUG util.py:445: API ACL Testing Path get /v1/ports/detail DEBUG util.py:445: GET: /v1/ports/detail {} DEBUG util.py:445: GOT:Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-781d5c98-c251-4760-b8f7-2ef803f57013 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"ports": [{"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2024-05-14T11:54:19.486707+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_00144_ports_detail_get_observer [0.052165s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00145_ports_port_id_get_admin [0.053074s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00132_nodes_portgroups_get_observer [0.055914s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00187_volume_targets_post_admin [0.078779s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00135_nodes_portgroups_detail_get_observer [0.053709s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00153_ports_port_id_delete_observer [0.051442s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00167_volume_get_member [0.194311s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00191_volume_volume_target_id_get_member [0.048794s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00154_nodes_ports_get_admin [0.052907s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00169_volume_connectors_get_admin [0.050270s] ... 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-890979f5-9efa-42f2-be1d-0895b9a4313c DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2024-05-14T11:54:19.318378+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-4a80925e-ff10-4f29-bb8f-20e2bce95b50 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-4a80925e-ff10-4f29-bb8f-20e2bce95b50 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path patch /v1/volume/connectors/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 DEBUG util.py:445: PATCH: /v1/volume/connectors/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 [{'op': 'replace', 'path': '/extra', 'value': {'test': 'testing'}}] DEBUG util.py:445: GOT:Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-c2176ff9-6688-4512-8ec6-c7fd2bdffb14 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Volume connector 1be26c0b-03f2-4d2e-ae87-c02d7f33c781 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-c2176ff9-6688-4512-8ec6-c7fd2bdffb14 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Volume connector 1be26c0b-03f2-4d2e-ae87-c02d7f33c781 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path get /v1/volume/targets DEBUG util.py:445: GET: /v1/volume/targets {} DEBUG util.py:445: GOT:Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-7d679233-bf11-433b-ba84-cbde403eebc8 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:volume:list\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-7d679233-bf11-433b-ba84-cbde403eebc8 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:volume:list\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path post /v1/volume/targets DEBUG util.py:445: POST: /v1/volume/targets {'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'volume_type': 'iscsi', 'boot_index': 4, 'volume_id': 'test-id'} DEBUG util.py:445: GOT:Response: 201 Created DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Location: http://localhost/v1/volume/targets/6cb30c73-c575-44e1-918b-6ef9ab63d114 DEBUG util.py:445: Openstack-Request-Id: req-2793c7e9-4e3e-4ba6-accd-9db1b82dc1f8 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"uuid": "6cb30c73-c575-44e1-918b-6ef9ab63d114", "created_at": "2024-05-14T11:54:19.584719+00:00", "updated_at": null, "boot_index": 4, "extra": {}, "properties": {}, "volume_id": "test-id", "volume_type": "iscsi", "links": [{"href": "http://localhost/v1/volume/targets/6cb30c73-c575-44e1-918b-6ef9ab63d114", "rel": "self"}, {"href": "http://localhost/volume/targets/6cb30c73-c575-44e1-918b-6ef9ab63d114", "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/6cb30c73-c575-44e1-918b-6ef9ab63d114 DEBUG util.py:445: Openstack-Request-Id: req-2793c7e9-4e3e-4ba6-accd-9db1b82dc1f8 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"uuid": "6cb30c73-c575-44e1-918b-6ef9ab63d114", "created_at": "2024-05-14T11:54:19.584719+00:00", "updated_at": null, "boot_index": 4, "extra": {}, "properties": {}, "volume_id": "test-id", "volume_type": "iscsi", "links": [{"href": "http://localhost/v1/volume/targets/6cb30c73-c575-44e1-918b-6ef9ab63d114", "rel": "self"}, {"href": "http://localhost/volume/targets/6cb30c73-c575-44e1-918b-6ef9ab63d114", "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-3ea34220-e6ac-4c0d-aa74-eb206c59155c DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Volume target 1be26c0b-03f2-4d2e-ae87-c02d7f33c781 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-3ea34220-e6ac-4c0d-aa74-eb206c59155c DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Volume target 1be26c0b-03f2-4d2e-ae87-c02d7f33c781 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path get /v1/volume/targets/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 DEBUG util.py:445: GET: /v1/volume/targets/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 {} DEBUG util.py:445: GOT:Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-06428547-9e26-426b-ae7a-28b448f474c4 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2024-05-14T11:54:19.667096+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: {2} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00192_volume_volume_target_id_get_observer [0.052762s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00161_portgroups_ports_get_member [0.048965s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00198_volume_volume_target_id_delete_observer [0.049815s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00173_volume_connectors_post_member [0.060346s] ... 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-ab116920-cd85-437f-9a70-d733a872f896 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"portgroups": [{"uuid": "6eb02b44-18a3-4659-8c0b-8d2802581ae4", "created_at": "2024-05-14T11:54:19.283427+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-225d7f77-be1a-41b3-bf00-cc7063b4896b DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-225d7f77-be1a-41b3-bf00-cc7063b4896b DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path delete /v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4 DEBUG util.py:445: DELETE: /v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4 DEBUG util.py:445: GOT:Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-b4e78161-18ac-4977-a037-c7e05788ce8f DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Portgroup 6eb02b44-18a3-4659-8c0b-8d2802581ae4 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-b4e78161-18ac-4977-a037-c7e05788ce8f DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Portgroup 6eb02b44-18a3-4659-8c0b-8d2802581ae4 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path get /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups DEBUG util.py:445: GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups {} DEBUG util.py:445: GOT:Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-eeb4e6f1-0259-43e1-a9b4-98f069620f02 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG 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-eeb4e6f1-0259-43e1-a9b4-98f069620f02 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-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: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-275dcfd5-9098-4dac-b461-0f2d97da43a6 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"portgroups": [{"uuid": "6eb02b44-18a3-4659-8c0b-8d2802581ae4", "address": "52:54:00:cf:2d:31", "name": "fooname", "links": [{"href": "http://localhost/v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4", "rel": "self"}, {"href": "http://localhost/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4", "rel": "bookmark"}]}]} DEBUG util.py:445: ACL Test GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-275dcfd5-9098-4dac-b461-0f2d97da43a6 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"portgroups": [{"uuid": "6eb02b44-18a3-4659-8c0b-8d2802581ae4", "address": "52:54:00:cf:2d:31", "name": "fooname", "links": [{"href": "http://localhost/v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4", "rel": "self"}, {"href": "http://localhost/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4", "rel": "bookmark"}]}]} DEBUG util.py:445: API ACL Testing Path get /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups/detail DEBUG util.py:445: GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups/detail {} DEBUG util.py:445: GOT:Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-d675970a-18f1-4118-9b5f-e2a1489fa79d DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"portgroups": [{"uuid": "6eb02b44-18a3-4659-8c0b-8d2802581ae4", "created_at": "2024-05-14T11:54:19.583550+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-d675970a-18f1-4118-9b5f-e2a1489fa79d DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"portgroups": [{"uuid": "6eb02b44-18a3-4659-8c0b-8d2802581ae4", "created_at": "2024-05-14T11:54:19.583550+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: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-1d6ecdfc-2e6f-455c-abda-2ff158d1bae8 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:port:list\", \"debuginfo\": null}"} DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00143_ports_detail_get_member [0.048237s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00152_ports_port_id_delete_member [0.093672s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00200_nodes_volume_get_member [0.045631s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00163_portgroups_ports_detail_get_admin [0.057878s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00159_nodes_ports_detail_get_observer [0.052280s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00166_volume_get_admin [0.045085s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00201_nodes_volume_get_observer [0.046827s] ... ok DEBUG util.py:445: API ACL Testing Path patch /v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 DEBUG util.py:445: PATCH: /v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 [{'op': 'replace', 'path': '/extra', 'value': {'test': 'testing'}}] DEBUG util.py:445: GOT:Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-720989c2-1d92-4de9-8395-5523377b0c6e DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:port:update\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-720989c2-1d92-4de9-8395-5523377b0c6e DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:port:update\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path delete /v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 DEBUG util.py:445: DELETE: /v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 DEBUG util.py:445: GOT:Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-e6330592-69be-42a6-a8b1-98e1b791603e DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-e6330592-69be-42a6-a8b1-98e1b791603e DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path get /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports DEBUG util.py:445: GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports {} DEBUG util.py:445: GOT:Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-c6714098-95c7-4740-ab0d-5f592f51b674 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"ports": [{"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "address": "52:54:00:cf:2d:31", "links": [{"href": "http://localhost/v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "self"}, {"href": "http://localhost/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "bookmark"}]}]} DEBUG util.py:445: ACL Test GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-c6714098-95c7-4740-ab0d-5f592f51b674 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"ports": [{"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "address": "52:54:00:cf:2d:31", "links": [{"href": "http://localhost/v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "self"}, {"href": "http://localhost/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "bookmark"}]}]} DEBUG util.py:445: API ACL Testing Path get /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports/detail DEBUG util.py:445: GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports/detail {} DEBUG util.py:445: GOT:Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-370c350d-22e8-48a0-9611-df54f5eee1e5 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG 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-370c350d-22e8-48a0-9611-df54f5eee1e5 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"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-6f6dcecb-d374-41d5-abe4-5abe27f9bd4a DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"ports": []} DEBUG util.py:445: ACL Test GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-6f6dcecb-d374-41d5-abe4-5abe27f9bd4a DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"ports": []} DEBUG util.py:445: API ACL Testing Path get /v1/volume DEBUG util.py:445: GET: /v1/volume {} DEBUG util.py:445: GOT:Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-208106e9-f1b7-465c-9b38-fbbdf75d87c4 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:volume:get\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-208106e9-f1b7-465c-9b38-fbbdf75d87c4 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:volume:get\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path get /v1/volume/connectors DEBUG util.py:445: GET: /v1/volume/connectors {} DEBUG util.py:445: GOT:Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-22c18473-596d-456c-b9cc-306775873ab4 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"connectors": [{"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "connector_id": "iqn.2012-06.com.example:initiator", "type": "iqn", "links": [{"href": "http://localhost/v1/volume/connectors/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "self"}, {"href": "http://localhost/volume/connectors/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "bookmark"}], "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123"}]} DEBUG util.py:445: ACL Test GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-22c18473-596d-456c-b9cc-306775873ab4 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"connectors": [{"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "connector_id": "iqn.2012-06.com.example:initiator", "type": "iqn", "links": [{"href": "http://localhost/v1/volume/connectors/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "self"}, {"href": "http://localhost/volume/connectors/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "bookmark"}], "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123"}]} DEBUG util.py:445: API ACL Testing Path post /v1/volume/connectors DEBUG util.py:445: POST: /v1/volume/connectors {'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'type': 'ip', 'connector_id': '192.168.1.100'} DEBUG util.py:445: GOT:Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-812ffea6-3f30-482b-bef0-210df5101ce3 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:volume:create\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-812ffea6-3f30-482b-bef0-210df5101ce3 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:volume:create\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path get /v1/volume/connectors/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00175_volume_volume_connector_id_get_admin [0.080227s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00162_portgroups_ports_get_observer [0.051997s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00203_nodes_volume_connectors_get_member [0.049152s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00181_volume_volume_connector_id_delete_admin [0.066471s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00174_volume_connectors_post_observer [0.049385s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00205_nodes_volume_targets_get_admin [0.055073s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00186_volume_targets_get_observer [0.052430s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00180_volume_volume_connector_id_patch_observer [0.050920s] ... ok DEBUG util.py:443: /usr/lib/python3.9/site-packages/oslo_policy/policy.py:1075: UserWarning: Policy baremetal:driver:get failed scope check. The token used to make the request was project scoped but the policy requires ['system'] scope. This behavior may change in the future where using the intended scope is required DEBUG util.py:443: warnings.warn(msg) DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00188_volume_targets_post_member [0.052895s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00183_volume_volume_connector_id_delete_observer [0.064991s] ... 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-781d5c98-c251-4760-b8f7-2ef803f57013 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"ports": [{"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2024-05-14T11:54:19.486707+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-5ed9a63d-8e32-4433-bc68-fdfe6c0407c5 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2024-05-14T11:54:19.539046+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-5ed9a63d-8e32-4433-bc68-fdfe6c0407c5 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2024-05-14T11:54:19.539046+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: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-82966e2e-2b30-4708-b2b0-8b6a052e7b73 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:port:delete\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-82966e2e-2b30-4708-b2b0-8b6a052e7b73 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:port:delete\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path get /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports DEBUG util.py:445: GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports {} DEBUG util.py:445: GOT:Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-2a0f42bf-cf9c-47bb-8b27-5b1de39b55ba DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"ports": [{"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "address": "52:54:00:cf:2d:31", "links": [{"href": "http://localhost/v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "self"}, {"href": "http://localhost/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "bookmark"}]}]} DEBUG util.py:445: ACL Test GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-2a0f42bf-cf9c-47bb-8b27-5b1de39b55ba DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"ports": [{"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "address": "52:54:00:cf:2d:31", "links": [{"href": "http://localhost/v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "self"}, {"href": "http://localhost/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "bookmark"}]}]} DEBUG util.py:445: API ACL Testing Path get /v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4/ports DEBUG util.py:445: GET: /v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4/ports {} DEBUG util.py:445: GOT:Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-0ba437a6-0fbe-431e-879e-12c617c60cfe DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Portgroup 6eb02b44-18a3-4659-8c0b-8d2802581ae4 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-0ba437a6-0fbe-431e-879e-12c617c60cfe DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Portgroup 6eb02b44-18a3-4659-8c0b-8d2802581ae4 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path get /v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4/ports/detail DEBUG util.py:445: GET: /v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4/ports/detail {} DEBUG util.py:445: GOT:Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-58c4b5e1-c167-467e-b4fe-8e61d074deac DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"ports": []} DEBUG util.py:445: ACL Test GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-58c4b5e1-c167-467e-b4fe-8e61d074deac DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"ports": []} DEBUG util.py:445: API ACL Testing Path get /v1/volume DEBUG util.py:445: GET: /v1/volume {} DEBUG util.py:445: GOT:Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-b48f2354-58e4-4c27-bd38-e827c368f791 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"links": [{"href": "http://localhost/v1/volume/", "rel": "self"}, {"href": "http://localhost/volume/", "rel": "bookmark"}], "connectors": [{"href": "http://localhost/v1/volume/connectors", "rel": "self"}, {"href": "http://localhost/volume/connectors", "rel": "bookmark"}], "targets": [{"href": "http://localhost/v1/volume/targets", "rel": "self"}, {"href": "http://localhost/volume/targets", "rel": "bookmark"}]} DEBUG util.py:445: ACL Test GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-b48f2354-58e4-4c27-bd38-e827c368f791 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"links": [{"href": "http://localhost/v1/volume/", "rel": "self"}, {"href": "http://localhost/volume/", "rel": "bookmark"}], "connectors": [{"href": "http://localhost/v1/volume/connectors", "rel": "self"}, {"href": "http://localhost/volume/connectors", "rel": "bookmark"}], "targets": [{"href": "http://localhost/v1/volume/targets", "rel": "self"}, {"href": "http://localhost/volume/targets", "rel": "bookmark"}]} DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00170_volume_connectors_get_member [0.185177s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00171_volume_connectors_get_observer [0.055239s] ... 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-06428547-9e26-426b-ae7a-28b448f474c4 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2024-05-14T11:54:19.667096+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 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-909a3829-65ec-42a0-a1f4-542a02fe6c13 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:volume:delete\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-909a3829-65ec-42a0-a1f4-542a02fe6c13 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:volume:delete\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path get /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume 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-8c781e08-c597-45d2-8c8a-cb2ca74ab284 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:volume:get\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-8c781e08-c597-45d2-8c8a-cb2ca74ab284 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:volume:get\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path get /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume DEBUG util.py:445: GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume {} DEBUG util.py:445: GOT:Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-cb625ea1-cd1d-4051-971d-6e1281006b20 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"links": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume/", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume/", "rel": "bookmark"}], "connectors": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume/connectors", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume/connectors", "rel": "bookmark"}], "targets": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume/targets", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume/targets", "rel": "bookmark"}]} DEBUG util.py:445: ACL Test GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-cb625ea1-cd1d-4051-971d-6e1281006b20 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"links": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume/", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume/", "rel": "bookmark"}], "connectors": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume/connectors", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume/connectors", "rel": "bookmark"}], "targets": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume/targets", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume/targets", "rel": "bookmark"}]} DEBUG util.py:445: API ACL Testing Path get /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume/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-2970804d-a7e0-44ce-974a-b75b1ebc276c DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG 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-2970804d-a7e0-44ce-974a-b75b1ebc276c DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path get /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume/targets DEBUG util.py:445: GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume/targets {} DEBUG util.py:445: GOT:Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-43b298a9-fa35-40b6-b190-d5ed79b8360a DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"targets": [{"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "boot_index": 0, "volume_id": "12345678", "volume_type": "iscsi", "links": [{"href": "http://localhost/v1/volume/targets/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "self"}, {"href": "http://localhost/volume/targets/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "bookmark"}], "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123"}]} DEBUG util.py:445: ACL Test GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-43b298a9-fa35-40b6-b190-d5ed79b8360a DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"targets": [{"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "boot_index": 0, "volume_id": "12345678", "volume_type": "iscsi", "links": [{"href": "http://localhost/v1/volume/targets/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "self"}, {"href": "http://localhost/volume/targets/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "bookmark"}], "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123"}]} DEBUG util.py:445: API ACL Testing Path get /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume/targets DEBUG util.py:445: GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume/targets {} DEBUG util.py:445: GOT:Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-fea6edb3-1d32-41b3-81c7-3b0551502f4d DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"targets": [{"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "boot_index": 0, "volume_id": "12345678", "volume_type": "iscsi", "links": [{"href": "http://localhost/v1/volume/targets/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "self"}, {"href": "http://localhost/volume/targets/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "bookmark"}], "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123"}]} DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00207_nodes_volume_targets_get_observer [0.054330s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00208_drivers_get_admin [0.050100s] ... ok DEBUG util.py:443: /usr/lib/python3.9/site-packages/oslo_policy/policy.py:1075: UserWarning: Policy baremetal:driver:vendor_passthru failed scope check. The token used to make the request was project scoped but the policy requires ['system'] scope. This behavior may change in the future where using the intended scope is required DEBUG util.py:443: warnings.warn(msg) DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00225_drivers_vendor_passthru_get_observer [0.048206s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00189_volume_targets_post_observer [0.096729s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00226_drivers_vendor_passthru_post_admin [0.048194s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00194_volume_volume_target_id_patch_member [0.055036s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00172_volume_connectors_post_admin [0.080139s] ... 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-1d6ecdfc-2e6f-455c-abda-2ff158d1bae8 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:port:list\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path delete /v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 DEBUG util.py:445: DELETE: /v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 DEBUG util.py:445: GOT:Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-b884676e-2e85-4282-b4e3-40e322e617ee DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Port 1be26c0b-03f2-4d2e-ae87-c02d7f33c781 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-b884676e-2e85-4282-b4e3-40e322e617ee DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Port 1be26c0b-03f2-4d2e-ae87-c02d7f33c781 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path get /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports/detail DEBUG util.py:445: GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports/detail {} DEBUG util.py:445: GOT:Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-c91e0629-168f-4232-8470-04bfc69503f1 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"ports": [{"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2024-05-14T11:54:19.778069+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-c91e0629-168f-4232-8470-04bfc69503f1 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"ports": [{"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2024-05-14T11:54:19.778069+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-e7a1323a-464d-4ab7-9820-673492fedfae DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"ports": []} DEBUG util.py:445: ACL Test GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-e7a1323a-464d-4ab7-9820-673492fedfae DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"ports": []} DEBUG util.py:445: API ACL Testing Path post /v1/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-b1f79877-9cba-4b8e-93ae-2e61edeed1e1 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:volume:create\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-b1f79877-9cba-4b8e-93ae-2e61edeed1e1 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:volume:create\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path patch /v1/volume/connectors/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 DEBUG util.py:445: PATCH: /v1/volume/connectors/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 [{'op': 'replace', 'path': '/extra', 'value': {'test': 'testing'}}] DEBUG util.py:445: GOT:Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-b08c8c5d-baff-4cc0-8b82-d15bb1a7648c DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:volume:update\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-b08c8c5d-baff-4cc0-8b82-d15bb1a7648c DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:volume:update\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path delete /v1/volume/connectors/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 DEBUG util.py:445: DELETE: /v1/volume/connectors/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 DEBUG util.py:445: GOT:Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-57d25c88-1dd7-49e8-8327-af7e68c9c01a DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:volume:delete\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-57d25c88-1dd7-49e8-8327-af7e68c9c01a DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:volume:delete\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path get /v1/volume/targets/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-f7e5db54-4d6c-4617-995c-0c15562ab14b DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2024-05-14T11:54:20.069975+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: {0} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00190_volume_volume_target_id_get_admin [0.073150s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00206_nodes_volume_targets_get_member [0.054028s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00227_drivers_vendor_passthru_post_member [0.045815s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00209_drivers_get_member [0.047466s] ... ok DEBUG util.py:443: /usr/lib/python3.9/site-packages/oslo_policy/policy.py:1075: UserWarning: Policy baremetal:driver:get failed scope check. The token used to make the request was project scoped but the policy requires ['system'] scope. This behavior may change in the future where using the intended scope is required DEBUG util.py:443: warnings.warn(msg) DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00195_volume_volume_target_id_patch_observer [0.065177s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00182_volume_volume_connector_id_delete_member [0.061981s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00228_drivers_vendor_passthru_post_observer [0.045754s] ... ok DEBUG util.py:443: /usr/lib/python3.9/site-packages/oslo_policy/policy.py:1075: UserWarning: Policy baremetal:driver:get_properties failed scope check. The token used to make the request was project scoped but the policy requires ['system'] scope. This behavior may change in the future where using the intended scope is required DEBUG util.py:443: warnings.warn(msg) DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00214_drivers_properties_get_admin [0.047334s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00184_volume_targets_get_admin [0.053467s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00230_drivers_vendor_passthru_put_member [0.044874s] ... ok DEBUG util.py:443: /usr/lib/python3.9/site-packages/oslo_policy/policy.py:1075: UserWarning: Policy baremetal:driver:get_raid_logical_disk_properties failed scope check. The token used to make the request was project scoped but the policy requires ['system'] scope. This behavior may change in the future where using the intended scope is required DEBUG util.py:443: warnings.warn(msg) DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00217_drivers_raid_logical_disk_properties_get_admin [0.047240s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00193_volume_volume_target_id_patch_admin [0.053769s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00232_drivers_vendor_passthru_delete_admin ... SKIPPED: not updated for scope testing DEBUG util.py:445: 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-2df0bfc9-ce06-44c5-b87e-a5005b4a6735 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2024-05-14T11:54:19.782669+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-2df0bfc9-ce06-44c5-b87e-a5005b4a6735 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2024-05-14T11:54:19.782669+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-f58a81f3-8e90-47ae-9f90-9b91d6e6a1a5 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-f58a81f3-8e90-47ae-9f90-9b91d6e6a1a5 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path get /v1/volume/targets DEBUG util.py:445: GET: /v1/volume/targets {} DEBUG util.py:445: GOT:Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-6561c42e-b7af-4d61-9041-f3369abd0c9c DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"targets": [{"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "boot_index": 0, "volume_id": "12345678", "volume_type": "iscsi", "links": [{"href": "http://localhost/v1/volume/targets/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "self"}, {"href": "http://localhost/volume/targets/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "bookmark"}], "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123"}]} DEBUG util.py:445: ACL Test GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-6561c42e-b7af-4d61-9041-f3369abd0c9c DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"targets": [{"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "boot_index": 0, "volume_id": "12345678", "volume_type": "iscsi", "links": [{"href": "http://localhost/v1/volume/targets/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "self"}, {"href": "http://localhost/volume/targets/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "bookmark"}], "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123"}]} DEBUG util.py:445: API ACL Testing Path post /v1/volume/targets DEBUG util.py:445: POST: /v1/volume/targets {'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'volume_type': 'iscsi', 'boot_index': 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-188fed55-cead-4df8-9959-bf06a45dc27a DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:volume:create\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-188fed55-cead-4df8-9959-bf06a45dc27a DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:volume:create\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path post /v1/volume/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-81aa76ab-99cb-4f39-9220-e240d06c4034 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:volume:create\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-81aa76ab-99cb-4f39-9220-e240d06c4034 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:volume:create\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path patch /v1/volume/targets/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 DEBUG util.py:445: PATCH: /v1/volume/targets/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 [{'op': 'replace', 'path': '/extra', 'value': {'test': 'testing'}}] DEBUG util.py:445: GOT:Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-9dc78ab9-8699-40ed-8a9d-09de9bb309b9 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Volume target 1be26c0b-03f2-4d2e-ae87-c02d7f33c781 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-9dc78ab9-8699-40ed-8a9d-09de9bb309b9 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Volume target 1be26c0b-03f2-4d2e-ae87-c02d7f33c781 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path patch /v1/volume/targets/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 DEBUG util.py:445: PATCH: /v1/volume/targets/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 [{'op': 'replace', 'path': '/extra', 'value': {'test': 'testing'}}] DEBUG util.py:445: GOT:Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-644f4d26-d4b7-48cf-98a6-29ea1a7f92c8 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:volume:update\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-644f4d26-d4b7-48cf-98a6-29ea1a7f92c8 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:volume:update\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path delete /v1/volume/targets/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 DEBUG util.py:445: DELETE: /v1/volume/targets/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00197_volume_volume_target_id_delete_member [0.052770s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00238_nodes_bios_bios_setting_get_member [0.048502s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00233_drivers_vendor_passthru_delete_observer ... SKIPPED: not updated for scope testing DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00199_nodes_volume_get_admin [0.085162s] ... ok DEBUG util.py:443: /usr/lib/python3.9/site-packages/oslo_policy/policy.py:1075: UserWarning: Policy baremetal:conductor:get failed scope check. The token used to make the request was project scoped but the policy requires ['system'] scope. This behavior may change in the future where using the intended scope is required DEBUG util.py:443: warnings.warn(msg) DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00235_nodes_bios_get_member [0.048152s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00242_conductors_get_observer [0.047525s] ... ok 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-621dea09-3370-4c99-9860-7acc0302fada DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:volume:list\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-621dea09-3370-4c99-9860-7acc0302fada DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:volume:list\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path get /v1/volume/connectors 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-1ff864cf-ce45-4b9e-b0fb-43d774394a39 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"connectors": [{"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "connector_id": "iqn.2012-06.com.example:initiator", "type": "iqn", "links": [{"href": "http://localhost/v1/volume/connectors/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "self"}, {"href": "http://localhost/volume/connectors/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "bookmark"}], "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123"}]} DEBUG util.py:445: ACL Test GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-1ff864cf-ce45-4b9e-b0fb-43d774394a39 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"connectors": [{"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "connector_id": "iqn.2012-06.com.example:initiator", "type": "iqn", "links": [{"href": "http://localhost/v1/volume/connectors/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "self"}, {"href": "http://localhost/volume/connectors/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "bookmark"}], "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123"}]} DEBUG util.py:445: API ACL Testing Path post /v1/volume/connectors DEBUG util.py:445: POST: /v1/volume/connectors {'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'type': 'ip', 'connector_id': '192.168.1.100'} DEBUG util.py:445: GOT:Response: 201 Created DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Location: http://localhost/v1/volume/connectors/06b0350d-dd6e-4840-ab07-9026eb99ac9a DEBUG util.py:445: Openstack-Request-Id: req-b298a5fa-7eba-48e3-b4e5-6a62bfc5a474 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"uuid": "06b0350d-dd6e-4840-ab07-9026eb99ac9a", "created_at": "2024-05-14T11:54:20.135399+00:00", "updated_at": null, "connector_id": "192.168.1.100", "extra": {}, "type": "ip", "links": [{"href": "http://localhost/v1/volume/connectors/06b0350d-dd6e-4840-ab07-9026eb99ac9a", "rel": "self"}, {"href": "http://localhost/volume/connectors/06b0350d-dd6e-4840-ab07-9026eb99ac9a", "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/06b0350d-dd6e-4840-ab07-9026eb99ac9a DEBUG util.py:445: Openstack-Request-Id: req-b298a5fa-7eba-48e3-b4e5-6a62bfc5a474 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"uuid": "06b0350d-dd6e-4840-ab07-9026eb99ac9a", "created_at": "2024-05-14T11:54:20.135399+00:00", "updated_at": null, "connector_id": "192.168.1.100", "extra": {}, "type": "ip", "links": [{"href": "http://localhost/v1/volume/connectors/06b0350d-dd6e-4840-ab07-9026eb99ac9a", "rel": "self"}, {"href": "http://localhost/volume/connectors/06b0350d-dd6e-4840-ab07-9026eb99ac9a", "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: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-ee96331e-e235-490c-b033-b3728ca55d9f DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Volume connector 1be26c0b-03f2-4d2e-ae87-c02d7f33c781 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-ee96331e-e235-490c-b033-b3728ca55d9f DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Volume connector 1be26c0b-03f2-4d2e-ae87-c02d7f33c781 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path get /v1/volume/targets DEBUG util.py:445: GET: /v1/volume/targets {} DEBUG util.py:445: GOT:Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-cd589d34-a91a-4bf1-b781-124bb47845a7 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"targets": [{"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "boot_index": 0, "volume_id": "12345678", "volume_type": "iscsi", "links": [{"href": "http://localhost/v1/volume/targets/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "self"}, {"href": "http://localhost/volume/targets/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "bookmark"}], "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123"}]} DEBUG util.py:445: ACL Test GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-cd589d34-a91a-4bf1-b781-124bb47845a7 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"targets": [{"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "boot_index": 0, "volume_id": "12345678", "volume_type": "iscsi", "links": [{"href": "http://localhost/v1/volume/targets/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "self"}, {"href": "http://localhost/volume/targets/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "bookmark"}], "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123"}]} DEBUG util.py:445: API ACL Testing Path 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-f1033113-ab48-44aa-a949-1d57c0069eb0 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-f1033113-ab48-44aa-a949-1d57c0069eb0 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path delete /v1/volume/targets/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 DEBUG util.py:445: DELETE: /v1/volume/targets/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 DEBUG util.py:445: GOT:Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-9f744418-bb1e-40fc-9d95-b6bda9b0e6dd DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00196_volume_volume_target_id_delete_admin [0.061857s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00204_nodes_volume_connectors_get_observer [0.056932s] ... ok DEBUG util.py:443: /usr/lib/python3.9/site-packages/oslo_policy/policy.py:1075: UserWarning: Policy baremetal:conductor:get failed scope check. The token used to make the request was project scoped but the policy requires ['system'] scope. This behavior may change in the future where using the intended scope is required DEBUG util.py:443: warnings.warn(msg) DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00202_nodes_volume_connectors_get_admin [0.075774s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00250_allocations_get_member [0.046193s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00244_conductors_hostname_get_member [0.045357s] ... ok DEBUG util.py:443: /usr/lib/python3.9/site-packages/oslo_policy/policy.py:1075: UserWarning: Policy baremetal:driver:get failed scope check. The token used to make the request was project scoped but the policy requires ['system'] scope. This behavior may change in the future where using the intended scope is required DEBUG util.py:443: warnings.warn(msg) DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00211_drivers_driver_name_get_admin [0.047430s] ... ok DEBUG util.py:443: /usr/lib/python3.9/site-packages/oslo_policy/policy.py:1075: UserWarning: Policy baremetal:driver:get failed scope check. The token used to make the request was project scoped but the policy requires ['system'] scope. This behavior may change in the future where using the intended scope is required DEBUG util.py:443: warnings.warn(msg) DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00210_drivers_get_observer [0.064512s] ... 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-f7e5db54-4d6c-4617-995c-0c15562ab14b DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2024-05-14T11:54:20.069975+00:00", "updated_at": null, "boot_index": 0, "extra": {}, "properties": {"target_iqn": "iqn.foo"}, "volume_id": "12345678", "volume_type": "iscsi", "links": [{"href": "http://localhost/v1/volume/targets/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "self"}, {"href": "http://localhost/volume/targets/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "bookmark"}], "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123"} DEBUG util.py:445: API ACL Testing Path get /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/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-0ac4863b-d817-4c54-a345-fa04dd25ba02 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG 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-0ac4863b-d817-4c54-a345-fa04dd25ba02 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"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: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-727f21f3-eab6-4035-9e7b-232835034272 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:driver:get\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-727f21f3-eab6-4035-9e7b-232835034272 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:driver:get\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path get /v1/drivers/fake-driverz/properties DEBUG util.py:445: GET: /v1/drivers/fake-driverz/properties {} DEBUG util.py:445: GOT:Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-97a99fb3-6abc-4dc0-be14-32f7c855885a DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"No conductors registered.\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-97a99fb3-6abc-4dc0-be14-32f7c855885a DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"No conductors registered.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path get /v1/drivers/fake-driverz/raid/logical_disk_properties DEBUG util.py:445: GET: /v1/drivers/fake-driverz/raid/logical_disk_properties {} DEBUG util.py:445: GOT:Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-98ab3387-8330-4dad-bcdd-868b64c183e9 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"No conductors registered.\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-98ab3387-8330-4dad-bcdd-868b64c183e9 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"No conductors registered.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path get /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/bios/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-9d30959a-ec5c-4940-ae35-01cb81c04119 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG 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-9d30959a-ec5c-4940-ae35-01cb81c04119 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"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: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-973fafac-9535-4c4c-b7da-e046723291f2 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"conductors": [{"hostname": "test-conductor-node", "conductor_group": "", "links": [{"href": "http://localhost/v1/conductors/test-conductor-node", "rel": "self"}, {"href": "http://localhost/conductors/test-conductor-node", "rel": "bookmark"}], "alive": true}]} DEBUG util.py:445: ACL Test GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-973fafac-9535-4c4c-b7da-e046723291f2 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"conductors": [{"hostname": "test-conductor-node", "conductor_group": "", "links": [{"href": "http://localhost/v1/conductors/test-conductor-node", "rel": "self"}, {"href": "http://localhost/conductors/test-conductor-node", "rel": "bookmark"}], "alive": true}]} DEBUG util.py:445: API ACL Testing Path get /v1/allocations DEBUG util.py:445: GET: /v1/allocations {} DEBUG util.py:445: GOT:Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-55296eb3-8db4-4076-b357-968f2a0d5ecc DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:allocation:list\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-55296eb3-8db4-4076-b357-968f2a0d5ecc DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:allocation:list\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path delete /v1/allocations/aa8dd9b3-1ccd-454e-a219-75374e8649bf DEBUG util.py:445: DELETE: /v1/allocations/aa8dd9b3-1ccd-454e-a219-75374e8649bf DEBUG util.py:445: GOT:Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-5084cab2-6734-4184-958b-4e03470e5ba2 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:allocation:delete\", \"debuginfo\": null}"} DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00260_allocations_allocation_id_delete_observer [0.047558s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00262_nodes_allocation_get_member [0.052030s] ... ok DEBUG util.py:443: /usr/lib/python3.9/site-packages/oslo_policy/policy.py:1075: UserWarning: Policy baremetal:driver:get_properties failed scope check. The token used to make the request was project scoped but the policy requires ['system'] scope. This behavior may change in the future where using the intended scope is required DEBUG util.py:443: warnings.warn(msg) DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00212_drivers_driver_name_get_member [0.055664s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00216_drivers_properties_get_observer [0.075347s] ... 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-fea6edb3-1d32-41b3-81c7-3b0551502f4d DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"targets": [{"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "boot_index": 0, "volume_id": "12345678", "volume_type": "iscsi", "links": [{"href": "http://localhost/v1/volume/targets/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "self"}, {"href": "http://localhost/volume/targets/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "bookmark"}], "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123"}]} DEBUG util.py:445: API ACL Testing Path get /v1/drivers DEBUG util.py:445: GET: /v1/drivers {} DEBUG util.py:445: GOT:Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-5ae50964-a1d0-4783-9a8e-4279c10e6ad7 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"drivers": []} DEBUG util.py:445: ACL Test GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-5ae50964-a1d0-4783-9a8e-4279c10e6ad7 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"drivers": []} DEBUG util.py:445: API ACL Testing Path get /v1/drivers/fake-driverz/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-8def2051-d685-4ce1-9973-bf361030acb4 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:driver:vendor_passthru\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-8def2051-d685-4ce1-9973-bf361030acb4 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:driver:vendor_passthru\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path post /v1/drivers/fake-driverz/vendor_passthru?method=test DEBUG util.py:445: POST: /v1/drivers/fake-driverz/vendor_passthru?method=test None DEBUG util.py:445: GOT:Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-a99be94a-fde9-40b1-8ef3-95dd271963f8 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"No conductors registered.\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-a99be94a-fde9-40b1-8ef3-95dd271963f8 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"No conductors registered.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path post /v1/drivers/fake-driverz/vendor_passthru?method=test DEBUG util.py:445: POST: /v1/drivers/fake-driverz/vendor_passthru?method=test None DEBUG util.py:445: GOT:Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-a837794a-985e-426d-acfe-ce0c25ac9172 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:driver:vendor_passthru\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-a837794a-985e-426d-acfe-ce0c25ac9172 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:driver:vendor_passthru\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path post /v1/drivers/fake-driverz/vendor_passthru?method=test DEBUG util.py:445: POST: /v1/drivers/fake-driverz/vendor_passthru?method=test None DEBUG util.py:445: GOT:Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-44651269-488b-45c9-b1ab-10ce018e97ca DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:driver:vendor_passthru\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-44651269-488b-45c9-b1ab-10ce018e97ca DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:driver:vendor_passthru\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path put /v1/drivers/fake-driverz/vendor_passthru?method=test DEBUG util.py:445: PUT: /v1/drivers/fake-driverz/vendor_passthru?method=test None DEBUG util.py:445: GOT:Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-7320f8c3-5a33-4e6e-a73b-168f4a0c6862 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:driver:vendor_passthru\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-7320f8c3-5a33-4e6e-a73b-168f4a0c6862 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:driver:vendor_passthru\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path get /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/bios DEBUG util.py:445: GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/bios {} DEBUG util.py:445: GOT:Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-ec79b2e5-a20c-46b5-8a72-3ae8bc50f6d8 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG 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-ec79b2e5-a20c-46b5-8a72-3ae8bc50f6d8 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"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: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-b9d2a857-8d1f-405b-a9ad-e05a006061bf DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:conductor:get\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-b9d2a857-8d1f-405b-a9ad-e05a006061bf DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:conductor:get\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path post /v1/allocations DEBUG util.py:445: POST: /v1/allocations {'resource_class': 'CUSTOM_TEST'} DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00248_allocations_post_observer [0.048170s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00253_allocations_allocation_id_get_member [0.049076s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00255_allocations_allocation_id_patch_admin [0.053181s] ... ok DEBUG util.py:443: /usr/lib/python3.9/site-packages/oslo_policy/policy.py:1075: UserWarning: Policy baremetal:driver:get_raid_logical_disk_properties failed scope check. The token used to make the request was project scoped but the policy requires ['system'] scope. This behavior may change in the future where using the intended scope is required DEBUG util.py:443: warnings.warn(msg) DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00213_drivers_driver_name_get_observer [0.058821s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00219_drivers_raid_logical_disk_properties_get_observer [0.049078s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00265_nodes_allocation_delete_member [0.071132s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00256_allocations_allocation_id_patch_member [0.048924s] ... ok DEBUG util.py:443: /usr/lib/python3.9/site-packages/oslo_policy/policy.py:1075: UserWarning: Policy baremetal:deploy_template:create failed scope check. The token used to make the request was project scoped but the policy requires ['system'] scope. This behavior may change in the future where using the intended scope is required DEBUG util.py:443: warnings.warn(msg) DEBUG util.py:443: /usr/lib/python3.9/site-packages/oslo_policy/policy.py:1075: UserWarning: Policy baremetal:driver:vendor_passthru failed scope check. The token used to make the request was project scoped but the policy requires ['system'] scope. This behavior may change in the future where using the intended scope is required DEBUG util.py:443: warnings.warn(msg) DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00220_drivers_vendor_passthru_methods_get_admin [0.053474s] ... ok DEBUG util.py:443: /usr/lib/python3.9/site-packages/oslo_policy/policy.py:1075: UserWarning: Policy baremetal:driver:get_properties failed scope check. The token used to make the request was project scoped but the policy requires ['system'] scope. This behavior may change in the future where using the intended scope is required DEBUG util.py:443: warnings.warn(msg) DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00268_deploy_templates_post_member [0.047098s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00215_drivers_properties_get_member [0.050608s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00259_allocations_allocation_id_delete_member [0.047016s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00269_deploy_templates_post_observer [0.046576s] ... ok DEBUG util.py:443: /usr/lib/python3.9/site-packages/oslo_policy/policy.py:1075: UserWarning: Policy baremetal:driver:get_raid_logical_disk_properties failed scope check. The token used to make the request was project scoped but the policy requires ['system'] scope. This behavior may change in the future where using the intended scope is required DEBUG util.py:443: warnings.warn(msg) DEBUG util.py:443: /usr/lib/python3.9/site-packages/oslo_policy/policy.py:1075: UserWarning: Policy baremetal:deploy_template:create failed scope check. The token used to make the request was project scoped but the policy requires ['system'] scope. This behavior may change in the future where using the intended scope is required DEBUG util.py:443: warnings.warn(msg) DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00221_drivers_vendor_passthru_methods_get_member [0.049640s] ... ok DEBUG util.py:443: /usr/lib/python3.9/site-packages/oslo_policy/policy.py:1075: UserWarning: Policy baremetal:deploy_template:get failed scope check. The token used to make the request was project scoped but the policy requires ['system'] scope. This behavior may change in the future where using the intended scope is required DEBUG util.py:443: warnings.warn(msg) DEBUG util.py:445: GOT:Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-2d5b14d6-d422-4b8b-8f10-743d0ea67ceb DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Volume target 1be26c0b-03f2-4d2e-ae87-c02d7f33c781 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-2d5b14d6-d422-4b8b-8f10-743d0ea67ceb DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Volume target 1be26c0b-03f2-4d2e-ae87-c02d7f33c781 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path get /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume DEBUG util.py:445: GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume {} DEBUG util.py:445: GOT:Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-8d7aa270-e419-429e-9fad-4610eea37d77 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"links": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume/", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume/", "rel": "bookmark"}], "connectors": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume/connectors", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume/connectors", "rel": "bookmark"}], "targets": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume/targets", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume/targets", "rel": "bookmark"}]} DEBUG util.py:445: ACL Test GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-8d7aa270-e419-429e-9fad-4610eea37d77 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"links": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume/", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume/", "rel": "bookmark"}], "connectors": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume/connectors", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume/connectors", "rel": "bookmark"}], "targets": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume/targets", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume/targets", "rel": "bookmark"}]} DEBUG util.py:445: API ACL Testing Path get /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume/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-0fb0905e-ea8e-458e-a4c9-335852ac548f DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"connectors": [{"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "connector_id": "iqn.2012-06.com.example:initiator", "type": "iqn", "links": [{"href": "http://localhost/v1/volume/connectors/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "self"}, {"href": "http://localhost/volume/connectors/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "bookmark"}], "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123"}]} DEBUG util.py:445: ACL Test GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-0fb0905e-ea8e-458e-a4c9-335852ac548f DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"connectors": [{"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "connector_id": "iqn.2012-06.com.example:initiator", "type": "iqn", "links": [{"href": "http://localhost/v1/volume/connectors/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "self"}, {"href": "http://localhost/volume/connectors/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "bookmark"}], "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123"}]} DEBUG util.py:445: API ACL Testing Path get /v1/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-4b9e0a6d-fbd8-4a80-b5b6-78133f5816e2 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"drivers": []} DEBUG util.py:445: ACL Test GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-4b9e0a6d-fbd8-4a80-b5b6-78133f5816e2 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"drivers": []} DEBUG util.py:445: API ACL Testing Path get /v1/drivers/fake-driverz DEBUG util.py:445: GET: /v1/drivers/fake-driverz {} DEBUG util.py:445: GOT:Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-f976c974-b412-4fe7-8c48-180c04ec4c74 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:driver:get\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-f976c974-b412-4fe7-8c48-180c04ec4c74 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:driver:get\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path get /v1/drivers/fake-driverz 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-cb1a6757-7546-42ec-aa30-0da36b7f2c3f DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Could not find the following driver(s) or hardware type(s): fake-driverz.\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-cb1a6757-7546-42ec-aa30-0da36b7f2c3f DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Could not find the following driver(s) or hardware type(s): fake-driverz.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path get /v1/drivers/fake-driverz/properties DEBUG util.py:445: GET: /v1/drivers/fake-driverz/properties {} DEBUG util.py:445: GOT:Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-c6a1f3e8-bfa6-4de3-9acd-43927c6a8189 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:driver:get_properties\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-c6a1f3e8-bfa6-4de3-9acd-43927c6a8189 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:driver:get_properties\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path get /v1/drivers/fake-driverz/raid/logical_disk_properties DEBUG util.py:445: GET: /v1/drivers/fake-driverz/raid/logical_disk_properties {} DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00218_drivers_raid_logical_disk_properties_get_member [0.049653s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00267_deploy_templates_post_admin [0.049915s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00270_deploy_templates_get_admin [0.047516s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00222_drivers_vendor_passthru_methods_get_observer [0.045939s] ... ok DEBUG util.py:443: /usr/lib/python3.9/site-packages/oslo_policy/policy.py:1075: UserWarning: Policy baremetal:deploy_template:get failed scope check. The token used to make the request was project scoped but the policy requires ['system'] scope. This behavior may change in the future where using the intended scope is required DEBUG util.py:443: warnings.warn(msg) DEBUG util.py:443: /usr/lib/python3.9/site-packages/oslo_policy/policy.py:1075: UserWarning: Policy baremetal:deploy_template:get failed scope check. The token used to make the request was project scoped but the policy requires ['system'] scope. This behavior may change in the future where using the intended scope is required DEBUG util.py:443: warnings.warn(msg) DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00273_deploy_templates_deploy_template_id_get_admin [0.046809s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00236_nodes_bios_get_observer [0.096951s] ... ok DEBUG util.py:443: /usr/lib/python3.9/site-packages/oslo_policy/policy.py:1075: UserWarning: Policy baremetal:chassis:get failed scope check. The token used to make the request was project scoped but the policy requires ['system'] scope. This behavior may change in the future where using the intended scope is required DEBUG util.py:443: warnings.warn(msg) DEBUG util.py:443: /usr/lib/python3.9/site-packages/oslo_policy/policy.py:1075: UserWarning: Policy baremetal:deploy_template:get failed scope check. The token used to make the request was project scoped but the policy requires ['system'] scope. This behavior may change in the future where using the intended scope is required DEBUG util.py:443: warnings.warn(msg) DEBUG util.py:443: /usr/lib/python3.9/site-packages/oslo_policy/policy.py:1075: UserWarning: Policy baremetal:chassis:get failed scope check. The token used to make the request was project scoped but the policy requires ['system'] scope. This behavior may change in the future where using the intended scope is required DEBUG util.py:443: warnings.warn(msg) DEBUG util.py:445: GOT:Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-2732d70f-5cd0-41fe-b882-c3c4507923fe DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:allocation:create\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-2732d70f-5cd0-41fe-b882-c3c4507923fe DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:allocation:create\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path get /v1/allocations/463b1ddd-1008-42ee-b1e7-a9bee3cbde56 DEBUG util.py:445: GET: /v1/allocations/463b1ddd-1008-42ee-b1e7-a9bee3cbde56 {} DEBUG util.py:445: GOT:Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-2a3573f3-2b5d-4977-be94-2c7e712cea56 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Allocation 463b1ddd-1008-42ee-b1e7-a9bee3cbde56 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-2a3573f3-2b5d-4977-be94-2c7e712cea56 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Allocation 463b1ddd-1008-42ee-b1e7-a9bee3cbde56 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path patch /v1/allocations/87b8c4a1-095f-4665-bcf7-fa6bdbe37eb2 DEBUG util.py:445: PATCH: /v1/allocations/87b8c4a1-095f-4665-bcf7-fa6bdbe37eb2 [{'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-3ddb516a-94c3-4d26-abdd-0c328b76b047 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"uuid": "87b8c4a1-095f-4665-bcf7-fa6bdbe37eb2", "created_at": "2024-05-14T11:54:20.565543+00:00", "updated_at": "2024-05-14T11:54:20.595962+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/87b8c4a1-095f-4665-bcf7-fa6bdbe37eb2", "rel": "self"}, {"href": "http://localhost/allocations/87b8c4a1-095f-4665-bcf7-fa6bdbe37eb2", "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-3ddb516a-94c3-4d26-abdd-0c328b76b047 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"uuid": "87b8c4a1-095f-4665-bcf7-fa6bdbe37eb2", "created_at": "2024-05-14T11:54:20.565543+00:00", "updated_at": "2024-05-14T11:54:20.595962+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/87b8c4a1-095f-4665-bcf7-fa6bdbe37eb2", "rel": "self"}, {"href": "http://localhost/allocations/87b8c4a1-095f-4665-bcf7-fa6bdbe37eb2", "rel": "bookmark"}], "node_uuid": "22e26c0b-03f2-4d2e-ae87-c02d7f33c000"} DEBUG util.py:445: API ACL Testing Path patch /v1/allocations/bac541c5-4006-4066-afe9-7b59d0318ba3 DEBUG util.py:445: PATCH: /v1/allocations/bac541c5-4006-4066-afe9-7b59d0318ba3 [{'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-68c8dde6-226e-4d7f-bfb7-2a744b9c97dc DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Allocation bac541c5-4006-4066-afe9-7b59d0318ba3 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-68c8dde6-226e-4d7f-bfb7-2a744b9c97dc DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Allocation bac541c5-4006-4066-afe9-7b59d0318ba3 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path delete /v1/allocations/459ff917-3751-4651-9b91-ef93efc255a3 DEBUG util.py:445: DELETE: /v1/allocations/459ff917-3751-4651-9b91-ef93efc255a3 DEBUG util.py:445: GOT:Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-dc0cf5ba-3f2c-4138-9708-72cee45ad6e5 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Allocation 459ff917-3751-4651-9b91-ef93efc255a3 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-dc0cf5ba-3f2c-4138-9708-72cee45ad6e5 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Allocation 459ff917-3751-4651-9b91-ef93efc255a3 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: 201 Created DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Location: http://localhost/v1/deploy_templates/63aa9cc9-47e2-4910-924a-f3855183b0b6 DEBUG util.py:445: Openstack-Request-Id: req-56449e96-f238-43e5-be5f-23c8d98372da DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"uuid": "63aa9cc9-47e2-4910-924a-f3855183b0b6", "created_at": "2024-05-14T11:54:20.743688+00:00", "updated_at": null, "name": "CUSTOM_TEST_TEMPLATE", "extra": {}, "links": [{"href": "http://localhost/v1/deploy_templates/63aa9cc9-47e2-4910-924a-f3855183b0b6", "rel": "self"}, {"href": "http://localhost/deploy_templates/63aa9cc9-47e2-4910-924a-f3855183b0b6", "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/63aa9cc9-47e2-4910-924a-f3855183b0b6 DEBUG util.py:445: Openstack-Request-Id: req-56449e96-f238-43e5-be5f-23c8d98372da DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"uuid": "63aa9cc9-47e2-4910-924a-f3855183b0b6", "created_at": "2024-05-14T11:54:20.743688+00:00", "updated_at": null, "name": "CUSTOM_TEST_TEMPLATE", "extra": {}, "links": [{"href": "http://localhost/v1/deploy_templates/63aa9cc9-47e2-4910-924a-f3855183b0b6", "rel": "self"}, {"href": "http://localhost/deploy_templates/63aa9cc9-47e2-4910-924a-f3855183b0b6", "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: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-68694cf3-a19f-4486-bced-08846a54b62e DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:deploy_template:get\", \"debuginfo\": null}"} DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00271_deploy_templates_get_member [0.047355s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00285_chassis_get_admin [0.048122s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00287_chassis_get_observer [0.047762s] ... ok DEBUG util.py:443: /usr/lib/python3.9/site-packages/oslo_policy/policy.py:1075: UserWarning: Policy baremetal:deploy_template:update failed scope check. The token used to make the request was project scoped but the policy requires ['system'] scope. This behavior may change in the future where using the intended scope is required DEBUG util.py:443: warnings.warn(msg) DEBUG util.py:445: ACL Test GOT Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-5084cab2-6734-4184-958b-4e03470e5ba2 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:allocation:delete\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path get /v1/nodes/22e26c0b-03f2-4d2e-ae87-c02d7f33c000/allocation DEBUG util.py:445: GET: /v1/nodes/22e26c0b-03f2-4d2e-ae87-c02d7f33c000/allocation {} DEBUG util.py:445: GOT:Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-7c8e16c6-da25-4369-a13c-1d174912fd62 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Resource could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-7c8e16c6-da25-4369-a13c-1d174912fd62 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Resource could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path delete /v1/nodes/22e26c0b-03f2-4d2e-ae87-c02d7f33c000/allocation DEBUG util.py:445: DELETE: /v1/nodes/22e26c0b-03f2-4d2e-ae87-c02d7f33c000/allocation DEBUG util.py:445: GOT:Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-b34ce575-e4ae-4e92-9e35-3cfe2d076b29 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 22e26c0b-03f2-4d2e-ae87-c02d7f33c000 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-b34ce575-e4ae-4e92-9e35-3cfe2d076b29 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 22e26c0b-03f2-4d2e-ae87-c02d7f33c000 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path post /v1/deploy_templates DEBUG util.py:445: POST: /v1/deploy_templates {'name': 'CUSTOM_TEST_TEMPLATE', 'steps': [{'interface': 'deploy', 'step': 'noop', 'args': {}, 'priority': 0}]} DEBUG util.py:445: GOT:Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-93e28de5-0295-4545-8a83-e8b6fca382a3 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:deploy_template:create\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-93e28de5-0295-4545-8a83-e8b6fca382a3 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:deploy_template:create\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path post /v1/deploy_templates DEBUG util.py:445: POST: /v1/deploy_templates {'name': 'CUSTOM_TEST_TEMPLATE', 'steps': [{'interface': 'deploy', 'step': 'noop', 'args': {}, 'priority': 0}]} DEBUG util.py:445: GOT:Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-48c650be-c269-4e1f-9384-56911b91e116 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:deploy_template:create\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-48c650be-c269-4e1f-9384-56911b91e116 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:deploy_template:create\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path get /v1/deploy_templates DEBUG util.py:445: GET: /v1/deploy_templates {} DEBUG util.py:445: GOT:Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-e3bdd47f-eec4-44f4-ae78-168d8843933e DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"deploy_templates": [{"uuid": "e539d509-e563-4436-b2e2-80ccff1274a6", "name": "CUSTOM_DT1", "links": [{"href": "http://localhost/v1/deploy_templates/e539d509-e563-4436-b2e2-80ccff1274a6", "rel": "self"}, {"href": "http://localhost/deploy_templates/e539d509-e563-4436-b2e2-80ccff1274a6", "rel": "bookmark"}]}]} DEBUG util.py:445: ACL Test GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-e3bdd47f-eec4-44f4-ae78-168d8843933e DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"deploy_templates": [{"uuid": "e539d509-e563-4436-b2e2-80ccff1274a6", "name": "CUSTOM_DT1", "links": [{"href": "http://localhost/v1/deploy_templates/e539d509-e563-4436-b2e2-80ccff1274a6", "rel": "self"}, {"href": "http://localhost/deploy_templates/e539d509-e563-4436-b2e2-80ccff1274a6", "rel": "bookmark"}]}]} DEBUG util.py:445: API ACL Testing Path get /v1/deploy_templates/e32757b1-e948-4c6c-8b59-566e36fe67ec DEBUG util.py:445: GET: /v1/deploy_templates/e32757b1-e948-4c6c-8b59-566e36fe67ec {} DEBUG util.py:445: GOT:Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-1ef9620f-a9c1-4677-a288-df9a9920517c DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"uuid": "e32757b1-e948-4c6c-8b59-566e36fe67ec", "created_at": "2024-05-14T11:54:20.777305+00:00", "updated_at": null, "name": "CUSTOM_DT1", "extra": {}, "links": [{"href": "http://localhost/v1/deploy_templates/e32757b1-e948-4c6c-8b59-566e36fe67ec", "rel": "self"}, {"href": "http://localhost/deploy_templates/e32757b1-e948-4c6c-8b59-566e36fe67ec", "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-1ef9620f-a9c1-4677-a288-df9a9920517c DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"uuid": "e32757b1-e948-4c6c-8b59-566e36fe67ec", "created_at": "2024-05-14T11:54:20.777305+00:00", "updated_at": null, "name": "CUSTOM_DT1", "extra": {}, "links": [{"href": "http://localhost/v1/deploy_templates/e32757b1-e948-4c6c-8b59-566e36fe67ec", "rel": "self"}, {"href": "http://localhost/deploy_templates/e32757b1-e948-4c6c-8b59-566e36fe67ec", "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/8254332f-9df9-4225-9a17-a0a18709373c DEBUG util.py:445: GET: /v1/deploy_templates/8254332f-9df9-4225-9a17-a0a18709373c {} DEBUG util.py:445: GOT:Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-0024b551-5e44-4ff0-9055-278f0692ad59 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"uuid": "8254332f-9df9-4225-9a17-a0a18709373c", "created_at": "2024-05-14T11:54:20.824458+00:00", "updated_at": null, "name": "CUSTOM_DT1", "extra": {}, "links": [{"href": "http://localhost/v1/deploy_templates/8254332f-9df9-4225-9a17-a0a18709373c", "rel": "self"}, {"href": "http://localhost/deploy_templates/8254332f-9df9-4225-9a17-a0a18709373c", "rel": "bookmark"}], "steps": [{"interface": "raid", "step": "create_configuration", "args": {"logical_disks": []}, "priority": 10}]} DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00275_deploy_templates_deploy_template_id_get_observer [0.046934s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00278_deploy_templates_deploy_template_id_patch_observer [0.045712s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00237_nodes_bios_bios_setting_get_admin [0.088191s] ... 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-9f744418-bb1e-40fc-9d95-b6bda9b0e6dd DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path get /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume/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-ff810aa7-3648-491e-b2d5-b459882033ed DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"connectors": [{"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "connector_id": "iqn.2012-06.com.example:initiator", "type": "iqn", "links": [{"href": "http://localhost/v1/volume/connectors/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "self"}, {"href": "http://localhost/volume/connectors/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "bookmark"}], "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123"}]} DEBUG util.py:445: ACL Test GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-ff810aa7-3648-491e-b2d5-b459882033ed DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"connectors": [{"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "connector_id": "iqn.2012-06.com.example:initiator", "type": "iqn", "links": [{"href": "http://localhost/v1/volume/connectors/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "self"}, {"href": "http://localhost/volume/connectors/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "bookmark"}], "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123"}]} DEBUG util.py:445: API ACL Testing Path get /v1/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-dec40d6b-3370-4d62-a76c-06468acadecb DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Could not find the following driver(s) or hardware type(s): fake-driverz.\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-dec40d6b-3370-4d62-a76c-06468acadecb DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Could not find the following driver(s) or hardware type(s): fake-driverz.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path get /v1/drivers/fake-driverz/properties DEBUG util.py:445: GET: /v1/drivers/fake-driverz/properties {} DEBUG util.py:445: GOT:Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-895a4971-8b54-43a2-a9ea-ecef3341763d DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"No conductors registered.\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-895a4971-8b54-43a2-a9ea-ecef3341763d DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"No conductors registered.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path get /v1/drivers/fake-driverz/raid/logical_disk_properties DEBUG util.py:445: GET: /v1/drivers/fake-driverz/raid/logical_disk_properties {} DEBUG util.py:445: GOT:Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-d7b9b3a9-d93d-4b66-a630-910e02f7a32d DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"No conductors registered.\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-d7b9b3a9-d93d-4b66-a630-910e02f7a32d DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"No conductors registered.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path get /v1/drivers/fake-driverz/vendor_passthru/methods DEBUG util.py:445: GET: /v1/drivers/fake-driverz/vendor_passthru/methods {} DEBUG util.py:445: GOT:Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-293fba13-7c66-477e-b5b8-8252f1ceb22b DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"No conductors registered.\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-293fba13-7c66-477e-b5b8-8252f1ceb22b DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"No conductors registered.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path get /v1/drivers/fake-driverz/vendor_passthru/methods DEBUG util.py:445: GET: /v1/drivers/fake-driverz/vendor_passthru/methods {} DEBUG util.py:445: GOT:Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-5c7fd6cd-44e0-4a73-9dab-16e70e82bd95 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:driver:vendor_passthru\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-5c7fd6cd-44e0-4a73-9dab-16e70e82bd95 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:driver:vendor_passthru\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path get /v1/drivers/fake-driverz/vendor_passthru/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-96b504b2-d9c7-4943-856e-dc4a4b8b305c DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:driver:vendor_passthru\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-96b504b2-d9c7-4943-856e-dc4a4b8b305c DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:driver:vendor_passthru\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path get /v1/drivers/fake-driverz/vendor_passthru?method=test DEBUG util.py:445: GET: /v1/drivers/fake-driverz/vendor_passthru?method=test {} DEBUG util.py:445: GOT:Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-7cba72ce-c6ae-4355-9505-0f125c0cb69e DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"No conductors registered.\", \"debuginfo\": null}"} DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00223_drivers_vendor_passthru_get_admin [0.048569s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00224_drivers_vendor_passthru_get_member [0.044496s] ... ok DEBUG util.py:443: /usr/lib/python3.9/site-packages/oslo_policy/policy.py:1075: UserWarning: Policy baremetal:chassis:create failed scope check. The token used to make the request was project scoped but the policy requires ['system'] scope. This behavior may change in the future where using the intended scope is required DEBUG util.py:443: warnings.warn(msg) DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00229_drivers_vendor_passthru_put_admin [0.075888s] ... ok DEBUG util.py:443: /usr/lib/python3.9/site-packages/oslo_policy/policy.py:1075: UserWarning: Policy baremetal:chassis:get failed scope check. The token used to make the request was project scoped but the policy requires ['system'] scope. This behavior may change in the future where using the intended scope is required DEBUG util.py:443: warnings.warn(msg) DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00283_chassis_post_member [0.045198s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00293_chassis_chassis_id_get_observer [0.053725s] ... ok DEBUG util.py:443: /usr/lib/python3.9/site-packages/oslo_policy/policy.py:1075: UserWarning: Policy baremetal:conductor:get failed scope check. The token used to make the request was project scoped but the policy requires ['system'] scope. This behavior may change in the future where using the intended scope is required DEBUG util.py:443: warnings.warn(msg) DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00231_drivers_vendor_passthru_put_observer [0.047668s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00241_conductors_get_member [0.066759s] ... ok DEBUG util.py:443: /usr/lib/python3.9/site-packages/oslo_policy/policy.py:1075: UserWarning: Policy baremetal:chassis:get failed scope check. The token used to make the request was project scoped but the policy requires ['system'] scope. This behavior may change in the future where using the intended scope is required DEBUG util.py:443: warnings.warn(msg) DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00288_chassis_detail_get_admin [0.046870s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00300_node_history_get_admin [0.057098s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00234_nodes_bios_get_admin [0.053215s] ... ok DEBUG util.py:443: /usr/lib/python3.9/site-packages/oslo_policy/policy.py:1075: UserWarning: Policy baremetal:chassis:update failed scope check. The token used to make the request was project scoped but the policy requires ['system'] scope. This behavior may change in the future where using the intended scope is required DEBUG util.py:443: warnings.warn(msg) DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00295_chassis_chassis_id_patch_member [0.045391s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00243_conductors_hostname_get_admin [0.051721s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00303_node_history_get_entry_admin [0.057793s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00245_conductors_hostname_get_observer [0.050781s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00296_chassis_chassis_id_patch_observer [0.047390s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00239_nodes_bios_bios_setting_get_observer [0.054937s] ... ok DEBUG util.py:443: /usr/lib/python3.9/site-packages/oslo_policy/policy.py:1075: UserWarning: Policy baremetal:chassis:delete failed scope check. The token used to make the request was project scoped but the policy requires ['system'] scope. This behavior may change in the future where using the intended scope is required DEBUG util.py:443: warnings.warn(msg) DEBUG util.py:443: /usr/lib/python3.9/site-packages/oslo_policy/policy.py:1075: UserWarning: Policy baremetal:conductor:get failed scope check. The token used to make the request was project scoped but the policy requires ['system'] scope. This behavior may change in the future where using the intended scope is required DEBUG util.py:443: warnings.warn(msg) DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00298_chassis_chassis_id_delete_member [0.045288s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00240_conductors_get_admin [0.064723s] ... 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-68694cf3-a19f-4486-bced-08846a54b62e DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:deploy_template:get\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path get /v1/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-b0ba7c9a-9818-41c7-aba1-628005196133 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"chassis": [{"uuid": "e74c40e0-d825-11e2-a28f-0800200c9a66", "description": "data-center-1-chassis", "links": [{"href": "http://localhost/v1/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66", "rel": "self"}, {"href": "http://localhost/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66", "rel": "bookmark"}]}]} DEBUG util.py:445: ACL Test GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-b0ba7c9a-9818-41c7-aba1-628005196133 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"chassis": [{"uuid": "e74c40e0-d825-11e2-a28f-0800200c9a66", "description": "data-center-1-chassis", "links": [{"href": "http://localhost/v1/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66", "rel": "self"}, {"href": "http://localhost/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66", "rel": "bookmark"}]}]} DEBUG util.py:445: API ACL Testing Path get /v1/chassis DEBUG util.py:445: GET: /v1/chassis {} DEBUG util.py:445: GOT:Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-c1fea522-0f16-4746-bee4-314ed0c8098e DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"chassis": [{"uuid": "e74c40e0-d825-11e2-a28f-0800200c9a66", "description": "data-center-1-chassis", "links": [{"href": "http://localhost/v1/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66", "rel": "self"}, {"href": "http://localhost/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66", "rel": "bookmark"}]}]} DEBUG util.py:445: ACL Test GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-c1fea522-0f16-4746-bee4-314ed0c8098e DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"chassis": [{"uuid": "e74c40e0-d825-11e2-a28f-0800200c9a66", "description": "data-center-1-chassis", "links": [{"href": "http://localhost/v1/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66", "rel": "self"}, {"href": "http://localhost/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66", "rel": "bookmark"}]}]} DEBUG util.py:445: API ACL Testing Path get /v1/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66 DEBUG util.py:445: GET: /v1/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66 {} DEBUG util.py:445: GOT:Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-d713912a-8e79-4149-b8a9-2e0464e120d2 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"uuid": "e74c40e0-d825-11e2-a28f-0800200c9a66", "created_at": "2024-05-14T11:54:20.915567+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-d713912a-8e79-4149-b8a9-2e0464e120d2 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"uuid": "e74c40e0-d825-11e2-a28f-0800200c9a66", "created_at": "2024-05-14T11:54:20.915567+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/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-24872909-c72d-40f9-ac33-084bcc2427d7 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"history": [{"uuid": "0c484a48-23bc-4b3e-a7d1-443002034f84", "created_at": "2024-05-14T11:54:20.983710+00:00", "severity": "ERROR", "event": "Something is wrong", "links": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/history/0c484a48-23bc-4b3e-a7d1-443002034f84", "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-24872909-c72d-40f9-ac33-084bcc2427d7 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"history": [{"uuid": "0c484a48-23bc-4b3e-a7d1-443002034f84", "created_at": "2024-05-14T11:54:20.983710+00:00", "severity": "ERROR", "event": "Something is wrong", "links": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/history/0c484a48-23bc-4b3e-a7d1-443002034f84", "rel": "self"}]}]} DEBUG util.py:445: API ACL Testing Path get /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/history/dc4920c9-f483-4e8c-856e-e61d3adc6095 DEBUG util.py:445: GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/history/dc4920c9-f483-4e8c-856e-e61d3adc6095 {} DEBUG util.py:445: GOT:Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-5804220a-d9b6-4b11-84c6-e881b1d2c1bf DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"uuid": "dc4920c9-f483-4e8c-856e-e61d3adc6095", "created_at": "2024-05-14T11:54:21.040215+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/dc4920c9-f483-4e8c-856e-e61d3adc6095", "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-5804220a-d9b6-4b11-84c6-e881b1d2c1bf DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"uuid": "dc4920c9-f483-4e8c-856e-e61d3adc6095", "created_at": "2024-05-14T11:54:21.040215+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/dc4920c9-f483-4e8c-856e-e61d3adc6095", "rel": "self"}]} DEBUG util.py:445: API ACL Testing Path get /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/history/d9ef7825-2412-4df0-a130-e4f6789cd1a4 DEBUG util.py:445: GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/history/d9ef7825-2412-4df0-a130-e4f6789cd1a4 {} DEBUG util.py:445: GOT:Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-cc3b2104-6096-4066-bf3b-52c60392cfcd DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG 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_00304_node_history_get_entry_member [0.052983s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00305_node_history_get_entry_observer [0.074473s] ... 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-add9228d-c4ec-41b7-ba64-f7bcb5f47e5c DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:driver:get_raid_logical_disk_properties\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-add9228d-c4ec-41b7-ba64-f7bcb5f47e5c DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:driver:get_raid_logical_disk_properties\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path get /v1/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-158b7bfe-91b7-4b0d-9a84-1d49e69fe69a DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"bios": [{"created_at": "2024-05-14T11:54:20.779954+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-158b7bfe-91b7-4b0d-9a84-1d49e69fe69a DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"bios": [{"created_at": "2024-05-14T11:54:20.779954+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-a5080b4a-959b-45f5-94f7-2a564325d7f1 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"FAKE_SETTING": {"created_at": "2024-05-14T11:54:20.864964+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-a5080b4a-959b-45f5-94f7-2a564325d7f1 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"FAKE_SETTING": {"created_at": "2024-05-14T11:54:20.864964+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: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-ef537b83-ff74-4505-b44f-15fff570fc64 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:conductor:get\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-ef537b83-ff74-4505-b44f-15fff570fc64 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:conductor:get\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path get /v1/conductors/test-conductor-node DEBUG util.py:445: GET: /v1/conductors/test-conductor-node {} DEBUG util.py:445: GOT:Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-2676c53b-677b-4764-9af1-c23909cc2083 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"created_at": "2024-05-14T11:54:21.007406+00:00", "updated_at": "2024-05-14T11:54:21.008251+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-2676c53b-677b-4764-9af1-c23909cc2083 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"created_at": "2024-05-14T11:54:21.007406+00:00", "updated_at": "2024-05-14T11:54:21.008251+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-d0e8c2bd-0382-4347-9f88-102719a4545b DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"created_at": "2024-05-14T11:54:21.057434+00:00", "updated_at": "2024-05-14T11:54:21.058187+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-d0e8c2bd-0382-4347-9f88-102719a4545b DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"created_at": "2024-05-14T11:54:21.057434+00:00", "updated_at": "2024-05-14T11:54:21.058187+00:00", "hostname": "test-conductor-node", "conductor_group": "", "drivers": ["fake-driver", "null-driver"], "links": [{"href": "http://localhost/v1/conductors/test-conductor-node", "rel": "self"}, {"href": "http://localhost/conductors/test-conductor-node", "rel": "bookmark"}], "alive": true} DEBUG util.py:445: API ACL Testing Path get /v1/allocations DEBUG util.py:445: GET: /v1/allocations {} DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00249_allocations_get_admin [0.070148s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00257_allocations_allocation_id_patch_observer [0.058586s] ... 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-7cba72ce-c6ae-4355-9505-0f125c0cb69e DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"No conductors registered.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path get /v1/drivers/fake-driverz/vendor_passthru?method=test DEBUG util.py:445: GET: /v1/drivers/fake-driverz/vendor_passthru?method=test {} DEBUG util.py:445: GOT:Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-debcbf4b-6b7d-48c3-8943-7ba6e163a684 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:driver:vendor_passthru\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-debcbf4b-6b7d-48c3-8943-7ba6e163a684 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:driver:vendor_passthru\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path put /v1/drivers/fake-driverz/vendor_passthru?method=test DEBUG util.py:445: PUT: /v1/drivers/fake-driverz/vendor_passthru?method=test None DEBUG util.py:445: GOT:Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-bdcd4df7-7462-4758-8e04-66d42f3192e4 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"No conductors registered.\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-bdcd4df7-7462-4758-8e04-66d42f3192e4 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"No conductors registered.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path put /v1/drivers/fake-driverz/vendor_passthru?method=test DEBUG util.py:445: PUT: /v1/drivers/fake-driverz/vendor_passthru?method=test None DEBUG util.py:445: GOT:Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-306f64a8-4cff-47e9-9176-2d77798056ee DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:driver:vendor_passthru\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-306f64a8-4cff-47e9-9176-2d77798056ee DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:driver:vendor_passthru\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path get /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/bios DEBUG util.py:445: GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/bios {} DEBUG util.py:445: GOT:Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-e78f93c3-b19c-486b-8ece-67325ab17914 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"bios": [{"created_at": "2024-05-14T11:54:21.005676+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-e78f93c3-b19c-486b-8ece-67325ab17914 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"bios": [{"created_at": "2024-05-14T11:54:21.005676+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-3f1f8b99-e773-4894-8aee-ec536db0e3c5 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"FAKE_SETTING": {"created_at": "2024-05-14T11:54:21.059603+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-3f1f8b99-e773-4894-8aee-ec536db0e3c5 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"FAKE_SETTING": {"created_at": "2024-05-14T11:54:21.059603+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-4ced8ba2-1580-4ff8-906c-8913b40e9bbd DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"conductors": [{"hostname": "test-conductor-node", "conductor_group": "", "links": [{"href": "http://localhost/v1/conductors/test-conductor-node", "rel": "self"}, {"href": "http://localhost/conductors/test-conductor-node", "rel": "bookmark"}], "alive": true}]} DEBUG util.py:445: ACL Test GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-4ced8ba2-1580-4ff8-906c-8913b40e9bbd DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"conductors": [{"hostname": "test-conductor-node", "conductor_group": "", "links": [{"href": "http://localhost/v1/conductors/test-conductor-node", "rel": "self"}, {"href": "http://localhost/conductors/test-conductor-node", "rel": "bookmark"}], "alive": true}]} DEBUG util.py:445: API ACL Testing Path post /v1/allocations DEBUG util.py:445: POST: /v1/allocations {'resource_class': 'CUSTOM_TEST'} DEBUG util.py:445: GOT:Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-31318ed4-6ee3-4d8f-a1f8-7fb640f704c6 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00246_allocations_post_admin [0.052033s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00247_allocations_post_member ... SKIPPED: This endpoint's behavior supports allocation creation as a member with the new Role Based Access Control changes. Thus this test cannot both ensure prior and post-change behavior as it is actually valid moving forward. DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00001_values ... SKIPPED: These are fake reference values for YAML templating DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00261_nodes_allocation_get_admin [0.080711s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00251_allocations_get_observer [0.094699s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00263_nodes_allocation_get_observer [0.056032s] ... 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-0024b551-5e44-4ff0-9055-278f0692ad59 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"uuid": "8254332f-9df9-4225-9a17-a0a18709373c", "created_at": "2024-05-14T11:54:20.824458+00:00", "updated_at": null, "name": "CUSTOM_DT1", "extra": {}, "links": [{"href": "http://localhost/v1/deploy_templates/8254332f-9df9-4225-9a17-a0a18709373c", "rel": "self"}, {"href": "http://localhost/deploy_templates/8254332f-9df9-4225-9a17-a0a18709373c", "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/81ff106f-2368-496b-9f47-0c4172f67ce5 DEBUG util.py:445: PATCH: /v1/deploy_templates/81ff106f-2368-496b-9f47-0c4172f67ce5 [{'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-61ddc9ae-18e1-41cb-8566-735922404385 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:deploy_template:update\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-61ddc9ae-18e1-41cb-8566-735922404385 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:deploy_template:update\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path post /v1/chassis DEBUG util.py:445: POST: /v1/chassis {'description': 'test-chassis'} DEBUG util.py:445: GOT:Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-b59c3a5e-e8ad-4a1b-8d5b-95730c5ec4c7 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:chassis:create\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-b59c3a5e-e8ad-4a1b-8d5b-95730c5ec4c7 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:chassis:create\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path get /v1/chassis/detail DEBUG util.py:445: GET: /v1/chassis/detail {} DEBUG util.py:445: GOT:Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-3b2d66e2-5909-4af9-807b-897e0d075612 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"chassis": [{"uuid": "e74c40e0-d825-11e2-a28f-0800200c9a66", "created_at": "2024-05-14T11:54:20.962314+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-3b2d66e2-5909-4af9-807b-897e0d075612 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"chassis": [{"uuid": "e74c40e0-d825-11e2-a28f-0800200c9a66", "created_at": "2024-05-14T11:54:20.962314+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-cfa85e5a-02d6-41c7-ba51-724d22effd8a DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:chassis:update\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-cfa85e5a-02d6-41c7-ba51-724d22effd8a DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:chassis:update\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path 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-81bb5176-fc30-49f1-b1de-ae43d98c92bd DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:chassis:update\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-81bb5176-fc30-49f1-b1de-ae43d98c92bd DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:chassis:update\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path delete /v1/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66 DEBUG util.py:445: DELETE: /v1/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66 DEBUG util.py:445: GOT:Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-8de66ed3-227c-405b-92c8-bc839e62e615 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:chassis:delete\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-8de66ed3-227c-405b-92c8-bc839e62e615 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:chassis:delete\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path 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-a73c1dda-a2c4-4818-8123-fcd1361ecd58 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:chassis:delete\", \"debuginfo\": null}"} DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00299_chassis_chassis_id_delete_observer [0.184737s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00302_node_history_get_observer [0.051214s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00002_owner_admin_cannot_post_nodes [0.079334s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00252_allocations_allocation_id_get_admin [0.058139s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00009_owner_reader_can_get_node [0.050330s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00008_owner_member_can_get_node [0.053614s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00264_nodes_allocation_delete_admin [0.060259s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00254_allocations_allocation_id_get_observer [0.053370s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00013_third_party_admin_cannot_get_node [0.050066s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00266_nodes_allocation_delete_observer [0.052399s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00011_lessee_member_can_get_node [0.054512s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00258_allocations_allocation_id_delete_admin [0.048953s] ... ok DEBUG util.py:443: /usr/lib/python3.9/site-packages/oslo_policy/policy.py:1075: UserWarning: Policy baremetal:deploy_template:get failed scope check. The token used to make the request was project scoped but the policy requires ['system'] scope. This behavior may change in the future where using the intended scope is required DEBUG util.py:443: warnings.warn(msg) DEBUG util.py:443: /usr/lib/python3.9/site-packages/oslo_policy/policy.py:1075: UserWarning: Policy baremetal:deploy_template:update failed scope check. The token used to make the request was project scoped but the policy requires ['system'] scope. This behavior may change in the future where using the intended scope is required DEBUG util.py:443: warnings.warn(msg) DEBUG util.py:445: ACL Test GOT Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-cc3b2104-6096-4066-bf3b-52c60392cfcd DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-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/097ac2fd-3177-4f17-9f0f-fa15d200724f DEBUG util.py:445: GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/history/097ac2fd-3177-4f17-9f0f-fa15d200724f {} DEBUG util.py:445: GOT:Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-bc308dea-0088-426d-9e90-e53e9cb1cb41 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"uuid": "097ac2fd-3177-4f17-9f0f-fa15d200724f", "created_at": "2024-05-14T11:54:21.150045+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/097ac2fd-3177-4f17-9f0f-fa15d200724f", "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-bc308dea-0088-426d-9e90-e53e9cb1cb41 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"uuid": "097ac2fd-3177-4f17-9f0f-fa15d200724f", "created_at": "2024-05-14T11:54:21.150045+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/097ac2fd-3177-4f17-9f0f-fa15d200724f", "rel": "self"}]} DEBUG util.py:445: API ACL Testing Path post /v1/nodes DEBUG util.py:445: POST: /v1/nodes {'name': 'node', 'driver': 'fake-driverz'} DEBUG util.py:445: GOT:Response: 500 Internal Server Error DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-31c2d367-050b-46ff-b05c-040af63676ce DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"baremetal:node:create 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-31c2d367-050b-46ff-b05c-040af63676ce DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"baremetal:node:create requires a scope of ['system'], request was made with project scope.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path get /v1/nodes DEBUG util.py:445: GET: /v1/nodes {} DEBUG util.py:445: GOT:Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-d290a8f7-8412-4c4c-b21d-3cec0456236d DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"nodes": [{"uuid": "1ab63b9e-66d7-4cd7-8618-dddd0f9f7881", "instance_uuid": null, "maintenance": false, "power_state": null, "provision_state": "available", "name": null, "links": [{"href": "http://localhost/v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881", "rel": "self"}, {"href": "http://localhost/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881", "rel": "bookmark"}]}, {"uuid": "38d5abed-c585-4fce-a57e-a2ffc2a2ec6f", "instance_uuid": null, "maintenance": false, "power_state": null, "provision_state": "available", "name": null, "links": [{"href": "http://localhost/v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f", "rel": "self"}, {"href": "http://localhost/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f", "rel": "bookmark"}]}]} DEBUG util.py:445: ACL Test GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-d290a8f7-8412-4c4c-b21d-3cec0456236d DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"nodes": [{"uuid": "1ab63b9e-66d7-4cd7-8618-dddd0f9f7881", "instance_uuid": null, "maintenance": false, "power_state": null, "provision_state": "available", "name": null, "links": [{"href": "http://localhost/v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881", "rel": "self"}, {"href": "http://localhost/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881", "rel": "bookmark"}]}, {"uuid": "38d5abed-c585-4fce-a57e-a2ffc2a2ec6f", "instance_uuid": null, "maintenance": false, "power_state": null, "provision_state": "available", "name": null, "links": [{"href": "http://localhost/v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f", "rel": "self"}, {"href": "http://localhost/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f", "rel": "bookmark"}]}]} DEBUG util.py:445: API ACL Testing Path get /v1/nodes DEBUG util.py:445: GET: /v1/nodes {} DEBUG util.py:445: GOT:Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-63af9566-fc0e-453c-b1b5-1e943d7c8a2d DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"nodes": [{"uuid": "38d5abed-c585-4fce-a57e-a2ffc2a2ec6f", "instance_uuid": null, "maintenance": false, "power_state": null, "provision_state": "available", "name": null, "links": [{"href": "http://localhost/v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f", "rel": "self"}, {"href": "http://localhost/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f", "rel": "bookmark"}]}]} DEBUG util.py:445: ACL Test GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-63af9566-fc0e-453c-b1b5-1e943d7c8a2d DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"nodes": [{"uuid": "38d5abed-c585-4fce-a57e-a2ffc2a2ec6f", "instance_uuid": null, "maintenance": false, "power_state": null, "provision_state": "available", "name": null, "links": [{"href": "http://localhost/v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f", "rel": "self"}, {"href": "http://localhost/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f", "rel": "bookmark"}]}]} DEBUG util.py:445: API ACL Testing Path get /v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f DEBUG util.py:445: GET: /v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f {} DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00016_lessee_reader_can_get_their_node [0.085732s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00272_deploy_templates_get_observer [0.060482s] ... ok DEBUG util.py:443: /usr/lib/python3.9/site-packages/oslo_policy/policy.py:1075: UserWarning: Policy baremetal:deploy_template:get failed scope check. The token used to make the request was project scoped but the policy requires ['system'] scope. This behavior may change in the future where using the intended scope is required DEBUG util.py:443: warnings.warn(msg) DEBUG util.py:445: GOT:Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-054c76bb-d657-4606-b632-41f0ce9a9d2f DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"allocations": [{"uuid": "680302e6-edd2-4967-b5e4-87a5f1abbdb9", "created_at": "2024-05-14T11:54:21.099069+00:00", "updated_at": null, "candidate_nodes": [], "extra": {}, "last_error": null, "name": null, "owner": null, "resource_class": "CUSTOM_TEST", "state": "allocating", "traits": [], "links": [{"href": "http://localhost/v1/allocations/680302e6-edd2-4967-b5e4-87a5f1abbdb9", "rel": "self"}, {"href": "http://localhost/allocations/680302e6-edd2-4967-b5e4-87a5f1abbdb9", "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-054c76bb-d657-4606-b632-41f0ce9a9d2f DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"allocations": [{"uuid": "680302e6-edd2-4967-b5e4-87a5f1abbdb9", "created_at": "2024-05-14T11:54:21.099069+00:00", "updated_at": null, "candidate_nodes": [], "extra": {}, "last_error": null, "name": null, "owner": null, "resource_class": "CUSTOM_TEST", "state": "allocating", "traits": [], "links": [{"href": "http://localhost/v1/allocations/680302e6-edd2-4967-b5e4-87a5f1abbdb9", "rel": "self"}, {"href": "http://localhost/allocations/680302e6-edd2-4967-b5e4-87a5f1abbdb9", "rel": "bookmark"}], "node_uuid": "22e26c0b-03f2-4d2e-ae87-c02d7f33c000"}]} DEBUG util.py:445: API ACL Testing Path patch /v1/allocations/70f032a7-1fc7-4476-8d6f-5a31778d7f2d DEBUG util.py:445: PATCH: /v1/allocations/70f032a7-1fc7-4476-8d6f-5a31778d7f2d [{'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-352d814a-0b3b-4a3b-af66-a5a138700d71 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:allocation:update\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-352d814a-0b3b-4a3b-af66-a5a138700d71 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:allocation:update\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path get /v1/nodes/22e26c0b-03f2-4d2e-ae87-c02d7f33c000/allocation DEBUG util.py:445: GET: /v1/nodes/22e26c0b-03f2-4d2e-ae87-c02d7f33c000/allocation {} DEBUG util.py:445: GOT:Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-9bec7683-c6a5-48f2-957c-5a59da6fcc77 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"uuid": "ab977972-b505-4ea0-a213-4323566686ca", "created_at": "2024-05-14T11:54:21.240092+00:00", "updated_at": null, "candidate_nodes": [], "extra": {}, "last_error": null, "name": null, "owner": null, "resource_class": "CUSTOM_TEST", "state": "allocating", "traits": [], "links": [{"href": "http://localhost/v1/allocations/ab977972-b505-4ea0-a213-4323566686ca", "rel": "self"}, {"href": "http://localhost/allocations/ab977972-b505-4ea0-a213-4323566686ca", "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-9bec7683-c6a5-48f2-957c-5a59da6fcc77 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"uuid": "ab977972-b505-4ea0-a213-4323566686ca", "created_at": "2024-05-14T11:54:21.240092+00:00", "updated_at": null, "candidate_nodes": [], "extra": {}, "last_error": null, "name": null, "owner": null, "resource_class": "CUSTOM_TEST", "state": "allocating", "traits": [], "links": [{"href": "http://localhost/v1/allocations/ab977972-b505-4ea0-a213-4323566686ca", "rel": "self"}, {"href": "http://localhost/allocations/ab977972-b505-4ea0-a213-4323566686ca", "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-809ff316-89bf-4df7-8d78-748b508097ec DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"uuid": "c685e6ae-8da5-4bc5-ae80-abdc399a5e81", "created_at": "2024-05-14T11:54:21.309969+00:00", "updated_at": null, "candidate_nodes": [], "extra": {}, "last_error": null, "name": null, "owner": null, "resource_class": "CUSTOM_TEST", "state": "allocating", "traits": [], "links": [{"href": "http://localhost/v1/allocations/c685e6ae-8da5-4bc5-ae80-abdc399a5e81", "rel": "self"}, {"href": "http://localhost/allocations/c685e6ae-8da5-4bc5-ae80-abdc399a5e81", "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-809ff316-89bf-4df7-8d78-748b508097ec DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"uuid": "c685e6ae-8da5-4bc5-ae80-abdc399a5e81", "created_at": "2024-05-14T11:54:21.309969+00:00", "updated_at": null, "candidate_nodes": [], "extra": {}, "last_error": null, "name": null, "owner": null, "resource_class": "CUSTOM_TEST", "state": "allocating", "traits": [], "links": [{"href": "http://localhost/v1/allocations/c685e6ae-8da5-4bc5-ae80-abdc399a5e81", "rel": "self"}, {"href": "http://localhost/allocations/c685e6ae-8da5-4bc5-ae80-abdc399a5e81", "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-b72065a9-cfe7-4e24-afed-e04a959ca158 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-b72065a9-cfe7-4e24-afed-e04a959ca158 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path delete /v1/nodes/22e26c0b-03f2-4d2e-ae87-c02d7f33c000/allocation DEBUG util.py:445: DELETE: /v1/nodes/22e26c0b-03f2-4d2e-ae87-c02d7f33c000/allocation DEBUG util.py:445: GOT:Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-58692779-b357-4eeb-9527-2c8e0637dcea DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:allocation:delete\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-58692779-b357-4eeb-9527-2c8e0637dcea DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:allocation:delete\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path get /v1/deploy_templates/768b7625-9f81-4ab1-a2b8-a2a4a99d2ac4 DEBUG util.py:445: GET: /v1/deploy_templates/768b7625-9f81-4ab1-a2b8-a2a4a99d2ac4 {} DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00274_deploy_templates_deploy_template_id_get_member [0.046856s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00276_deploy_templates_deploy_template_id_patch_admin [0.054572s] ... 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-a73c1dda-a2c4-4818-8123-fcd1361ecd58 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:chassis:delete\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path get /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/history DEBUG util.py:445: GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/history {} DEBUG util.py:445: GOT:Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-481f7cb3-fead-428a-8f23-812c7e24efa3 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"history": [{"uuid": "6eb28e11-44e2-4584-829a-c43c4ebfc542", "created_at": "2024-05-14T11:54:21.340723+00:00", "severity": "ERROR", "event": "Something is wrong", "links": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/history/6eb28e11-44e2-4584-829a-c43c4ebfc542", "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-481f7cb3-fead-428a-8f23-812c7e24efa3 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"history": [{"uuid": "6eb28e11-44e2-4584-829a-c43c4ebfc542", "created_at": "2024-05-14T11:54:21.340723+00:00", "severity": "ERROR", "event": "Something is wrong", "links": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/history/6eb28e11-44e2-4584-829a-c43c4ebfc542", "rel": "self"}]}]} 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-3997427b-9d0d-4f33-940c-351b7807af59 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"nodes": [{"uuid": "1ab63b9e-66d7-4cd7-8618-dddd0f9f7881", "instance_uuid": null, "maintenance": false, "power_state": null, "provision_state": "available", "name": null, "links": [{"href": "http://localhost/v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881", "rel": "self"}, {"href": "http://localhost/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881", "rel": "bookmark"}]}, {"uuid": "38d5abed-c585-4fce-a57e-a2ffc2a2ec6f", "instance_uuid": null, "maintenance": false, "power_state": null, "provision_state": "available", "name": null, "links": [{"href": "http://localhost/v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f", "rel": "self"}, {"href": "http://localhost/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f", "rel": "bookmark"}]}]} DEBUG util.py:445: ACL Test GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-3997427b-9d0d-4f33-940c-351b7807af59 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"nodes": [{"uuid": "1ab63b9e-66d7-4cd7-8618-dddd0f9f7881", "instance_uuid": null, "maintenance": false, "power_state": null, "provision_state": "available", "name": null, "links": [{"href": "http://localhost/v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881", "rel": "self"}, {"href": "http://localhost/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881", "rel": "bookmark"}]}, {"uuid": "38d5abed-c585-4fce-a57e-a2ffc2a2ec6f", "instance_uuid": null, "maintenance": false, "power_state": null, "provision_state": "available", "name": null, "links": [{"href": "http://localhost/v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f", "rel": "self"}, {"href": "http://localhost/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f", "rel": "bookmark"}]}]} DEBUG util.py:445: API ACL Testing Path get /v1/nodes DEBUG util.py:445: GET: /v1/nodes {} DEBUG util.py:445: GOT:Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-0b361915-6ec1-46af-aaf5-3c9e6893119b DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"nodes": []} DEBUG util.py:445: ACL Test GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-0b361915-6ec1-46af-aaf5-3c9e6893119b DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"nodes": []} DEBUG util.py:445: API ACL Testing Path get /v1/nodes/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-fe7f5b0d-7e13-4e4e-a4bd-4d9c00b9856a DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"uuid": "1ab63b9e-66d7-4cd7-8618-dddd0f9f7881", "created_at": "2024-05-14T11:54:21.480539+00:00", "updated_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: {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00014_owner_reader_can_get_their_node [0.051519s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00018_third_party_admin_cant_get_node [0.048817s] ... ok DEBUG util.py:443: /usr/lib/python3.9/site-packages/oslo_policy/policy.py:1075: UserWarning: Policy baremetal:deploy_template:update failed scope check. The token used to make the request was project scoped but the policy requires ['system'] scope. This behavior may change in the future where using the intended scope is required DEBUG util.py:443: warnings.warn(msg) DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00277_deploy_templates_deploy_template_id_patch_member [0.045541s] ... ok DEBUG util.py:443: /usr/lib/python3.9/site-packages/oslo_policy/policy.py:1075: UserWarning: Policy baremetal:chassis:create failed scope check. The token used to make the request was project scoped but the policy requires ['system'] scope. This behavior may change in the future where using the intended scope is required DEBUG util.py:443: warnings.warn(msg) DEBUG util.py:443: /usr/lib/python3.9/site-packages/oslo_policy/policy.py:1075: UserWarning: Policy baremetal:deploy_template:delete failed scope check. The token used to make the request was project scoped but the policy requires ['system'] scope. This behavior may change in the future where using the intended scope is required DEBUG util.py:443: warnings.warn(msg) DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00017_lessee_reader_cant_get_other_node [0.075979s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00279_deploy_templates_deploy_template_id_delete_admin [0.048884s] ... 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-31318ed4-6ee3-4d8f-a1f8-7fb640f704c6 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path get /v1/allocations DEBUG util.py:445: GET: /v1/allocations {} DEBUG util.py:445: GOT:Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-44145b43-8274-4899-b3ff-8ba375ea28f4 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"allocations": [{"uuid": "24d102a5-8c19-4fee-ad29-831d823f0586", "created_at": "2024-05-14T11:54:21.271977+00:00", "updated_at": null, "candidate_nodes": [], "extra": {}, "last_error": null, "name": null, "owner": null, "resource_class": "CUSTOM_TEST", "state": "allocating", "traits": [], "links": [{"href": "http://localhost/v1/allocations/24d102a5-8c19-4fee-ad29-831d823f0586", "rel": "self"}, {"href": "http://localhost/allocations/24d102a5-8c19-4fee-ad29-831d823f0586", "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-44145b43-8274-4899-b3ff-8ba375ea28f4 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"allocations": [{"uuid": "24d102a5-8c19-4fee-ad29-831d823f0586", "created_at": "2024-05-14T11:54:21.271977+00:00", "updated_at": null, "candidate_nodes": [], "extra": {}, "last_error": null, "name": null, "owner": null, "resource_class": "CUSTOM_TEST", "state": "allocating", "traits": [], "links": [{"href": "http://localhost/v1/allocations/24d102a5-8c19-4fee-ad29-831d823f0586", "rel": "self"}, {"href": "http://localhost/allocations/24d102a5-8c19-4fee-ad29-831d823f0586", "rel": "bookmark"}], "node_uuid": "22e26c0b-03f2-4d2e-ae87-c02d7f33c000"}]} DEBUG util.py:445: API ACL Testing Path get /v1/allocations/dd810a83-fcba-4d0d-adde-97251525dd39 DEBUG util.py:445: GET: /v1/allocations/dd810a83-fcba-4d0d-adde-97251525dd39 {} DEBUG util.py:445: GOT:Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-f6ed5bce-c2d7-4cd2-b8ac-120209e0616c DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"uuid": "dd810a83-fcba-4d0d-adde-97251525dd39", "created_at": "2024-05-14T11:54:21.364945+00:00", "updated_at": null, "candidate_nodes": [], "extra": {}, "last_error": null, "name": null, "owner": null, "resource_class": "CUSTOM_TEST", "state": "allocating", "traits": [], "links": [{"href": "http://localhost/v1/allocations/dd810a83-fcba-4d0d-adde-97251525dd39", "rel": "self"}, {"href": "http://localhost/allocations/dd810a83-fcba-4d0d-adde-97251525dd39", "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-f6ed5bce-c2d7-4cd2-b8ac-120209e0616c DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"uuid": "dd810a83-fcba-4d0d-adde-97251525dd39", "created_at": "2024-05-14T11:54:21.364945+00:00", "updated_at": null, "candidate_nodes": [], "extra": {}, "last_error": null, "name": null, "owner": null, "resource_class": "CUSTOM_TEST", "state": "allocating", "traits": [], "links": [{"href": "http://localhost/v1/allocations/dd810a83-fcba-4d0d-adde-97251525dd39", "rel": "self"}, {"href": "http://localhost/allocations/dd810a83-fcba-4d0d-adde-97251525dd39", "rel": "bookmark"}], "node_uuid": "22e26c0b-03f2-4d2e-ae87-c02d7f33c000"} DEBUG util.py:445: API ACL Testing Path get /v1/allocations/5c198ff4-cc0b-4aaf-b116-4f8a4cce7fc8 DEBUG util.py:445: GET: /v1/allocations/5c198ff4-cc0b-4aaf-b116-4f8a4cce7fc8 {} DEBUG util.py:445: GOT:Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-c978fe68-8ba2-4024-ab70-b24b240672ef DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"uuid": "5c198ff4-cc0b-4aaf-b116-4f8a4cce7fc8", "created_at": "2024-05-14T11:54:21.417595+00:00", "updated_at": null, "candidate_nodes": [], "extra": {}, "last_error": null, "name": null, "owner": null, "resource_class": "CUSTOM_TEST", "state": "allocating", "traits": [], "links": [{"href": "http://localhost/v1/allocations/5c198ff4-cc0b-4aaf-b116-4f8a4cce7fc8", "rel": "self"}, {"href": "http://localhost/allocations/5c198ff4-cc0b-4aaf-b116-4f8a4cce7fc8", "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-c978fe68-8ba2-4024-ab70-b24b240672ef DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"uuid": "5c198ff4-cc0b-4aaf-b116-4f8a4cce7fc8", "created_at": "2024-05-14T11:54:21.417595+00:00", "updated_at": null, "candidate_nodes": [], "extra": {}, "last_error": null, "name": null, "owner": null, "resource_class": "CUSTOM_TEST", "state": "allocating", "traits": [], "links": [{"href": "http://localhost/v1/allocations/5c198ff4-cc0b-4aaf-b116-4f8a4cce7fc8", "rel": "self"}, {"href": "http://localhost/allocations/5c198ff4-cc0b-4aaf-b116-4f8a4cce7fc8", "rel": "bookmark"}], "node_uuid": "22e26c0b-03f2-4d2e-ae87-c02d7f33c000"} DEBUG util.py:445: API ACL Testing Path delete /v1/allocations/49f286dd-5c85-47fb-9eca-d25c0733c49d DEBUG util.py:445: DELETE: /v1/allocations/49f286dd-5c85-47fb-9eca-d25c0733c49d DEBUG util.py:445: GOT:Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-738c490a-ac15-4a4d-a9fd-62d57ff81918 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-738c490a-ac15-4a4d-a9fd-62d57ff81918 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path get /v1/deploy_templates DEBUG util.py:445: GET: /v1/deploy_templates {} DEBUG util.py:445: GOT:Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-d989fe58-3ae5-4cba-af76-b1be94e78ab2 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"deploy_templates": [{"uuid": "915a4143-3934-4abc-b285-c894cfee0e98", "name": "CUSTOM_DT1", "links": [{"href": "http://localhost/v1/deploy_templates/915a4143-3934-4abc-b285-c894cfee0e98", "rel": "self"}, {"href": "http://localhost/deploy_templates/915a4143-3934-4abc-b285-c894cfee0e98", "rel": "bookmark"}]}]} DEBUG util.py:445: ACL Test GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-d989fe58-3ae5-4cba-af76-b1be94e78ab2 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"deploy_templates": [{"uuid": "915a4143-3934-4abc-b285-c894cfee0e98", "name": "CUSTOM_DT1", "links": [{"href": "http://localhost/v1/deploy_templates/915a4143-3934-4abc-b285-c894cfee0e98", "rel": "self"}, {"href": "http://localhost/deploy_templates/915a4143-3934-4abc-b285-c894cfee0e98", "rel": "bookmark"}]}]} DEBUG util.py:445: API ACL Testing Path post /v1/chassis DEBUG util.py:445: POST: /v1/chassis {'description': 'test-chassis'} DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00282_chassis_post_admin [0.065232s] ... ok DEBUG util.py:443: /usr/lib/python3.9/site-packages/oslo_policy/policy.py:1075: UserWarning: Policy baremetal:chassis:get failed scope check. The token used to make the request was project scoped but the policy requires ['system'] scope. This behavior may change in the future where using the intended scope is required DEBUG util.py:443: warnings.warn(msg) DEBUG util.py:443: /usr/lib/python3.9/site-packages/oslo_policy/policy.py:1075: UserWarning: Policy baremetal:deploy_template:delete failed scope check. The token used to make the request was project scoped but the policy requires ['system'] scope. This behavior may change in the future where using the intended scope is required DEBUG util.py:443: warnings.warn(msg) DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00023_third_party_admin_cannot_get_detail [0.075671s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00289_chassis_detail_get_member [0.065297s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00280_deploy_templates_deploy_template_id_delete_member [0.044473s] ... 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-fe7f5b0d-7e13-4e4e-a4bd-4d9c00b9856a DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"uuid": "1ab63b9e-66d7-4cd7-8618-dddd0f9f7881", "created_at": "2024-05-14T11:54:21.480539+00:00", "updated_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-e21da493-ce8d-4ce0-9fd5-6ca62f442630 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG 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-e21da493-ce8d-4ce0-9fd5-6ca62f442630 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path get /v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f 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-f0f71fca-2772-48f3-915f-0633bd3bf819 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"uuid": "38d5abed-c585-4fce-a57e-a2ffc2a2ec6f", "created_at": "2024-05-14T11:54:21.602046+00:00", "updated_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": {"content": "** Redacted - requires baremetal:node:get:driver_info permission. **"}, "driver_internal_info": {"content": "** Redacted - Requires baremetal:node:get:driver_internal_info permission. **"}, "extra": {}, "fault": null, "inspection_finished_at": null, "inspection_started_at": null, "inspect_interface": null, "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar"}, "instance_uuid": null, "last_error": "** Value Redacted - Requires baremetal:node:get:last_error permission. **", "lessee": "f11853c7-fa9c-4db3-a477-c9d8e0dbbf13", "maintenance": false, "maintenance_reason": null, "management_interface": null, "name": null, "network_data": {}, "network_interface": null, "owner": "70e5e25a-2ca2-4cb1-8ae8-7d8739cee205", "power_interface": null, "power_state": null, "properties": {"cpu_arch": "x86_64", "cpus": "8", "local_gb": "10", "memory_mb": "4096"}, "protected": false, "protected_reason": null, "provision_state": "available", "provision_updated_at": null, "raid_config": {}, "raid_interface": null, "rescue_interface": null, "reservation": "** Redacted - requires baremetal:node:get:reservation permission. **", "resource_class": null, "retired": false, "retired_reason": null, "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": "2ce1aa22-9b5f-4ed6-894f-d18ee0de1f2e", "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: {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00020_lessee_reader_cannot_get_restricted_fields [0.067611s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00281_deploy_templates_deploy_template_id_delete_observer [0.045457s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00292_chassis_chassis_id_get_member [0.071990s] ... ok DEBUG util.py:443: /usr/lib/python3.9/site-packages/oslo_policy/policy.py:1075: UserWarning: Policy baremetal:chassis:create failed scope check. The token used to make the request was project scoped but the policy requires ['system'] scope. This behavior may change in the future where using the intended scope is required DEBUG util.py:443: warnings.warn(msg) DEBUG util.py:445: GOT:Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-85549d3c-6b9e-4357-93e2-395f95ef307f DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"uuid": "38d5abed-c585-4fce-a57e-a2ffc2a2ec6f", "created_at": "2024-05-14T11:54:21.490776+00:00", "updated_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": {"content": "** Redacted - requires baremetal:node:get:driver_info permission. **"}, "driver_internal_info": {"content": "** Redacted - Requires baremetal:node:get:driver_internal_info permission. **"}, "extra": {}, "fault": null, "inspection_finished_at": null, "inspection_started_at": null, "inspect_interface": null, "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar"}, "instance_uuid": null, "last_error": "** Value Redacted - Requires baremetal:node:get:last_error permission. **", "lessee": "f11853c7-fa9c-4db3-a477-c9d8e0dbbf13", "maintenance": false, "maintenance_reason": null, "management_interface": null, "name": null, "network_data": {}, "network_interface": null, "owner": "70e5e25a-2ca2-4cb1-8ae8-7d8739cee205", "power_interface": null, "power_state": null, "properties": {"cpu_arch": "x86_64", "cpus": "8", "local_gb": "10", "memory_mb": "4096"}, "protected": false, "protected_reason": null, "provision_state": "available", "provision_updated_at": null, "raid_config": {}, "raid_interface": null, "rescue_interface": null, "reservation": "** Redacted - requires baremetal:node:get:reservation permission. **", "resource_class": null, "retired": false, "retired_reason": null, "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": "a3ffed7c-ad4e-4f13-8e75-fc58397d790c", "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-85549d3c-6b9e-4357-93e2-395f95ef307f DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"uuid": "38d5abed-c585-4fce-a57e-a2ffc2a2ec6f", "created_at": "2024-05-14T11:54:21.490776+00:00", "updated_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": {"content": "** Redacted - requires baremetal:node:get:driver_info permission. **"}, "driver_internal_info": {"content": "** Redacted - Requires baremetal:node:get:driver_internal_info permission. **"}, "extra": {}, "fault": null, "inspection_finished_at": null, "inspection_started_at": null, "inspect_interface": null, "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar"}, "instance_uuid": null, "last_error": "** Value Redacted - Requires baremetal:node:get:last_error permission. **", "lessee": "f11853c7-fa9c-4db3-a477-c9d8e0dbbf13", "maintenance": false, "maintenance_reason": null, "management_interface": null, "name": null, "network_data": {}, "network_interface": null, "owner": "70e5e25a-2ca2-4cb1-8ae8-7d8739cee205", "power_interface": null, "power_state": null, "properties": {"cpu_arch": "x86_64", "cpus": "8", "local_gb": "10", "memory_mb": "4096"}, "protected": false, "protected_reason": null, "provision_state": "available", "provision_updated_at": null, "raid_config": {}, "raid_interface": null, "rescue_interface": null, "reservation": "** Redacted - requires baremetal:node:get:reservation permission. **", "resource_class": null, "retired": false, "retired_reason": null, "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": "a3ffed7c-ad4e-4f13-8e75-fc58397d790c", "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f/ports", "rel": "self"}, {"href": "http://localhost/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f/states", "rel": "self"}, {"href": "http://localhost/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f/volume", "rel": "self"}, {"href": "http://localhost/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f/volume", "rel": "bookmark"}]} DEBUG util.py:445: API ACL Testing Path get /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 DEBUG util.py:445: GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 {} DEBUG util.py:445: GOT:Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-32ebdc34-0570-470f-85ee-f9fad29bebc4 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG 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-32ebdc34-0570-470f-85ee-f9fad29bebc4 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path get /v1/nodes/detail DEBUG util.py:445: GET: /v1/nodes/detail {} DEBUG util.py:445: GOT:Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-d5d73476-2013-486e-9a2f-a438097d9a3f DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"nodes": []} DEBUG util.py:445: ACL Test GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-d5d73476-2013-486e-9a2f-a438097d9a3f DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"nodes": []} DEBUG util.py:445: API ACL Testing Path patch /v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881 DEBUG util.py:445: PATCH: /v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881 [{'op': 'replace', 'path': '/driver', 'value': 'fake-hardware'}, {'op': 'replace', 'path': '/power_interface', 'value': 'fake'}] DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00031_owner_admin_can_change_drivers [0.067827s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00284_chassis_post_observer [0.045876s] ... ok DEBUG util.py:443: /usr/lib/python3.9/site-packages/oslo_policy/policy.py:1075: UserWarning: Policy baremetal:chassis:get failed scope check. The token used to make the request was project scoped but the policy requires ['system'] scope. This behavior may change in the future where using the intended scope is required DEBUG util.py:443: warnings.warn(msg) DEBUG util.py:445: ACL Test GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-f0f71fca-2772-48f3-915f-0633bd3bf819 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"uuid": "38d5abed-c585-4fce-a57e-a2ffc2a2ec6f", "created_at": "2024-05-14T11:54:21.602046+00:00", "updated_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": {"content": "** Redacted - requires baremetal:node:get:driver_info permission. **"}, "driver_internal_info": {"content": "** Redacted - Requires baremetal:node:get:driver_internal_info permission. **"}, "extra": {}, "fault": null, "inspection_finished_at": null, "inspection_started_at": null, "inspect_interface": null, "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar"}, "instance_uuid": null, "last_error": "** Value Redacted - Requires baremetal:node:get:last_error permission. **", "lessee": "f11853c7-fa9c-4db3-a477-c9d8e0dbbf13", "maintenance": false, "maintenance_reason": null, "management_interface": null, "name": null, "network_data": {}, "network_interface": null, "owner": "70e5e25a-2ca2-4cb1-8ae8-7d8739cee205", "power_interface": null, "power_state": null, "properties": {"cpu_arch": "x86_64", "cpus": "8", "local_gb": "10", "memory_mb": "4096"}, "protected": false, "protected_reason": null, "provision_state": "available", "provision_updated_at": null, "raid_config": {}, "raid_interface": null, "rescue_interface": null, "reservation": "** Redacted - requires baremetal:node:get:reservation permission. **", "resource_class": null, "retired": false, "retired_reason": null, "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": "2ce1aa22-9b5f-4ed6-894f-d18ee0de1f2e", "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-778287cd-3568-4196-b075-5f3add34fc20 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"nodes": [{"uuid": "1ab63b9e-66d7-4cd7-8618-dddd0f9f7881", "created_at": "2024-05-14T11:54:21.648795+00:00", "updated_at": null, "automated_clean": null, "bios_interface": null, "boot_interface": null, "boot_mode": null, "clean_step": {}, "conductor_group": "", "console_enabled": false, "console_interface": null, "deploy_interface": null, "deploy_step": {}, "description": null, "driver": "fake-hardware", "driver_info": {"foo": "bar", "fake_password": "******"}, "driver_internal_info": {"private_state": "secret value"}, "extra": {}, "fault": null, "inspection_finished_at": null, "inspection_started_at": null, "inspect_interface": null, "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar"}, "instance_uuid": null, "last_error": "meow", "lessee": null, "maintenance": false, "maintenance_reason": null, "management_interface": null, "name": null, "network_data": {}, "network_interface": null, "owner": "70e5e25a-2ca2-4cb1-8ae8-7d8739cee205", "power_interface": null, "power_state": null, "properties": {"cpu_arch": "x86_64", "cpus": "8", "local_gb": "10", "memory_mb": "4096"}, "protected": false, "protected_reason": null, "provision_state": "available", "provision_updated_at": null, "raid_config": {}, "raid_interface": null, "rescue_interface": null, "reservation": "lolcats", "resource_class": null, "retired": false, "retired_reason": null, "secure_boot": null, "storage_interface": null, "target_power_state": null, "target_provision_state": null, "target_raid_config": {}, "traits": [], "vendor_interface": null, "links": [{"href": "http://localhost/v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881", "rel": "self"}, {"href": "http://localhost/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881", "rel": "bookmark"}], "conductor": null, "allocation_uuid": null, "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/ports", "rel": "self"}, {"href": "http://localhost/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/states", "rel": "self"}, {"href": "http://localhost/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/volume", "rel": "self"}, {"href": "http://localhost/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/volume", "rel": "bookmark"}]}, {"uuid": "38d5abed-c585-4fce-a57e-a2ffc2a2ec6f", "created_at": "2024-05-14T11:54:21.655831+00:00", "updated_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": "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": "f86ae15b-4ef5-4b80-92f9-45dff42ced5d", "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: {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00021_owner_reader_can_get_detail [0.058897s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00024_owner_admin_can_patch_node_extra [0.073390s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00286_chassis_get_member [0.045431s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00025_owner_member_can_patch_node_extra [0.087404s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00004_third_party_admin_cannot_post_nodes [0.086086s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00036_owner_admin_can_change_lessee [0.092883s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00006_owner_reader_cannot_post_reader [0.062789s] ... 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-3cd3202e-2edc-46b6-9202-91463c27209c DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:deploy_template:get\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-3cd3202e-2edc-46b6-9202-91463c27209c DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:deploy_template:get\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path patch /v1/deploy_templates/4ea1fe5b-ebf1-446e-81fd-25f6c891c171 DEBUG util.py:445: PATCH: /v1/deploy_templates/4ea1fe5b-ebf1-446e-81fd-25f6c891c171 [{'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-3a45899a-441c-4475-92c4-dfac5a1c14ec DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"uuid": "4ea1fe5b-ebf1-446e-81fd-25f6c891c171", "created_at": "2024-05-14T11:54:21.531386+00:00", "updated_at": "2024-05-14T11:54:21.556092+00:00", "name": "CUSTOM_MAGIC", "extra": {}, "links": [{"href": "http://localhost/v1/deploy_templates/4ea1fe5b-ebf1-446e-81fd-25f6c891c171", "rel": "self"}, {"href": "http://localhost/deploy_templates/4ea1fe5b-ebf1-446e-81fd-25f6c891c171", "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-3a45899a-441c-4475-92c4-dfac5a1c14ec DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"uuid": "4ea1fe5b-ebf1-446e-81fd-25f6c891c171", "created_at": "2024-05-14T11:54:21.531386+00:00", "updated_at": "2024-05-14T11:54:21.556092+00:00", "name": "CUSTOM_MAGIC", "extra": {}, "links": [{"href": "http://localhost/v1/deploy_templates/4ea1fe5b-ebf1-446e-81fd-25f6c891c171", "rel": "self"}, {"href": "http://localhost/deploy_templates/4ea1fe5b-ebf1-446e-81fd-25f6c891c171", "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/cded74bb-9a2b-480f-8eff-62143a0651f7 DEBUG util.py:445: PATCH: /v1/deploy_templates/cded74bb-9a2b-480f-8eff-62143a0651f7 [{'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-421a0df3-ce90-4cbe-b562-2f71ec8514d8 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:deploy_template:update\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-421a0df3-ce90-4cbe-b562-2f71ec8514d8 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:deploy_template:update\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path delete /v1/deploy_templates/5fd4c410-ced4-44f7-8357-8ee9fa9b93fb DEBUG util.py:445: DELETE: /v1/deploy_templates/5fd4c410-ced4-44f7-8357-8ee9fa9b93fb DEBUG util.py:445: GOT:Response: 204 No Content DEBUG util.py:445: Openstack-Request-Id: req-a2c1f6ab-f2ef-4dfe-8cf2-50bdc9a0294f DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: ACL Test GOT Response: 204 No Content DEBUG util.py:445: Openstack-Request-Id: req-a2c1f6ab-f2ef-4dfe-8cf2-50bdc9a0294f DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: API ACL Testing Path delete /v1/deploy_templates/92e71de9-8e8e-483d-b08b-6287eb30b827 DEBUG util.py:445: DELETE: /v1/deploy_templates/92e71de9-8e8e-483d-b08b-6287eb30b827 DEBUG util.py:445: GOT:Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-b70e9892-50ef-4743-94dd-02eef69fae3d DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:deploy_template:delete\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-b70e9892-50ef-4743-94dd-02eef69fae3d DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:deploy_template:delete\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path delete /v1/deploy_templates/483cf534-5701-40d5-880a-d2d70d06acd5 DEBUG util.py:445: DELETE: /v1/deploy_templates/483cf534-5701-40d5-880a-d2d70d06acd5 DEBUG util.py:445: GOT:Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-e5dc5bbd-4c38-4cb5-aa48-a544ffaceae9 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:deploy_template:delete\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-e5dc5bbd-4c38-4cb5-aa48-a544ffaceae9 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:deploy_template:delete\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path post /v1/chassis DEBUG util.py:445: POST: /v1/chassis {'description': 'test-chassis'} DEBUG util.py:445: GOT:Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-44a22d45-10e7-4d85-8c29-4ddb82b2ea50 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:chassis:create\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-44a22d45-10e7-4d85-8c29-4ddb82b2ea50 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:chassis:create\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path get /v1/chassis DEBUG util.py:445: GET: /v1/chassis {} DEBUG util.py:445: GOT:Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-5aed7937-2c93-48da-8d9d-63167cd905ae DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:chassis:get\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-5aed7937-2c93-48da-8d9d-63167cd905ae DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:chassis:get\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path get /v1/chassis/detail DEBUG util.py:445: GET: /v1/chassis/detail {} DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00290_chassis_detail_get_observer [0.055585s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00042_lessee_member_cannot_patch_network_data [0.069772s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00007_owner_admin_can_get_node [0.052433s] ... 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-778287cd-3568-4196-b075-5f3add34fc20 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"nodes": [{"uuid": "1ab63b9e-66d7-4cd7-8618-dddd0f9f7881", "created_at": "2024-05-14T11:54:21.648795+00:00", "updated_at": null, "automated_clean": null, "bios_interface": null, "boot_interface": null, "boot_mode": null, "clean_step": {}, "conductor_group": "", "console_enabled": false, "console_interface": null, "deploy_interface": null, "deploy_step": {}, "description": null, "driver": "fake-hardware", "driver_info": {"foo": "bar", "fake_password": "******"}, "driver_internal_info": {"private_state": "secret value"}, "extra": {}, "fault": null, "inspection_finished_at": null, "inspection_started_at": null, "inspect_interface": null, "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar"}, "instance_uuid": null, "last_error": "meow", "lessee": null, "maintenance": false, "maintenance_reason": null, "management_interface": null, "name": null, "network_data": {}, "network_interface": null, "owner": "70e5e25a-2ca2-4cb1-8ae8-7d8739cee205", "power_interface": null, "power_state": null, "properties": {"cpu_arch": "x86_64", "cpus": "8", "local_gb": "10", "memory_mb": "4096"}, "protected": false, "protected_reason": null, "provision_state": "available", "provision_updated_at": null, "raid_config": {}, "raid_interface": null, "rescue_interface": null, "reservation": "lolcats", "resource_class": null, "retired": false, "retired_reason": null, "secure_boot": null, "storage_interface": null, "target_power_state": null, "target_provision_state": null, "target_raid_config": {}, "traits": [], "vendor_interface": null, "links": [{"href": "http://localhost/v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881", "rel": "self"}, {"href": "http://localhost/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881", "rel": "bookmark"}], "conductor": null, "allocation_uuid": null, "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/ports", "rel": "self"}, {"href": "http://localhost/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/states", "rel": "self"}, {"href": "http://localhost/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/volume", "rel": "self"}, {"href": "http://localhost/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/volume", "rel": "bookmark"}]}, {"uuid": "38d5abed-c585-4fce-a57e-a2ffc2a2ec6f", "created_at": "2024-05-14T11:54:21.655831+00:00", "updated_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": "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": "f86ae15b-4ef5-4b80-92f9-45dff42ced5d", "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-573e0e43-67a8-423c-b79d-f9adc6ee5107 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-573e0e43-67a8-423c-b79d-f9adc6ee5107 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path patch /v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881 DEBUG util.py:445: PATCH: /v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881 [{'op': 'replace', 'path': '/extra', 'value': {'test': 'testing'}}] DEBUG util.py:445: GOT:Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-d92c143b-54fd-428e-b936-29f3f675efeb DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-d92c143b-54fd-428e-b936-29f3f675efeb DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path patch /v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f DEBUG util.py:445: PATCH: /v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f [{'op': 'replace', 'path': '/extra', 'value': {'test': 'testing'}}] DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00028_lessee_member_can_patch_node_extra [0.069089s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00029_lessee_reader_cannot_patch_node_extra [0.055791s] ... ok DEBUG util.py:443: /usr/lib/python3.9/site-packages/oslo_policy/policy.py:1075: UserWarning: Policy baremetal:chassis:get failed scope check. The token used to make the request was project scoped but the policy requires ['system'] scope. This behavior may change in the future where using the intended scope is required DEBUG util.py:443: warnings.warn(msg) DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00291_chassis_chassis_id_get_admin [0.094171s] ... ok DEBUG util.py:443: /usr/lib/python3.9/site-packages/oslo_policy/policy.py:1075: UserWarning: Policy baremetal:chassis:update failed scope check. The token used to make the request was project scoped but the policy requires ['system'] scope. This behavior may change in the future where using the intended scope is required DEBUG util.py:443: warnings.warn(msg) DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00030_third_party_admin_cannot_patch_node_extra [0.052066s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00046_owner_member_can_patch_node_instance_info [0.091101s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00294_chassis_chassis_id_patch_admin [0.051711s] ... 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/chassis/f4415973-a5b3-426b-85a8-0e9d3cb31f15 DEBUG util.py:445: Openstack-Request-Id: req-5d6b8fe7-8f9b-488a-a1f4-58ee4c7faa7f DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"uuid": "f4415973-a5b3-426b-85a8-0e9d3cb31f15", "created_at": "2024-05-14T11:54:21.623258+00:00", "updated_at": null, "description": "test-chassis", "extra": {}, "links": [{"href": "http://localhost/v1/chassis/f4415973-a5b3-426b-85a8-0e9d3cb31f15", "rel": "self"}, {"href": "http://localhost/chassis/f4415973-a5b3-426b-85a8-0e9d3cb31f15", "rel": "bookmark"}], "nodes": [[{"href": "http://localhost/v1/chassis/f4415973-a5b3-426b-85a8-0e9d3cb31f15/nodes", "rel": "self"}, {"href": "http://localhost/chassis/f4415973-a5b3-426b-85a8-0e9d3cb31f15/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/f4415973-a5b3-426b-85a8-0e9d3cb31f15 DEBUG util.py:445: Openstack-Request-Id: req-5d6b8fe7-8f9b-488a-a1f4-58ee4c7faa7f DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"uuid": "f4415973-a5b3-426b-85a8-0e9d3cb31f15", "created_at": "2024-05-14T11:54:21.623258+00:00", "updated_at": null, "description": "test-chassis", "extra": {}, "links": [{"href": "http://localhost/v1/chassis/f4415973-a5b3-426b-85a8-0e9d3cb31f15", "rel": "self"}, {"href": "http://localhost/chassis/f4415973-a5b3-426b-85a8-0e9d3cb31f15", "rel": "bookmark"}], "nodes": [[{"href": "http://localhost/v1/chassis/f4415973-a5b3-426b-85a8-0e9d3cb31f15/nodes", "rel": "self"}, {"href": "http://localhost/chassis/f4415973-a5b3-426b-85a8-0e9d3cb31f15/nodes", "rel": "bookmark"}]]} DEBUG util.py:445: API ACL Testing Path get /v1/chassis/detail DEBUG util.py:445: GET: /v1/chassis/detail {} DEBUG util.py:445: GOT:Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-090fda9c-551d-43c1-b7cf-e8f046a00845 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:chassis:get\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-090fda9c-551d-43c1-b7cf-e8f046a00845 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:chassis:get\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path get /v1/chassis/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-dbf84d66-16fe-4a8c-b52f-e03f5f7cb02b DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:chassis:get\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-dbf84d66-16fe-4a8c-b52f-e03f5f7cb02b DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:chassis:get\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path post /v1/nodes DEBUG util.py:445: POST: /v1/nodes {'name': 'node', 'driver': 'fake-driverz'} DEBUG util.py:445: GOT:Response: 500 Internal Server Error DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-7f668331-c7f0-4b0b-a919-9047f09ce202 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"baremetal:node:create 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-7f668331-c7f0-4b0b-a919-9047f09ce202 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"baremetal:node:create requires a scope of ['system'], request was made with project scope.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path post /v1/nodes DEBUG util.py:445: POST: /v1/nodes {'name': 'node', 'driver': 'fake-driverz'} DEBUG util.py:445: GOT:Response: 500 Internal Server Error DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-c582bfe9-7a73-47f0-b277-11a681c08bec DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"baremetal:node:create 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-c582bfe9-7a73-47f0-b277-11a681c08bec DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"baremetal:node:create requires a scope of ['system'], request was made with project scope.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path get /v1/nodes DEBUG util.py:445: GET: /v1/nodes {} DEBUG util.py:445: GOT:Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-d89531be-f6fc-42bd-8695-731cc762a3cf DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"nodes": [{"uuid": "1ab63b9e-66d7-4cd7-8618-dddd0f9f7881", "instance_uuid": null, "maintenance": false, "power_state": null, "provision_state": "available", "name": null, "links": [{"href": "http://localhost/v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881", "rel": "self"}, {"href": "http://localhost/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881", "rel": "bookmark"}]}, {"uuid": "38d5abed-c585-4fce-a57e-a2ffc2a2ec6f", "instance_uuid": null, "maintenance": false, "power_state": null, "provision_state": "available", "name": null, "links": [{"href": "http://localhost/v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f", "rel": "self"}, {"href": "http://localhost/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f", "rel": "bookmark"}]}]} DEBUG util.py:445: ACL Test GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-d89531be-f6fc-42bd-8695-731cc762a3cf DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"nodes": [{"uuid": "1ab63b9e-66d7-4cd7-8618-dddd0f9f7881", "instance_uuid": null, "maintenance": false, "power_state": null, "provision_state": "available", "name": null, "links": [{"href": "http://localhost/v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881", "rel": "self"}, {"href": "http://localhost/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881", "rel": "bookmark"}]}, {"uuid": "38d5abed-c585-4fce-a57e-a2ffc2a2ec6f", "instance_uuid": null, "maintenance": false, "power_state": null, "provision_state": "available", "name": null, "links": [{"href": "http://localhost/v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f", "rel": "self"}, {"href": "http://localhost/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f", "rel": "bookmark"}]}]} DEBUG util.py:445: API ACL Testing Path get /v1/nodes DEBUG util.py:445: GET: /v1/nodes {} DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00010_lessee_admin_can_get_node [0.053971s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00012_lessee_reader_can_get_node [0.048147s] ... ok DEBUG util.py:443: /usr/lib/python3.9/site-packages/oslo_policy/policy.py:1075: UserWarning: Policy baremetal:chassis:delete failed scope check. The token used to make the request was project scoped but the policy requires ['system'] scope. This behavior may change in the future where using the intended scope is required DEBUG util.py:443: warnings.warn(msg) DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00038_lessee_member_can_set_protected [0.065523s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00297_chassis_chassis_id_delete_admin [0.053078s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00047_owner_reader_can_patch_node_instance_info [0.082697s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00040_lessee_member_cannot_patch_driver_info [0.048043s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACModelBeforeScopes.test_rbac_legacy_00301_node_history_get_member [0.048609s] ... 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-b2365e8a-3bd7-41aa-9cff-f09a58158add DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"nodes": [{"uuid": "38d5abed-c585-4fce-a57e-a2ffc2a2ec6f", "instance_uuid": null, "maintenance": false, "power_state": null, "provision_state": "available", "name": null, "links": [{"href": "http://localhost/v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f", "rel": "self"}, {"href": "http://localhost/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f", "rel": "bookmark"}]}]} DEBUG util.py:445: ACL Test GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-b2365e8a-3bd7-41aa-9cff-f09a58158add DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"nodes": [{"uuid": "38d5abed-c585-4fce-a57e-a2ffc2a2ec6f", "instance_uuid": null, "maintenance": false, "power_state": null, "provision_state": "available", "name": null, "links": [{"href": "http://localhost/v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f", "rel": "self"}, {"href": "http://localhost/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f", "rel": "bookmark"}]}]} DEBUG util.py:445: API ACL Testing Path get /v1/nodes DEBUG util.py:445: GET: /v1/nodes {} DEBUG util.py:445: GOT:Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-6f97c6f4-c6be-4a9a-88e4-41fa0efe22c0 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"nodes": [{"uuid": "38d5abed-c585-4fce-a57e-a2ffc2a2ec6f", "instance_uuid": null, "maintenance": false, "power_state": null, "provision_state": "available", "name": null, "links": [{"href": "http://localhost/v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f", "rel": "self"}, {"href": "http://localhost/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f", "rel": "bookmark"}]}]} DEBUG util.py:445: ACL Test GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-6f97c6f4-c6be-4a9a-88e4-41fa0efe22c0 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"nodes": [{"uuid": "38d5abed-c585-4fce-a57e-a2ffc2a2ec6f", "instance_uuid": null, "maintenance": false, "power_state": null, "provision_state": "available", "name": null, "links": [{"href": "http://localhost/v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f", "rel": "self"}, {"href": "http://localhost/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f", "rel": "bookmark"}]}]} DEBUG util.py:445: API ACL Testing Path get /v1/nodes/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-9b9fe18d-86f3-41ee-ad33-06a3b3826392 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"nodes": [{"uuid": "38d5abed-c585-4fce-a57e-a2ffc2a2ec6f", "created_at": "2024-05-14T11:54:22.097650+00:00", "updated_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": {"content": "** Redacted - requires baremetal:node:get:driver_info permission. **"}, "driver_internal_info": {"content": "** Redacted - Requires baremetal:node:get:driver_internal_info permission. **"}, "extra": {}, "fault": null, "inspection_finished_at": null, "inspection_started_at": null, "inspect_interface": null, "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar"}, "instance_uuid": null, "last_error": "** Value Redacted - Requires baremetal:node:get:last_error permission. **", "lessee": "f11853c7-fa9c-4db3-a477-c9d8e0dbbf13", "maintenance": false, "maintenance_reason": null, "management_interface": null, "name": null, "network_data": {}, "network_interface": null, "owner": "70e5e25a-2ca2-4cb1-8ae8-7d8739cee205", "power_interface": null, "power_state": null, "properties": {"cpu_arch": "x86_64", "cpus": "8", "local_gb": "10", "memory_mb": "4096"}, "protected": false, "protected_reason": null, "provision_state": "available", "provision_updated_at": null, "raid_config": {}, "raid_interface": null, "rescue_interface": null, "reservation": "** Redacted - requires baremetal:node:get:reservation permission. **", "resource_class": null, "retired": false, "retired_reason": null, "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": "e437ae3a-1389-48ce-9af8-337f5c8ddc85", "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: {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00022_lessee_reader_can_get_detail [0.055282s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00041_lessee_member_cannot_patch_properties [0.048022s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00048_lessee_admin_can_patch_node_instance_info [0.087868s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00032_owner_member_can_patch_all_the_things [0.070322s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00003_lessee_admin_cannot_post_nodes [0.059578s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00043_lessee_member_cannot_patch_name [0.047662s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00049_lessee_member_cannot_patch_node_instance_info [0.050476s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00034_lessee_admin_cannot_change_lessee [0.050896s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00059_third_party_admin_cannot_validate_node [0.047372s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00039_lessee_member_cannot_patch_instance_info [0.048619s] ... 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-67c1fa85-26d8-4fde-ad2e-dccddabfb625 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"chassis": [{"uuid": "e74c40e0-d825-11e2-a28f-0800200c9a66", "created_at": "2024-05-14T11:54:21.862342+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-67c1fa85-26d8-4fde-ad2e-dccddabfb625 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"chassis": [{"uuid": "e74c40e0-d825-11e2-a28f-0800200c9a66", "created_at": "2024-05-14T11:54:21.862342+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-7d9a1ad8-4ca8-4ce1-b230-d83c6c4900bf DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"uuid": "e74c40e0-d825-11e2-a28f-0800200c9a66", "created_at": "2024-05-14T11:54:21.924182+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-7d9a1ad8-4ca8-4ce1-b230-d83c6c4900bf DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"uuid": "e74c40e0-d825-11e2-a28f-0800200c9a66", "created_at": "2024-05-14T11:54:21.924182+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-429694bb-f995-4bb7-bed9-076c09a110bb DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"uuid": "e74c40e0-d825-11e2-a28f-0800200c9a66", "created_at": "2024-05-14T11:54:22.014823+00:00", "updated_at": "2024-05-14T11:54:22.036114+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-429694bb-f995-4bb7-bed9-076c09a110bb DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"uuid": "e74c40e0-d825-11e2-a28f-0800200c9a66", "created_at": "2024-05-14T11:54:22.014823+00:00", "updated_at": "2024-05-14T11:54:22.036114+00:00", "description": "meow", "extra": {}, "links": [{"href": "http://localhost/v1/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66", "rel": "self"}, {"href": "http://localhost/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66", "rel": "bookmark"}], "nodes": [[{"href": "http://localhost/v1/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66/nodes", "rel": "self"}, {"href": "http://localhost/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66/nodes", "rel": "bookmark"}]]} DEBUG util.py:445: API ACL Testing Path delete /v1/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66 DEBUG util.py:445: DELETE: /v1/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66 DEBUG util.py:445: GOT:Response: 204 No Content DEBUG util.py:445: Openstack-Request-Id: req-b3e521b4-babb-4561-bd97-f10d29782810 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: ACL Test GOT Response: 204 No Content DEBUG util.py:445: Openstack-Request-Id: req-b3e521b4-babb-4561-bd97-f10d29782810 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: API ACL Testing Path get /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/history DEBUG util.py:445: GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/history {} DEBUG util.py:445: GOT:Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-3c81dc6a-f641-419b-b898-278beb4129e8 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG 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-3c81dc6a-f641-419b-b898-278beb4129e8 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path post /v1/nodes DEBUG util.py:445: POST: /v1/nodes {'name': 'node', 'driver': 'fake-driverz'} DEBUG util.py:445: GOT:Response: 500 Internal Server Error DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-bfb03aee-389c-4bc2-9dfc-4b61f9dd16d6 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"baremetal:node:create 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-bfb03aee-389c-4bc2-9dfc-4b61f9dd16d6 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"baremetal:node:create requires a scope of ['system'], request was made with project scope.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path post /v1/nodes DEBUG util.py:445: POST: /v1/nodes {'name': 'node', 'driver': 'fake-driverz'} DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00005_owner_member_cannot_post_nodes [0.057826s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00015_owner_reader_cannot_get_other_node [0.047503s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00044_lessee_member_cannot_patch_retired [0.048163s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00019_owner_reader_can_get_restricted_fields [0.055176s] ... 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-5ed62fcd-47c1-4701-adb8-4cd6be7274d0 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-5ed62fcd-47c1-4701-adb8-4cd6be7274d0 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path patch /v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f DEBUG util.py:445: PATCH: /v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f [{'op': 'replace', 'path': '/extra', 'value': {'test': 'testing'}}] DEBUG util.py:445: GOT:Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-79b9a0db-9292-4bce-b687-cfcfa4a63d7a DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:update_extra\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-79b9a0db-9292-4bce-b687-cfcfa4a63d7a DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:update_extra\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path patch /v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881 DEBUG util.py:445: PATCH: /v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881 [{'op': 'replace', 'path': '/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-72af90a7-30e5-4eeb-b5dc-e85ddf5ebf53 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1ab63b9e-66d7-4cd7-8618-dddd0f9f7881 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-72af90a7-30e5-4eeb-b5dc-e85ddf5ebf53 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1ab63b9e-66d7-4cd7-8618-dddd0f9f7881 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path patch /v1/nodes/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-0c40e5df-859a-4078-808e-e821faeecf2f DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-0c40e5df-859a-4078-808e-e821faeecf2f DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path patch /v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f DEBUG util.py:445: PATCH: /v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f [{'op': 'replace', 'path': '/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-e8c988c1-785f-422f-bef9-e2da1503d2bc DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:update:driver_info\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-e8c988c1-785f-422f-bef9-e2da1503d2bc DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:update:driver_info\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path patch /v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f DEBUG util.py:445: PATCH: /v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f [{'op': 'replace', 'path': '/properties', 'value': {'test': 'testing'}}] DEBUG util.py:445: GOT:Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-6ed15e09-8474-476c-b334-fca6fba4adda DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:update:properties\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-6ed15e09-8474-476c-b334-fca6fba4adda DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:update:properties\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path patch /v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f DEBUG util.py:445: PATCH: /v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f [{'op': 'replace', 'path': '/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-1a524ada-5d8f-4bd7-8552-871fbf2d01e4 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:update:name\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-1a524ada-5d8f-4bd7-8552-871fbf2d01e4 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:update:name\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path get /v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/validate DEBUG util.py:445: GET: /v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/validate {} DEBUG util.py:445: GOT:Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-e6da1e25-a293-4612-a209-b51739e15d07 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1ab63b9e-66d7-4cd7-8618-dddd0f9f7881 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-e6da1e25-a293-4612-a209-b51739e15d07 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1ab63b9e-66d7-4cd7-8618-dddd0f9f7881 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path put /v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/maintenance DEBUG util.py:445: PUT: /v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/maintenance None DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00060_owner_admin_can_set_maintenance [0.060284s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00070_owner_admin_can_set_boot_device [0.066829s] ... 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-f6410a13-02c0-4542-8bd7-bc25e690139c DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"baremetal:node:create 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-f6410a13-02c0-4542-8bd7-bc25e690139c DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"baremetal:node:create requires a scope of ['system'], request was made with project scope.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path get /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 DEBUG util.py:445: GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 {} DEBUG util.py:445: GOT:Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-ec086348-8d5d-4f30-bf7b-8eb00eaf1eb6 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG 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-ec086348-8d5d-4f30-bf7b-8eb00eaf1eb6 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"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-c6fbb94e-2e2e-4821-9167-7abe1d2f4510 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"uuid": "1ab63b9e-66d7-4cd7-8618-dddd0f9f7881", "created_at": "2024-05-14T11:54:22.330169+00:00", "updated_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-c6fbb94e-2e2e-4821-9167-7abe1d2f4510 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"uuid": "1ab63b9e-66d7-4cd7-8618-dddd0f9f7881", "created_at": "2024-05-14T11:54:22.330169+00:00", "updated_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 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: {1} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00026_owner_reader_cannot_patch_node_extra [0.053000s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00071_lessee_admin_cannot_set_boot_device [0.049588s] ... 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-9b9fe18d-86f3-41ee-ad33-06a3b3826392 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"nodes": [{"uuid": "38d5abed-c585-4fce-a57e-a2ffc2a2ec6f", "created_at": "2024-05-14T11:54:22.097650+00:00", "updated_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": {"content": "** Redacted - requires baremetal:node:get:driver_info permission. **"}, "driver_internal_info": {"content": "** Redacted - Requires baremetal:node:get:driver_internal_info permission. **"}, "extra": {}, "fault": null, "inspection_finished_at": null, "inspection_started_at": null, "inspect_interface": null, "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar"}, "instance_uuid": null, "last_error": "** Value Redacted - Requires baremetal:node:get:last_error permission. **", "lessee": "f11853c7-fa9c-4db3-a477-c9d8e0dbbf13", "maintenance": false, "maintenance_reason": null, "management_interface": null, "name": null, "network_data": {}, "network_interface": null, "owner": "70e5e25a-2ca2-4cb1-8ae8-7d8739cee205", "power_interface": null, "power_state": null, "properties": {"cpu_arch": "x86_64", "cpus": "8", "local_gb": "10", "memory_mb": "4096"}, "protected": false, "protected_reason": null, "provision_state": "available", "provision_updated_at": null, "raid_config": {}, "raid_interface": null, "rescue_interface": null, "reservation": "** Redacted - requires baremetal:node:get:reservation permission. **", "resource_class": null, "retired": false, "retired_reason": null, "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": "e437ae3a-1389-48ce-9af8-337f5c8ddc85", "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': '/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-5c290235-d45f-4ca6-8463-6940ea5ebc66 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-5c290235-d45f-4ca6-8463-6940ea5ebc66 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path patch /v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f DEBUG util.py:445: PATCH: /v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f [{'op': 'replace', 'path': '/lessee', 'value': '1234'}] DEBUG util.py:445: GOT:Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-e86b9ad2-2b20-4db4-a90d-cb9516a7679d DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:update:lessee\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-e86b9ad2-2b20-4db4-a90d-cb9516a7679d DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:update:lessee\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path patch /v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f DEBUG util.py:445: PATCH: /v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f [{'op': 'replace', 'path': '/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-c455c21d-1caf-4c5f-a51a-35c06dd5d58d DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:update_instance_info\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-c455c21d-1caf-4c5f-a51a-35c06dd5d58d DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:update_instance_info\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path patch /v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f DEBUG util.py:445: PATCH: /v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f [{'op': 'replace', 'path': '/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-a1abaf6f-d250-4f30-b40e-faa617fbdd56 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:update:retired\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-a1abaf6f-d250-4f30-b40e-faa617fbdd56 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:update:retired\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path patch /v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881 DEBUG util.py:445: PATCH: /v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881 [{'op': 'replace', 'path': '/instance_info', 'value': {'test': 'testing'}}] DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00045_owner_admin_can_patch_node_instance_info [0.064881s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00052_owner_admin_cannot_delete_nodes [0.047253s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00050_lessee_reader_can_patch_node_instance_info [0.241899s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00061_lessee_admin_can_set_maintenance [0.049115s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00076_lessee_admin_cannot_get_boot_device [0.048118s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00068_lessee_member_cannot_unset_maintenance [0.048224s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00081_third_party_admin_cannot_get_boot_device [0.048816s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00082_owner_admin_can_get_supported_boot_devices [0.048513s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00027_lessee_admin_can_patch_node_extra [0.171659s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00069_third_party_admin_cannot_unset_maintenance [0.047616s] ... 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-3a3cd236-8ad7-493d-9b09-8bfc3a57859b DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-3a3cd236-8ad7-493d-9b09-8bfc3a57859b DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path patch /v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881 DEBUG util.py:445: PATCH: /v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881 [{'op': 'replace', 'path': '/lessee', 'value': '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-344f7d1e-9d5d-4f97-b2e8-0f507ba1ac5d DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-344f7d1e-9d5d-4f97-b2e8-0f507ba1ac5d DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path patch /v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f DEBUG util.py:445: PATCH: /v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f [{'op': 'replace', 'path': '/network_data', 'value': {'links': [], 'networks': [], 'services': []}}] DEBUG util.py:445: GOT:Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-d80a4228-83ec-4c1c-8966-4fd314bef016 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:update:network_data\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-d80a4228-83ec-4c1c-8966-4fd314bef016 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:update:network_data\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path patch /v1/nodes/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-2c49d381-2bcc-45e9-bf05-c07cda8c1dad DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-2c49d381-2bcc-45e9-bf05-c07cda8c1dad DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path patch /v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881 DEBUG util.py:445: PATCH: /v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881 [{'op': 'replace', 'path': '/instance_info', 'value': {'test': 'testing'}}] DEBUG util.py:445: GOT:Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-97cb6443-4973-4b03-bcc3-c550e28155c7 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:update_instance_info\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-97cb6443-4973-4b03-bcc3-c550e28155c7 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:update_instance_info\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path patch /v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f DEBUG util.py:445: PATCH: /v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f [{'op': 'replace', 'path': '/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-2be55182-7f42-467e-aebf-eece5f5fad85 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-2be55182-7f42-467e-aebf-eece5f5fad85 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path patch /v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f DEBUG util.py:445: PATCH: /v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f [{'op': 'replace', 'path': '/instance_info', 'value': {'test': 'testing'}}] DEBUG util.py:445: GOT:Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-74df0c03-1100-4e32-a2be-ac99326c7ec8 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:update_instance_info\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-74df0c03-1100-4e32-a2be-ac99326c7ec8 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:update_instance_info\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path patch /v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f DEBUG util.py:445: PATCH: /v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f [{'op': 'replace', 'path': '/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-d8def68d-deba-4fca-86af-a471c3795b26 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:update_instance_info\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-d8def68d-deba-4fca-86af-a471c3795b26 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:update_instance_info\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path patch /v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881 DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00051_third_party_admin_cannot_patch_node_instance_info [0.099542s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00072_owner_member_cannot_set_boot_device [0.049741s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00083_owner_member_cannot_get_supported_boot_devices [0.049388s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00056_lessee_admin_can_validate_node [0.100457s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00073_lessee_member_cannot_set_boot_device [0.048962s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00086_owner_admin_can_send_non_masking_interrupt [0.049113s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00033_owner_member_can_change_lessee [0.129096s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00080_lessee_reader_cannot_get_boot_device [0.049711s] ... 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-ff6f44df-6db2-463b-a9ce-76056761758a DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-ff6f44df-6db2-463b-a9ce-76056761758a DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path put /v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/management/boot_device DEBUG util.py:445: PUT: /v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/management/boot_device {'boot_device': 'pxe'} DEBUG util.py:445: GOT:Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-352d9207-ee8b-4800-acdb-b10b66fe11d3 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-352d9207-ee8b-4800-acdb-b10b66fe11d3 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path put /v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f/management/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-c39c4afa-0adb-452f-833d-aedafd787276 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:set_boot_device\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-c39c4afa-0adb-452f-833d-aedafd787276 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:set_boot_device\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path get /v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f/management/boot_device DEBUG util.py:445: GET: /v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f/management/boot_device {} DEBUG util.py:445: GOT:Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-53e36b0d-c9fe-4158-a3ce-639c70b8e194 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:get_boot_device\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-53e36b0d-c9fe-4158-a3ce-639c70b8e194 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:get_boot_device\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path get /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/management/boot_device DEBUG util.py:445: GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/management/boot_device {} DEBUG util.py:445: GOT:Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-4cdcf576-27d2-48a3-ae21-62525632a9a4 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG 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-4cdcf576-27d2-48a3-ae21-62525632a9a4 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path get /v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/management/boot_device/supported DEBUG util.py:445: GET: /v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/management/boot_device/supported {} DEBUG util.py:445: GOT:Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-bdb78159-35d6-4f1c-a587-653b98b423d4 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-bdb78159-35d6-4f1c-a587-653b98b423d4 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path get /v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/management/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-be45b432-8200-40bc-9370-b5e226768754 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:get_boot_device\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-be45b432-8200-40bc-9370-b5e226768754 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:get_boot_device\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path put /v1/nodes/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-02754bc9-e72f-4eb7-9050-5d8f1cdcf7b7 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-02754bc9-e72f-4eb7-9050-5d8f1cdcf7b7 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path put /v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f/management/inject_nmi DEBUG util.py:445: PUT: /v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f/management/inject_nmi {} DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00087_lessee_admin_cannot_send_non_masking_interrupt [0.049262s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00093_lessee_admin_can_put_power_state_change [0.049970s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00035_lessee_admin_cannot_change_owner [0.101623s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00063_lessee_member_cannot_set_maintenance [0.100919s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00095_lessee_member_can_put_power_state_change [0.048465s] ... 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-f9ae0913-a70b-4f09-aa4f-51e3d4a6e56c DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-f9ae0913-a70b-4f09-aa4f-51e3d4a6e56c DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path delete /v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881 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-e85d56e0-dd47-4a20-9b48-faa4761e0c01 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:delete\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-e85d56e0-dd47-4a20-9b48-faa4761e0c01 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:delete\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path put /v1/nodes/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-9d7ae51e-ce92-4686-addd-5090c22e1d70 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-9d7ae51e-ce92-4686-addd-5090c22e1d70 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path delete /v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f/maintenance DEBUG util.py:445: DELETE: /v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f/maintenance DEBUG util.py:445: GOT:Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-caa1b9ed-754c-440f-b107-18289cdc7f58 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:clear_maintenance\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-caa1b9ed-754c-440f-b107-18289cdc7f58 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:clear_maintenance\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path 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-41ab4087-f25a-4198-8a40-0faa0efbfa26 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG 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-41ab4087-f25a-4198-8a40-0faa0efbfa26 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_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/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-a1b935e5-012b-400c-b720-84a516786501 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:set_boot_device\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-a1b935e5-012b-400c-b720-84a516786501 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:set_boot_device\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path put /v1/nodes/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-1196156e-4265-4b77-b69f-e87991afb1cd DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:set_boot_device\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-1196156e-4265-4b77-b69f-e87991afb1cd DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:set_boot_device\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path get /v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f/management/boot_device DEBUG util.py:445: GET: /v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f/management/boot_device {} DEBUG util.py:445: GOT:Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-5c8a2bbf-e5fb-45e6-aa5c-aedf7f5637b5 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:get_boot_device\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-5c8a2bbf-e5fb-45e6-aa5c-aedf7f5637b5 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:get_boot_device\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path put /v1/nodes/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: {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00094_owner_member_can_put_power_state_change [0.047554s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00096_owner_reader_cannot_put_power_state_change [0.047233s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00065_owner_admin_can_unset_maintenance [0.085903s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00098_third_party_admin_cannot_put_power_state_change [0.047117s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00099_owner_admin_can_put_boot_mode_state_change [0.062442s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00101_owner_member_can_put_boot_mode_state_change [0.046948s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00037_owner_admin_cannot_change_owner [0.127363s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00067_owner_member_can_unset_maintnenance [0.082391s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00104_lessee_reader_cannot_put_boot_mode_state_change [0.048884s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00113_owner_admin_can_change_provision_state [0.049341s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00105_third_party_admin_cannot_put_boot_mode_state_change [0.049054s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00114_owner_member_can_change_provision_state [0.048251s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00053_lessee_admin_cannot_delete_nodes [0.099978s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00075_owner_admin_can_get_boot_device [0.101464s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00108_owner_member_can_put_secure_boot_state_change [0.049722s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00115_lessee_admin_can_change_provision_state [0.050038s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00109_lessee_member_can_put_secure_boot_state_change [0.048157s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00117_third_party_admin_cannot_change_provision_state [0.047948s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00054_third_party_admin_cannot_delete_nodes [0.107827s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00077_owner_member_cannot_get_boot_device [0.104854s] ... 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-340ff01d-3d50-4397-aac5-1e03841b06a5 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-340ff01d-3d50-4397-aac5-1e03841b06a5 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path put /v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/states/power DEBUG util.py:445: PUT: /v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/states/power {'target': 'power on'} DEBUG util.py:445: GOT:Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-2d20f3c9-f00e-44c1-9b38-1df72436e975 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:set_power_state\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-2d20f3c9-f00e-44c1-9b38-1df72436e975 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:set_power_state\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path put /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/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-d0a87a25-772f-472b-b2bb-8813935f4b64 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG 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-d0a87a25-772f-472b-b2bb-8813935f4b64 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_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-4cf91c24-f7f2-4cf9-931e-85e95b277412 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-4cf91c24-f7f2-4cf9-931e-85e95b277412 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path put /v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/states/provision DEBUG util.py:445: PUT: /v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/states/provision {'target': 'deploy'} DEBUG util.py:445: GOT:Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-0f2c47ed-59f5-4355-b949-c75f9a78717a DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-0f2c47ed-59f5-4355-b949-c75f9a78717a DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path put /v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/states/provision DEBUG util.py:445: PUT: /v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/states/provision {'target': 'deploy'} DEBUG util.py:445: GOT:Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-cd85261b-98c7-4aac-87f4-72f69eeee7cc DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-cd85261b-98c7-4aac-87f4-72f69eeee7cc DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path put /v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f/states/provision DEBUG util.py:445: PUT: /v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f/states/provision {'target': 'deploy'} DEBUG util.py:445: GOT:Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-703de168-e46e-4115-8d96-d4777a9166fa DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-703de168-e46e-4115-8d96-d4777a9166fa DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path put /v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/states/provision DEBUG util.py:445: PUT: /v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/states/provision {'target': 'deploy'} DEBUG util.py:445: GOT:Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-d4f13834-9350-42de-801b-010eb4b8db03 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1ab63b9e-66d7-4cd7-8618-dddd0f9f7881 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-d4f13834-9350-42de-801b-010eb4b8db03 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1ab63b9e-66d7-4cd7-8618-dddd0f9f7881 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path put /v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/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: {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00118_owner_admin_can_set_raid_config [0.048968s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00123_owner_admin_can_get_console [0.050850s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00055_owner_admin_can_validate_node [0.093290s] ... 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-2d959759-578c-43e4-a519-1e16272886e5 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:inject_nmi\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-2d959759-578c-43e4-a519-1e16272886e5 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:inject_nmi\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path put /v1/nodes/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-efa595f9-12b2-4cf0-bfdd-cb28491809a8 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-efa595f9-12b2-4cf0-bfdd-cb28491809a8 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path put /v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f/states/power DEBUG util.py:445: PUT: /v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f/states/power {'target': 'power on'} DEBUG util.py:445: GOT:Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-a4601749-ac4e-4435-9a03-bda3886b1403 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-a4601749-ac4e-4435-9a03-bda3886b1403 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path put /v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/states/boot_mode DEBUG util.py:445: PUT: /v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/states/boot_mode {'target': 'uefi'} DEBUG util.py:445: GOT:Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-9d2bd88a-d228-4f80-837a-f860b62f0d60 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-9d2bd88a-d228-4f80-837a-f860b62f0d60 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path put /v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f/states/boot_mode DEBUG util.py:445: PUT: /v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f/states/boot_mode {'target': 'uefi'} DEBUG util.py:445: GOT:Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-b145b9df-2ef5-4749-8da5-be0a05996cb9 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:set_boot_mode\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-b145b9df-2ef5-4749-8da5-be0a05996cb9 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:set_boot_mode\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path put /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/boot_mode 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-c483d3fd-5c2b-4ece-9efe-6aa6c426e992 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG 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-c483d3fd-5c2b-4ece-9efe-6aa6c426e992 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path put /v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/states/secure_boot DEBUG util.py:445: PUT: /v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/states/secure_boot {'target': 'true'} DEBUG util.py:445: GOT:Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-b05ccf23-6135-4c02-a560-7ae6640d6c40 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-b05ccf23-6135-4c02-a560-7ae6640d6c40 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path put /v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f/states/secure_boot DEBUG util.py:445: PUT: /v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f/states/secure_boot {'target': 'true'} DEBUG util.py:445: GOT:Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-60caae2f-7a52-497f-a470-d1f30040987b DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-60caae2f-7a52-497f-a470-d1f30040987b DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path put /v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/states/secure_boot DEBUG util.py:445: PUT: /v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/states/secure_boot {'target': 'true'} DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00110_owner_reader_cannot_put_secure_boot_state_change [0.049937s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00116_lessee_member_cannot_change_provision_state [0.052772s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00089_owner_reader_get_states [0.097588s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00129_third_party_admin_cannot_get_console [0.051970s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00128_lessee_reader_cannot_get_console [0.048204s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00131_lessee_admin_cannot_set_console [0.054687s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00132_owner_member_can_set_console [0.050768s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00135_owner_member_cannot_get_vendor_passthru_methods [0.048037s] ... ok 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-50a799b0-63e2-4838-8c0b-5ce3c58c18bd DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1ab63b9e-66d7-4cd7-8618-dddd0f9f7881 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-50a799b0-63e2-4838-8c0b-5ce3c58c18bd DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1ab63b9e-66d7-4cd7-8618-dddd0f9f7881 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path get /v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f/validate DEBUG util.py:445: GET: /v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f/validate {} DEBUG util.py:445: GOT:Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-fb83b688-dbfe-4d17-a787-7809f9c2a801 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-fb83b688-dbfe-4d17-a787-7809f9c2a801 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path put /v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f/maintenance DEBUG util.py:445: PUT: /v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f/maintenance None DEBUG util.py:445: GOT:Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-5b741766-65e6-46ae-ab3c-4f7c90ca71c8 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:set_maintenance\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-5b741766-65e6-46ae-ab3c-4f7c90ca71c8 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:set_maintenance\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path delete /v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/maintenance DEBUG util.py:445: DELETE: /v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/maintenance DEBUG util.py:445: GOT:Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-b3e07766-a815-4530-bd6b-78fe70bb76a2 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-b3e07766-a815-4530-bd6b-78fe70bb76a2 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path delete /v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/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-6e4179e5-7e23-407e-99ae-0eb42fdd7980 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-6e4179e5-7e23-407e-99ae-0eb42fdd7980 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path get /v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/management/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-ac774757-3fe2-4e85-bc39-5f4056ff62af DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-ac774757-3fe2-4e85-bc39-5f4056ff62af DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path get /v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/management/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-5885c475-2879-4863-aedc-79f08966a459 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:get_boot_device\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-5885c475-2879-4863-aedc-79f08966a459 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:get_boot_device\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path get /v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/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-ec5d6978-fbae-457c-bd6b-f368fd228ff0 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"console_enabled": false, "last_error": "meow", "power_state": null, "provision_state": "available", "target_power_state": null, "target_provision_state": null, "provision_updated_at": null, "raid_config": {}, "target_raid_config": {}, "boot_mode": null, "secure_boot": null} DEBUG util.py:445: ACL Test GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-ec5d6978-fbae-457c-bd6b-f368fd228ff0 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"console_enabled": false, "last_error": "meow", "power_state": null, "provision_state": "available", "target_power_state": null, "target_provision_state": null, "provision_updated_at": null, "raid_config": {}, "target_raid_config": {}, "boot_mode": null, "secure_boot": null} DEBUG util.py:445: API ACL Testing Path get /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states DEBUG util.py:445: GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states {} DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00091_third_part_admin_cannot_get_states [0.104389s] ... 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-c4f7df93-437b-4ea8-b3b5-1b97ef1c36fd DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:update_extra\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-c4f7df93-437b-4ea8-b3b5-1b97ef1c36fd DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:update_extra\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path patch /v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f DEBUG util.py:445: PATCH: /v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f [{'op': 'replace', 'path': '/extra', 'value': {'test': 'testing'}}] DEBUG util.py:445: GOT:Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-a69dbd39-a68c-411f-b6e8-b0c87d3be486 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-a69dbd39-a68c-411f-b6e8-b0c87d3be486 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path patch /v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881 DEBUG util.py:445: PATCH: /v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881 [{'op': 'replace', 'path': '/lessee', 'value': '198566a5-a609-4463-9800-e8920be7c2fa'}] DEBUG util.py:445: GOT:Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-f1721dca-6cd4-4f11-8674-bff4b2c8e11c DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-f1721dca-6cd4-4f11-8674-bff4b2c8e11c DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path patch /v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f DEBUG util.py:445: PATCH: /v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f [{'op': 'replace', 'path': '/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-90c3c8f3-33fa-4a65-a3cc-54ce147bb986 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:update:owner\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-90c3c8f3-33fa-4a65-a3cc-54ce147bb986 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:update:owner\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path patch /v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881 DEBUG util.py:445: PATCH: /v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881 [{'op': 'replace', 'path': '/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-a1a45727-d519-427b-b663-3e62e2ba6c0d DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:update:owner\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-a1a45727-d519-427b-b663-3e62e2ba6c0d DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:update:owner\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path 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-caecdcf6-8e86-4d27-9d04-a2c030e6e4c4 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:delete\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-caecdcf6-8e86-4d27-9d04-a2c030e6e4c4 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:delete\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path 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-0127e114-b80d-4dca-ba0f-0695476aa4b3 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1ab63b9e-66d7-4cd7-8618-dddd0f9f7881 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-0127e114-b80d-4dca-ba0f-0695476aa4b3 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1ab63b9e-66d7-4cd7-8618-dddd0f9f7881 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path get /v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/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-e19a4796-7817-4d84-a8af-62b6fd878a4e DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-e19a4796-7817-4d84-a8af-62b6fd878a4e DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path get /v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/validate DEBUG util.py:445: GET: /v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/validate {} DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00057_owner_member_can_validate_node [0.109076s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00136_owner_reader_cannot_get_vendor_passthru_methods [0.068968s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00058_lessee_member_cannot_validate_node [0.092796s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00106_owner_admin_can_put_secure_boot_state_change [0.097150s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00141_owner_member_cannot_get_vendor_passthru [0.046864s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00137_lessee_admin_cannot_get_vendor_passthru_methods [0.187223s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00142_owner_reader_cannot_get_vendor_passthru [0.048666s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00112_third_party_admin_cannot_put_secure_boot_state_change [0.093490s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00062_owner_member_can_set_maintenance [0.115115s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00139_lessee_reader_cannot_get_vendor_passthru_methods [0.046807s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00119_lessee_admin_cannot_set_raid_config [0.047329s] ... 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-ef275c2f-521a-41b6-bc8e-efecd9af9e5c DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:set_secure_boot\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-ef275c2f-521a-41b6-bc8e-efecd9af9e5c DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:set_secure_boot\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path put /v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f/states/provision DEBUG util.py:445: PUT: /v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f/states/provision {'target': 'deploy'} DEBUG util.py:445: GOT:Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-0e2ca803-8903-4537-b286-07ab0a1890c4 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:set_provision_state\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-0e2ca803-8903-4537-b286-07ab0a1890c4 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:set_provision_state\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path 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-7fad92fb-f04c-40eb-aca3-fdf8fd2e8445 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 38d5abed-c585-4fce-a57e-a2ffc2a2ec6f could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-7fad92fb-f04c-40eb-aca3-fdf8fd2e8445 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 38d5abed-c585-4fce-a57e-a2ffc2a2ec6f could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path put /v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f/states/console DEBUG util.py:445: PUT: /v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f/states/console {'enabled': True} DEBUG util.py:445: GOT:Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-7fe72a52-212e-40aa-be0c-74806d1f1603 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:set_console_state\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-7fe72a52-212e-40aa-be0c-74806d1f1603 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:set_console_state\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path get /v1/nodes/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-5993c47a-b459-405c-8848-ad4c68490d6b DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:vendor_passthru\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-5993c47a-b459-405c-8848-ad4c68490d6b DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:vendor_passthru\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path get /v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/vendor_passthru/methods DEBUG util.py:445: GET: /v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/vendor_passthru/methods {} DEBUG util.py:445: GOT:Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-2cb8e8d4-91f0-4d95-82cf-3fd5ea1bf213 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:vendor_passthru\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-2cb8e8d4-91f0-4d95-82cf-3fd5ea1bf213 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:vendor_passthru\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path get /v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/vendor_passthru?method=test DEBUG util.py:445: GET: /v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/vendor_passthru?method=test {} DEBUG util.py:445: GOT:Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-80c4d243-ec34-473d-9f23-5fba2c38da42 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:vendor_passthru\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-80c4d243-ec34-473d-9f23-5fba2c38da42 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:vendor_passthru\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path get /v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/vendor_passthru?method=test DEBUG util.py:445: GET: /v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/vendor_passthru?method=test {} DEBUG util.py:445: GOT:Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-a3d3011d-fc31-471e-b8c0-c198f9f011e2 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:vendor_passthru\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-a3d3011d-fc31-471e-b8c0-c198f9f011e2 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:vendor_passthru\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path post /v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/vendor_passthru?method=test DEBUG util.py:445: POST: /v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/vendor_passthru?method=test None DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00148_owner_reader_cannot_post_vendor_passthru [0.059851s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00153_owner_member_cannot_put_vendor_passthru [0.047837s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00120_owner_member_can_set_raid_config [0.047520s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00140_owner_admin_cannot_get_vendor_passthru [0.098469s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00121_lessee_member_cannot_set_raid_config [0.047024s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00155_lessee_admin_cannot_put_vendor_passthru [0.050591s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00145_lessee_reader_cannot_get_vendor_passthru [0.055915s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00122_third_party_admin_cannot_set_raid_config [0.047243s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00156_lessee_member_cannot_put_vendor_passthru [0.048663s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00064_third_party_admin_cannot_set_maintenance [0.201744s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00158_owner_admin_cannot_delete_vendor_passthru [0.049900s] ... 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-aa49c7ab-de09-45a0-9f72-aa2603808493 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-aa49c7ab-de09-45a0-9f72-aa2603808493 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path get /v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/states/console DEBUG util.py:445: GET: /v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/states/console {} DEBUG util.py:445: GOT:Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-813daf42-0887-4ab7-b1f6-109263557fbe DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-813daf42-0887-4ab7-b1f6-109263557fbe DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path get /v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f/states/console DEBUG util.py:445: GET: /v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f/states/console {} DEBUG util.py:445: GOT:Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-ddea6d30-9c7c-4bbf-b40a-33d3778046c6 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:get_console\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-ddea6d30-9c7c-4bbf-b40a-33d3778046c6 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:get_console\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path put /v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/states/console DEBUG util.py:445: PUT: /v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/states/console {'enabled': True} DEBUG util.py:445: GOT:Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-d8edf8bc-2970-4bcb-9315-ee682527a8fc DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-d8edf8bc-2970-4bcb-9315-ee682527a8fc DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path get /v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f/vendor_passthru/methods DEBUG util.py:445: GET: /v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f/vendor_passthru/methods {} DEBUG util.py:445: GOT:Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-0a2d55e8-0ca4-4a99-965f-82bf4b18e6c5 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:vendor_passthru\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-0a2d55e8-0ca4-4a99-965f-82bf4b18e6c5 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:vendor_passthru\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path get /v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f/vendor_passthru/methods DEBUG util.py:445: GET: /v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f/vendor_passthru/methods {} DEBUG util.py:445: GOT:Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-ff114288-1876-47c9-a401-dc728d13243c DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:vendor_passthru\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-ff114288-1876-47c9-a401-dc728d13243c DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:vendor_passthru\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path get /v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/vendor_passthru?method=test DEBUG util.py:445: GET: /v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/vendor_passthru?method=test {} DEBUG util.py:445: GOT:Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-b7a2694e-d325-4a87-a84b-2e390d551ca9 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:vendor_passthru\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-b7a2694e-d325-4a87-a84b-2e390d551ca9 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:vendor_passthru\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path get /v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f/vendor_passthru?method=test DEBUG util.py:445: GET: /v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f/vendor_passthru?method=test {} DEBUG util.py:445: GOT:Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-33b4e77a-aa97-4313-8d56-7f9e0a6f60f1 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:vendor_passthru\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-33b4e77a-aa97-4313-8d56-7f9e0a6f60f1 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:vendor_passthru\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path post /v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/vendor_passthru?method=test DEBUG util.py:445: POST: /v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/vendor_passthru?method=test None DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00146_owner_admin_cannot_post_vendor_passthru [0.054428s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00124_lessee_admin_cannot_get_console [0.070237s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00151_lessee_reader_cannot_post_vendor_passthru [0.049500s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00066_lessee_admin_can_unset_maintenance [0.049210s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00163_lessee_reader_cannot_delete_vendor_passthru [0.047270s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00074_third_party_admin_cannot_set_boot_device [0.050017s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00157_lessee_reader_cannot_put_vendor_passthru [0.058157s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00169_lessee_admin_cannot_put_traits [0.049254s] ... 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-c544ad82-e6b9-4d5c-ab97-9b8ebbbee57c DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG 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-c544ad82-e6b9-4d5c-ab97-9b8ebbbee57c DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path put /v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/states/secure_boot DEBUG util.py:445: PUT: /v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/states/secure_boot {'target': 'true'} DEBUG util.py:445: GOT:Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-05927386-bac1-48e5-87a2-aed2c5d3c4c0 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-05927386-bac1-48e5-87a2-aed2c5d3c4c0 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path put /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/secure_boot DEBUG util.py:445: PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/secure_boot {'target': 'true'} DEBUG util.py:445: GOT:Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-d79c0d1f-dcf9-4f65-86b5-54b1d0847fb4 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG 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-d79c0d1f-dcf9-4f65-86b5-54b1d0847fb4 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_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/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-8bf59ac5-d6b0-461f-99ae-e3ca0449ce0f DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:set_raid_state\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-8bf59ac5-d6b0-461f-99ae-e3ca0449ce0f DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:set_raid_state\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path 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-f4c4152e-1844-4219-9af3-1a437f5ee53b DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-f4c4152e-1844-4219-9af3-1a437f5ee53b DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path put /v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f/states/raid DEBUG util.py:445: PUT: /v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f/states/raid {'target_raid_config': {'logical_disks': [{'size_gb': 500, 'is_root_volume': True, 'raid_level': 1}]}} DEBUG util.py:445: GOT:Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-9f9df97f-2e35-481f-89f0-fa933696f2f2 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:set_raid_state\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-9f9df97f-2e35-481f-89f0-fa933696f2f2 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:set_raid_state\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path 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-fe9eac8c-b343-4081-8b67-a69976e3ea14 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 38d5abed-c585-4fce-a57e-a2ffc2a2ec6f could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-fe9eac8c-b343-4081-8b67-a69976e3ea14 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 38d5abed-c585-4fce-a57e-a2ffc2a2ec6f could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path get /v1/nodes/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-70ba84c8-2a62-4cb8-823f-2aad5ddf6ac9 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:get_console\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-70ba84c8-2a62-4cb8-823f-2aad5ddf6ac9 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:get_console\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path get /v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f/states/console DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00126_lessee_member_cannot_get_console [0.061537s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00078_lessee_member_cannot_get_boot_device [0.051952s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00170_lessee_member_cannot_put_traits [0.049449s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00127_owner_reader_cannot_get_console [0.066075s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00164_owner_reader_get_traits [0.064151s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00079_owner_reader_cannot_get_boot_device [0.047813s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00130_owner_admin_can_set_console [0.050110s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00165_lessee_reader_get_traits [0.052278s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00134_owner_admin_cannot_get_vendor_passthru_methods [0.048412s] ... 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-785a938d-4374-46b7-9ef6-4ecc85f987a5 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:vendor_passthru\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-785a938d-4374-46b7-9ef6-4ecc85f987a5 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:vendor_passthru\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path put /v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/vendor_passthru?method=test DEBUG util.py:445: PUT: /v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/vendor_passthru?method=test None DEBUG util.py:445: GOT:Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-df6521be-16b7-450c-b084-85ec2a78d670 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:vendor_passthru\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-df6521be-16b7-450c-b084-85ec2a78d670 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:vendor_passthru\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path put /v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f/vendor_passthru?method=test DEBUG util.py:445: PUT: /v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f/vendor_passthru?method=test None DEBUG util.py:445: GOT:Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-82fe61f6-dd66-4772-a1cd-1e345e2433cd DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:vendor_passthru\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-82fe61f6-dd66-4772-a1cd-1e345e2433cd DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:vendor_passthru\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path put /v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f/vendor_passthru?method=test DEBUG util.py:445: PUT: /v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f/vendor_passthru?method=test None DEBUG util.py:445: GOT:Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-da7c84c9-850b-4d5b-8979-cab125192c17 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:vendor_passthru\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-da7c84c9-850b-4d5b-8979-cab125192c17 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:vendor_passthru\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path delete /v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/vendor_passthru?method=test DEBUG util.py:445: DELETE: /v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/vendor_passthru?method=test DEBUG util.py:445: GOT:Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-774728fe-08ad-4b61-901b-c588f5522150 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:vendor_passthru\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-774728fe-08ad-4b61-901b-c588f5522150 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:vendor_passthru\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path delete /v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f/vendor_passthru?method=test DEBUG util.py:445: DELETE: /v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f/vendor_passthru?method=test DEBUG util.py:445: GOT:Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-6d60150c-9361-4902-b2b2-2a1090e7992d DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:vendor_passthru\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-6d60150c-9361-4902-b2b2-2a1090e7992d DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:vendor_passthru\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path put /v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f/traits DEBUG util.py:445: PUT: /v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f/traits {'traits': ['CUSTOM_TRAIT1', 'HW_CPU_X86_VMX']} DEBUG util.py:445: GOT:Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-16dc2a26-6faa-407c-8f29-cbae25eb8a5d DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:traits:set\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-16dc2a26-6faa-407c-8f29-cbae25eb8a5d DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:traits:set\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path put /v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f/traits 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-a7f30ce3-a836-4e6c-83a3-d6c7e29e4efd DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:traits:set\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-a7f30ce3-a836-4e6c-83a3-d6c7e29e4efd DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:traits:set\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path delete /v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/traits/CUSTOM_MEOW DEBUG util.py:445: DELETE: /v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/traits/CUSTOM_MEOW DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00172_owner_admin_can_delete_traits [0.048776s] ... 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-4af499e8-4122-4dd0-8e9f-2d36a9f7a721 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-4af499e8-4122-4dd0-8e9f-2d36a9f7a721 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path get /v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f/validate DEBUG util.py:445: GET: /v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f/validate {} DEBUG util.py:445: GOT:Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-d0e7cb00-c8a1-4c1d-b9de-7485d43eb2a4 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:validate\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-d0e7cb00-c8a1-4c1d-b9de-7485d43eb2a4 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:validate\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path 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-250da54b-e367-44be-bb42-27c33889e8e1 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-250da54b-e367-44be-bb42-27c33889e8e1 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path put /v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/maintenance DEBUG util.py:445: PUT: /v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/maintenance None DEBUG util.py:445: GOT:Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-2df08e1f-66a4-409b-8551-abe18d981547 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1ab63b9e-66d7-4cd7-8618-dddd0f9f7881 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-2df08e1f-66a4-409b-8551-abe18d981547 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1ab63b9e-66d7-4cd7-8618-dddd0f9f7881 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path delete /v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f/maintenance DEBUG util.py:445: DELETE: /v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f/maintenance DEBUG util.py:445: GOT:Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-2bf0e5d6-3381-4fac-84a6-9fb8ce8c18fc DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-2bf0e5d6-3381-4fac-84a6-9fb8ce8c18fc DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path put /v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/management/boot_device DEBUG util.py:445: PUT: /v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/management/boot_device {'boot_device': 'pxe'} DEBUG util.py:445: GOT:Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-3734cbe0-d457-4001-ba68-58293394d117 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1ab63b9e-66d7-4cd7-8618-dddd0f9f7881 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-3734cbe0-d457-4001-ba68-58293394d117 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1ab63b9e-66d7-4cd7-8618-dddd0f9f7881 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path get /v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f/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-1b129499-b83b-4682-b0ef-95cd625aae31 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:get_boot_device\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-1b129499-b83b-4682-b0ef-95cd625aae31 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:get_boot_device\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path get /v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/management/boot_device DEBUG util.py:445: GET: /v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/management/boot_device {} DEBUG util.py:445: GOT:Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-9ec29c43-5f54-4ab2-b199-93de3bcf85a2 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:get_boot_device\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-9ec29c43-5f54-4ab2-b199-93de3bcf85a2 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:get_boot_device\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path get /v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f/management/boot_device/supported DEBUG util.py:445: GET: /v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f/management/boot_device/supported {} DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00084_lessee_admin_cannot_get_supported_boot_devices [0.047553s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00085_third_party_admin_cannot_get_supported_boot_devices [0.047300s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00168_owner_member_cannot_put_traits [0.068346s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00159_owner_member_cannot_delete_vendor_passthru [0.046794s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00088_third_party_admin_cannot_send_non_masking_interrupt [0.047359s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00174_lessee_admin_cannot_delete_traits [0.127611s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00160_owner_reader_cannot_delete_vendor_passthru [0.046921s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00090_lessee_reader_get_states [0.047554s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00171_third_party_admin_cannot_put_traits [0.097990s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00178_owner_member_cannot_put_custom_traits [0.061727s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00177_owner_admin_can_put_custom_traits [0.049028s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00092_owner_admin_can_put_power_state_change [0.047126s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00173_owner_member_cannot_delete_traits [0.050069s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00182_owner_reader_get_vifs [0.050850s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00181_third_party_admin_cannot_put_custom_traits [0.049097s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00097_lessee_reader_cannot_put_power_state_change [0.047624s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00183_lessee_reader_get_vifs [0.049724s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00100_lessee_admin_can_put_boot_mode_state_change [0.047207s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00184_third_party_admin_cannot_get_vifs [0.049350s] ... 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-72e54c4f-70ec-494d-a46a-79dad524b641 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:vendor_passthru\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-72e54c4f-70ec-494d-a46a-79dad524b641 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:vendor_passthru\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path post /v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f/vendor_passthru?method=test DEBUG util.py:445: POST: /v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f/vendor_passthru?method=test None DEBUG util.py:445: GOT:Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-a10787f2-12e6-4b8b-8c7f-c071459d96ff DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:vendor_passthru\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-a10787f2-12e6-4b8b-8c7f-c071459d96ff DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:vendor_passthru\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path put /v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f/vendor_passthru?method=test DEBUG util.py:445: PUT: /v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f/vendor_passthru?method=test None DEBUG util.py:445: GOT:Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-481c7645-d63c-48d0-8ba2-8f69e9754159 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:vendor_passthru\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-481c7645-d63c-48d0-8ba2-8f69e9754159 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:vendor_passthru\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path get /v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/traits DEBUG util.py:445: GET: /v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/traits {} DEBUG util.py:445: GOT:Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-698920e6-fbcd-402b-b074-ab7a528bb0f0 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"traits": []} DEBUG util.py:445: ACL Test GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-698920e6-fbcd-402b-b074-ab7a528bb0f0 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"traits": []} DEBUG util.py:445: API ACL Testing Path get /v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f/traits DEBUG util.py:445: GET: /v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f/traits {} DEBUG util.py:445: GOT:Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-6dd01659-8fa0-4e63-97ff-7989eac0b459 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"traits": []} DEBUG util.py:445: ACL Test GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-6dd01659-8fa0-4e63-97ff-7989eac0b459 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"traits": []} DEBUG util.py:445: API ACL Testing Path 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-5cb9ea44-1178-4150-b480-28b67f8cd9b9 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:traits:set\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-5cb9ea44-1178-4150-b480-28b67f8cd9b9 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:traits:set\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path put /v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f/traits 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-dd6ecdc8-2891-4316-9c91-d174a6ed470a DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 38d5abed-c585-4fce-a57e-a2ffc2a2ec6f could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-dd6ecdc8-2891-4316-9c91-d174a6ed470a DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 38d5abed-c585-4fce-a57e-a2ffc2a2ec6f could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path delete /v1/nodes/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-f036401a-286c-43a1-809a-e4c8eb367a4a DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:traits:delete\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-f036401a-286c-43a1-809a-e4c8eb367a4a DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:traits:delete\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path delete /v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f/traits/CUSTOM_MEOW DEBUG util.py:445: DELETE: /v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f/traits/CUSTOM_MEOW DEBUG util.py:445: GOT:Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-4fbb25fd-ae6e-42c4-bf1c-5990ab193c3e DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:traits:delete\", \"debuginfo\": null}"} DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00175_lessee_member_cannot_delete_traits [0.050517s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00102_lessee_member_can_put_boot_mode_state_change [0.048467s] ... ok 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-1ef07d22-dcca-49a1-b403-6c4963b6f8c1 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:get_console\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-1ef07d22-dcca-49a1-b403-6c4963b6f8c1 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:get_console\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path get /v1/nodes/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-89a696d8-bcdb-42ec-8c67-35b32519acf3 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:get_console\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-89a696d8-bcdb-42ec-8c67-35b32519acf3 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:get_console\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path put /v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/states/console DEBUG util.py:445: PUT: /v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/states/console {'enabled': True} DEBUG util.py:445: GOT:Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-6a281f12-50a6-4911-80ab-bb899f1ec624 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-6a281f12-50a6-4911-80ab-bb899f1ec624 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path get /v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/vendor_passthru/methods DEBUG util.py:445: GET: /v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/vendor_passthru/methods {} DEBUG util.py:445: GOT:Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-294fa2a2-8923-45ec-abfc-06f2b2b8590b DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:vendor_passthru\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-294fa2a2-8923-45ec-abfc-06f2b2b8590b DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:vendor_passthru\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path delete /v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/vendor_passthru?method=test DEBUG util.py:445: DELETE: /v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/vendor_passthru?method=test DEBUG util.py:445: GOT:Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-586bb55e-cab6-467a-9161-20e5d774d0fc DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:vendor_passthru\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-586bb55e-cab6-467a-9161-20e5d774d0fc DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:vendor_passthru\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path delete /v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/vendor_passthru?method=test DEBUG util.py:445: DELETE: /v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/vendor_passthru?method=test DEBUG util.py:445: GOT:Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-18e99c82-6fbb-47ad-951e-8601d75634f2 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:vendor_passthru\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-18e99c82-6fbb-47ad-951e-8601d75634f2 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:vendor_passthru\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path put /v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/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-ce60417e-9d68-4f96-92c6-c7ca11f20235 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-ce60417e-9d68-4f96-92c6-c7ca11f20235 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path put /v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f/traits/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-47a65513-5e9c-4ce6-95cd-8cf8440f8ef1 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 38d5abed-c585-4fce-a57e-a2ffc2a2ec6f could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-47a65513-5e9c-4ce6-95cd-8cf8440f8ef1 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 38d5abed-c585-4fce-a57e-a2ffc2a2ec6f could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path delete /v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f/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: {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00193_lessee_admin_can_delete_vifs [0.048994s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00199_third_party_admin_cannot_get_indicators [0.048095s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00200_owner_reader_can_get_indicator_status ... SKIPPED: API appears to be broken and should be patched outside of this work. DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00186_lessee_admin_can_post_vifs [0.051959s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00176_third_party_admin_cannot_delete_traits [0.119250s] ... 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-0cc3143e-e60e-4a7a-a6d8-a18a7b42b4f8 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:get_boot_device\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-0cc3143e-e60e-4a7a-a6d8-a18a7b42b4f8 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:get_boot_device\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path get /v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/management/boot_device/supported DEBUG util.py:445: GET: /v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/management/boot_device/supported {} DEBUG util.py:445: GOT:Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-ad605b50-b140-4f7a-b9e1-1e5511e64603 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1ab63b9e-66d7-4cd7-8618-dddd0f9f7881 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-ad605b50-b140-4f7a-b9e1-1e5511e64603 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1ab63b9e-66d7-4cd7-8618-dddd0f9f7881 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path put /v1/nodes/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-ae202014-999e-4400-8e90-233cb9aa7dd7 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG 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-ae202014-999e-4400-8e90-233cb9aa7dd7 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path get /v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f/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-d26f363d-5244-41ef-ae7a-bca48ddd929c DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"console_enabled": false, "last_error": "meow", "power_state": null, "provision_state": "available", "target_power_state": null, "target_provision_state": null, "provision_updated_at": null, "raid_config": {}, "target_raid_config": {}, "boot_mode": null, "secure_boot": null} DEBUG util.py:445: ACL Test GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-d26f363d-5244-41ef-ae7a-bca48ddd929c DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"console_enabled": false, "last_error": "meow", "power_state": null, "provision_state": "available", "target_power_state": null, "target_provision_state": null, "provision_updated_at": null, "raid_config": {}, "target_raid_config": {}, "boot_mode": null, "secure_boot": null} DEBUG util.py:445: API ACL Testing Path put /v1/nodes/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-2a4ee210-7ce2-4b94-858c-3a639592c836 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-2a4ee210-7ce2-4b94-858c-3a639592c836 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path put /v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f/states/power DEBUG util.py:445: PUT: /v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f/states/power {'target': 'power on'} DEBUG util.py:445: GOT:Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-81372e7b-9ec5-4b19-a7f7-2e2ded0a858b DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:set_power_state\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-81372e7b-9ec5-4b19-a7f7-2e2ded0a858b DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:set_power_state\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path put /v1/nodes/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-86d98577-fd35-4ed5-9d75-7162fb31f8e4 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-86d98577-fd35-4ed5-9d75-7162fb31f8e4 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path put /v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f/states/boot_mode DEBUG util.py:445: PUT: /v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f/states/boot_mode {'target': 'uefi'} DEBUG util.py:445: GOT:Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-c0a89d36-a4bc-42df-9325-c0a520d6ea80 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-c0a89d36-a4bc-42df-9325-c0a520d6ea80 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path put /v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/states/boot_mode DEBUG util.py:445: PUT: /v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/states/boot_mode {'target': 'uefi'} DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00103_owner_reader_cannot_put_boot_mode_state_change [0.047843s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00195_lessee_member_cannot_delete_vifs [0.049009s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00207_third_party_admin_cannot_list_portgroups [0.073576s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00107_lessee_admin_can_put_secure_boot_state_change [0.047372s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00179_lessee_admin_cannot_put_custom_traits [0.060077s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00111_lessee_reader_cannot_put_secure_boot_state_change [0.047987s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00211_owner_admin_can_add_portgroup [0.053683s] ... 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-66b02e2d-c74f-438a-90ae-7dad975aafeb DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-66b02e2d-c74f-438a-90ae-7dad975aafeb DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path delete /v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f/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-94a32d2e-bd16-4aec-9f1f-e5325ed69d16 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:traits:delete\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-94a32d2e-bd16-4aec-9f1f-e5325ed69d16 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:traits:delete\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path put /v1/nodes/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-e269bfce-6957-4cf3-b1f3-730558bd36ce DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:traits:set\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-e269bfce-6957-4cf3-b1f3-730558bd36ce DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:traits:set\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path get /v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/vifs DEBUG util.py:445: GET: /v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/vifs {} DEBUG util.py:445: GOT:Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-cf7494a5-30c9-4076-aff4-46fb12437e27 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-cf7494a5-30c9-4076-aff4-46fb12437e27 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path get /v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f/vifs DEBUG util.py:445: GET: /v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f/vifs {} DEBUG util.py:445: GOT:Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-67ebffc6-926c-495e-9fcb-551427343ccb DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-67ebffc6-926c-495e-9fcb-551427343ccb DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path get /v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/vifs DEBUG util.py:445: GET: /v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/vifs {} DEBUG util.py:445: GOT:Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-4611770c-7b4f-488b-a428-7215bff9a6be DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1ab63b9e-66d7-4cd7-8618-dddd0f9f7881 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-4611770c-7b4f-488b-a428-7215bff9a6be DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1ab63b9e-66d7-4cd7-8618-dddd0f9f7881 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path post /v1/nodes/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-b7b5386e-5727-48d2-99ab-ba28f649df90 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-b7b5386e-5727-48d2-99ab-ba28f649df90 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path delete /v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f/vifs/0e21d58f-5de2-4956-85ff-33935ea1ca01 DEBUG util.py:445: DELETE: /v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f/vifs/0e21d58f-5de2-4956-85ff-33935ea1ca01 DEBUG util.py:445: GOT:Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-4439c07f-8bae-4ca1-acd9-c2a0ce950c66 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:vif:detach\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-4439c07f-8bae-4ca1-acd9-c2a0ce950c66 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:vif:detach\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path get /v1/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: {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00197_owner_readers_can_get_indicators [0.050837s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00204_third_party_admin_cannot_set_indicator [0.050673s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00185_owner_admin_can_post_vifs [0.085057s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00125_owner_member_can_get_console [0.048394s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00218_lessee_admin_cannot_modify_portgroup [0.049906s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00188_lessee_member_cannot_post_vifs [0.049938s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00133_lessee_member_cannot_set_console [0.050078s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00219_lessee_member_cannot_modify_portgroup [0.052062s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00138_lessee_member_cannot_get_vendor_passthru_methods [0.047124s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00191_third_party_admin_cannot_post_vifs [0.052470s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00222_owner_member_cannot_delete_portgroup [0.049935s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00201_lessee_reader_not_get_indicator_status ... SKIPPED: API appears to be broken and should be patched outside of this work. DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00143_lessee_admin_cannot_get_vendor_passthru [0.048611s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00144_lessee_member_cannot_get_vendor_passthru [0.048192s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00205_owner_reader_can_list_portgroups [0.190738s] ... 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-23b83ac4-2234-45a7-a6eb-41fe4ea2676c DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-23b83ac4-2234-45a7-a6eb-41fe4ea2676c DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path get /v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/management/indicators DEBUG util.py:445: GET: /v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/management/indicators {} DEBUG util.py:445: GOT:Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-c41ebb40-a89b-46ec-a46f-b4d4c36456b9 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1ab63b9e-66d7-4cd7-8618-dddd0f9f7881 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-c41ebb40-a89b-46ec-a46f-b4d4c36456b9 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1ab63b9e-66d7-4cd7-8618-dddd0f9f7881 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path get /v1/portgroups DEBUG util.py:445: GET: /v1/portgroups {} DEBUG util.py:445: GOT:Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-40e95dbc-de41-4f49-aebe-11a5cccc6a4f DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"portgroups": []} DEBUG util.py:445: ACL Test GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-40e95dbc-de41-4f49-aebe-11a5cccc6a4f DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"portgroups": []} DEBUG util.py:445: API ACL Testing Path 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/ce46fd52-2f0f-464b-bc2f-d5577dd6721d DEBUG util.py:445: Openstack-Request-Id: req-1630e111-e794-4888-8594-efa95c579ce8 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"uuid": "ce46fd52-2f0f-464b-bc2f-d5577dd6721d", "created_at": "2024-05-14T11:54:24.496474+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/ce46fd52-2f0f-464b-bc2f-d5577dd6721d", "rel": "self"}, {"href": "http://localhost/portgroups/ce46fd52-2f0f-464b-bc2f-d5577dd6721d", "rel": "bookmark"}], "node_uuid": "1ab63b9e-66d7-4cd7-8618-dddd0f9f7881", "ports": [{"href": "http://localhost/v1/portgroups/ce46fd52-2f0f-464b-bc2f-d5577dd6721d/ports", "rel": "self"}, {"href": "http://localhost/portgroups/ce46fd52-2f0f-464b-bc2f-d5577dd6721d/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/ce46fd52-2f0f-464b-bc2f-d5577dd6721d DEBUG util.py:445: Openstack-Request-Id: req-1630e111-e794-4888-8594-efa95c579ce8 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"uuid": "ce46fd52-2f0f-464b-bc2f-d5577dd6721d", "created_at": "2024-05-14T11:54:24.496474+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/ce46fd52-2f0f-464b-bc2f-d5577dd6721d", "rel": "self"}, {"href": "http://localhost/portgroups/ce46fd52-2f0f-464b-bc2f-d5577dd6721d", "rel": "bookmark"}], "node_uuid": "1ab63b9e-66d7-4cd7-8618-dddd0f9f7881", "ports": [{"href": "http://localhost/v1/portgroups/ce46fd52-2f0f-464b-bc2f-d5577dd6721d/ports", "rel": "self"}, {"href": "http://localhost/portgroups/ce46fd52-2f0f-464b-bc2f-d5577dd6721d/ports", "rel": "bookmark"}]} DEBUG util.py:445: API ACL Testing Path patch /v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4 DEBUG util.py:445: PATCH: /v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4 [{'op': 'replace', 'path': '/extra', 'value': {'test': 'testing'}}] DEBUG util.py:445: GOT:Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-6b7ba478-8294-4573-838d-c6f20083b795 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:portgroup:update\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-6b7ba478-8294-4573-838d-c6f20083b795 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:portgroup:update\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path patch /v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4 DEBUG util.py:445: PATCH: /v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4 [{'op': 'replace', 'path': '/extra', 'value': {'test': 'testing'}}] DEBUG util.py:445: GOT:Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-344172d0-3333-4612-b7b8-b19ba69e5b7b DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:portgroup:update\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-344172d0-3333-4612-b7b8-b19ba69e5b7b DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:portgroup:update\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path delete /v1/portgroups/b16efcf3-2990-41a1-bc1d-5e2c16f3d5fc DEBUG util.py:445: DELETE: /v1/portgroups/b16efcf3-2990-41a1-bc1d-5e2c16f3d5fc DEBUG util.py:445: GOT:Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-df4f69a1-7982-4789-a035-3cb3c7e43d59 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:portgroup:delete\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-df4f69a1-7982-4789-a035-3cb3c7e43d59 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:portgroup:delete\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path delete /v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4 DEBUG util.py:445: DELETE: /v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4 DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00223_lessee_admin_cannot_delete_portgroup [0.049686s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00225_third_party_admin_cannot_delete_portgroup [0.051777s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00203_lessee_member_cannot_set_indicator [0.085466s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00212_owner_member_cannot_add_portgroup [0.047559s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00206_lessee_reader_can_list_portgroups [0.053140s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00215_third_party_admin_cannot_add_portgroup [0.048278s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00228_third_party_admin_cannot_get_portgroups [0.071811s] ... 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-c771561d-44b9-4ec2-99e8-8a46581e9ec1 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:set_boot_mode\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-c771561d-44b9-4ec2-99e8-8a46581e9ec1 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:set_boot_mode\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path put /v1/nodes/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-8be22dce-a802-49e7-a694-0cf071843bb9 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-8be22dce-a802-49e7-a694-0cf071843bb9 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path put /v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f/states/secure_boot DEBUG util.py:445: PUT: /v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f/states/secure_boot {'target': 'true'} DEBUG util.py:445: GOT:Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-4f586687-f688-4bab-a87a-fe0340d63edf DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:set_secure_boot\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-4f586687-f688-4bab-a87a-fe0340d63edf DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:set_secure_boot\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path 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-552d9bb3-5570-432e-9c80-2d1e3a1f4968 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-552d9bb3-5570-432e-9c80-2d1e3a1f4968 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path put /v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f/states/console DEBUG util.py:445: PUT: /v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f/states/console {'enabled': True} DEBUG util.py:445: GOT:Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-d91d5f21-1e13-4943-bb38-71679c1b94b4 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:set_console_state\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-d91d5f21-1e13-4943-bb38-71679c1b94b4 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:set_console_state\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path get /v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f/vendor_passthru/methods DEBUG util.py:445: GET: /v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f/vendor_passthru/methods {} DEBUG util.py:445: GOT:Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-b3d24e32-e8bb-415c-9b58-23c6d8468047 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:vendor_passthru\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-b3d24e32-e8bb-415c-9b58-23c6d8468047 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:vendor_passthru\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path get /v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f/vendor_passthru?method=test DEBUG util.py:445: GET: /v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f/vendor_passthru?method=test {} DEBUG util.py:445: GOT:Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-ea760162-ecd6-4718-9409-e3b4155d1e66 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:vendor_passthru\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-ea760162-ecd6-4718-9409-e3b4155d1e66 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:vendor_passthru\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path get /v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f/vendor_passthru?method=test DEBUG util.py:445: GET: /v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f/vendor_passthru?method=test {} DEBUG util.py:445: GOT:Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-f670271b-3ae8-475f-bd3d-ac9059d34e2f DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:vendor_passthru\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-f670271b-3ae8-475f-bd3d-ac9059d34e2f DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:vendor_passthru\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path post /v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/vendor_passthru?method=test DEBUG util.py:445: POST: /v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/vendor_passthru?method=test None DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00147_owner_member_cannot_post_vendor_passthru [0.048002s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00149_lessee_admin_cannot_post_vendor_passthru [0.049120s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00226_owner_reader_can_get_node_portgroups [0.052157s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00150_lessee_member_cannot_post_vendor_passthru [0.047823s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00230_lessee_reader_can_list_ports [0.054301s] ... 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-4fbb25fd-ae6e-42c4-bf1c-5990ab193c3e DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:traits:delete\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path delete /v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f/traits/CUSTOM_MEOW DEBUG util.py:445: DELETE: /v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f/traits/CUSTOM_MEOW DEBUG util.py:445: GOT:Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-2fdcdea7-10e0-4ac2-b7eb-14df97978bf1 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 38d5abed-c585-4fce-a57e-a2ffc2a2ec6f could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-2fdcdea7-10e0-4ac2-b7eb-14df97978bf1 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 38d5abed-c585-4fce-a57e-a2ffc2a2ec6f could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path put /v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f/traits/CUSTOM_TRAIT2 DEBUG util.py:445: PUT: /v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f/traits/CUSTOM_TRAIT2 None DEBUG util.py:445: GOT:Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-9169e903-25fd-40f1-b2fa-b78e91d6cace DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:traits:set\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-9169e903-25fd-40f1-b2fa-b78e91d6cace DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:traits:set\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path post /v1/nodes/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-dcedf166-1d88-4238-a6e0-67ddb55a872c DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-dcedf166-1d88-4238-a6e0-67ddb55a872c DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path post /v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f/vifs DEBUG util.py:445: POST: /v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f/vifs {'id': 'ee21d58f-5de2-4956-85ff-33935ea1ca00'} DEBUG util.py:445: GOT:Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-07297971-2e30-45bd-b3a2-99a63b7fab44 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:vif:attach\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-07297971-2e30-45bd-b3a2-99a63b7fab44 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:vif:attach\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path post /v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/vifs DEBUG util.py:445: POST: /v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/vifs {'id': 'ee21d58f-5de2-4956-85ff-33935ea1ca00'} DEBUG util.py:445: GOT:Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-b5577c52-0bf3-42e3-a751-bc6ff11a6daf DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1ab63b9e-66d7-4cd7-8618-dddd0f9f7881 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-b5577c52-0bf3-42e3-a751-bc6ff11a6daf DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1ab63b9e-66d7-4cd7-8618-dddd0f9f7881 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path put /v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f/management/indicators/component/magic_light DEBUG util.py:445: PUT: /v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f/management/indicators/component/magic_light None DEBUG util.py:445: GOT:Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-fe8ec4d5-c424-4551-9c93-a30f23a2dab1 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:set_indicator_state\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-fe8ec4d5-c424-4551-9c93-a30f23a2dab1 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:set_indicator_state\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path 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-7a998682-21fb-44d5-9a0c-b0b6186ab00e DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"portgroups": [{"uuid": "6eb02b44-18a3-4659-8c0b-8d2802581ae4", "address": "52:54:00:cf:2d:31", "name": "fooname", "links": [{"href": "http://localhost/v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4", "rel": "self"}, {"href": "http://localhost/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4", "rel": "bookmark"}]}]} DEBUG util.py:445: ACL Test GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-7a998682-21fb-44d5-9a0c-b0b6186ab00e DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"portgroups": [{"uuid": "6eb02b44-18a3-4659-8c0b-8d2802581ae4", "address": "52:54:00:cf:2d:31", "name": "fooname", "links": [{"href": "http://localhost/v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4", "rel": "self"}, {"href": "http://localhost/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4", "rel": "bookmark"}]}]} DEBUG util.py:445: API ACL Testing Path get /v1/portgroups/b16efcf3-2990-41a1-bc1d-5e2c16f3d5fc DEBUG util.py:445: GET: /v1/portgroups/b16efcf3-2990-41a1-bc1d-5e2c16f3d5fc {} DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00208_owner_reader_can_read_portgroup [0.061852s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00232_owner_reader_can_read_port [0.050077s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00152_owner_admin_cannot_put_vendor_passthru [0.063512s] ... 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-be514bf3-33cb-4c8a-8ff0-b720f4247758 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-be514bf3-33cb-4c8a-8ff0-b720f4247758 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path put /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/management/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-4b54eb4f-398d-4df3-a6fd-815fb04fcccd DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG 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-4b54eb4f-398d-4df3-a6fd-815fb04fcccd DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"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-1fd74bc6-e76d-4233-b992-b1e601fad6a8 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"portgroups": [{"uuid": "b16efcf3-2990-41a1-bc1d-5e2c16f3d5fc", "address": "01:03:09:ff:01:01", "name": "magicfoo", "links": [{"href": "http://localhost/v1/portgroups/b16efcf3-2990-41a1-bc1d-5e2c16f3d5fc", "rel": "self"}, {"href": "http://localhost/portgroups/b16efcf3-2990-41a1-bc1d-5e2c16f3d5fc", "rel": "bookmark"}]}, {"uuid": "6eb02b44-18a3-4659-8c0b-8d2802581ae4", "address": "52:54:00:cf:2d:31", "name": "fooname", "links": [{"href": "http://localhost/v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4", "rel": "self"}, {"href": "http://localhost/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4", "rel": "bookmark"}]}]} DEBUG util.py:445: ACL Test GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-1fd74bc6-e76d-4233-b992-b1e601fad6a8 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"portgroups": [{"uuid": "b16efcf3-2990-41a1-bc1d-5e2c16f3d5fc", "address": "01:03:09:ff:01:01", "name": "magicfoo", "links": [{"href": "http://localhost/v1/portgroups/b16efcf3-2990-41a1-bc1d-5e2c16f3d5fc", "rel": "self"}, {"href": "http://localhost/portgroups/b16efcf3-2990-41a1-bc1d-5e2c16f3d5fc", "rel": "bookmark"}]}, {"uuid": "6eb02b44-18a3-4659-8c0b-8d2802581ae4", "address": "52:54:00:cf:2d:31", "name": "fooname", "links": [{"href": "http://localhost/v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4", "rel": "self"}, {"href": "http://localhost/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4", "rel": "bookmark"}]}]} DEBUG util.py:445: API ACL Testing Path post /v1/portgroups DEBUG util.py:445: POST: /v1/portgroups {'node_uuid': '1ab63b9e-66d7-4cd7-8618-dddd0f9f7881'} DEBUG util.py:445: GOT:Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-58ea519e-d8c1-48e5-9916-8aaf4d17068a DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:portgroup:create\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-58ea519e-d8c1-48e5-9916-8aaf4d17068a DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:portgroup:create\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path post /v1/portgroups DEBUG util.py:445: POST: /v1/portgroups {'node_uuid': '38d5abed-c585-4fce-a57e-a2ffc2a2ec6f'} DEBUG util.py:445: GOT:Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-195171c8-83da-4e5e-a878-dafa360ea40e DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:portgroup:create\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-195171c8-83da-4e5e-a878-dafa360ea40e DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:portgroup:create\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path get /v1/nodes/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-675e6017-bf03-4bff-90db-9b126291637f DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"portgroups": [{"uuid": "b16efcf3-2990-41a1-bc1d-5e2c16f3d5fc", "address": "01:03:09:ff:01:01", "name": "magicfoo", "links": [{"href": "http://localhost/v1/portgroups/b16efcf3-2990-41a1-bc1d-5e2c16f3d5fc", "rel": "self"}, {"href": "http://localhost/portgroups/b16efcf3-2990-41a1-bc1d-5e2c16f3d5fc", "rel": "bookmark"}]}]} DEBUG util.py:445: ACL Test GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-675e6017-bf03-4bff-90db-9b126291637f DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"portgroups": [{"uuid": "b16efcf3-2990-41a1-bc1d-5e2c16f3d5fc", "address": "01:03:09:ff:01:01", "name": "magicfoo", "links": [{"href": "http://localhost/v1/portgroups/b16efcf3-2990-41a1-bc1d-5e2c16f3d5fc", "rel": "self"}, {"href": "http://localhost/portgroups/b16efcf3-2990-41a1-bc1d-5e2c16f3d5fc", "rel": "bookmark"}]}]} DEBUG util.py:445: API ACL Testing Path get /v1/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-366b8715-1195-4099-b946-07617447839f DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"ports": [{"uuid": "ebe30f19-358d-41e1-8d28-fd7357a0164c", "address": "00:00:00:00:00:01", "links": [{"href": "http://localhost/v1/ports/ebe30f19-358d-41e1-8d28-fd7357a0164c", "rel": "self"}, {"href": "http://localhost/ports/ebe30f19-358d-41e1-8d28-fd7357a0164c", "rel": "bookmark"}]}, {"uuid": "21a3c5a7-1e14-44dc-a9dd-0c84d5477a57", "address": "00:00:00:00:00:02", "links": [{"href": "http://localhost/v1/ports/21a3c5a7-1e14-44dc-a9dd-0c84d5477a57", "rel": "self"}, {"href": "http://localhost/ports/21a3c5a7-1e14-44dc-a9dd-0c84d5477a57", "rel": "bookmark"}]}, {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "address": "52:54:00:cf:2d:31", "links": [{"href": "http://localhost/v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "self"}, {"href": "http://localhost/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "bookmark"}]}]} DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00229_owner_reader_can_list_ports [0.051163s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00210_third_party_admin_cannot_read_portgroup [0.082606s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00236_owner_admin_cannot_add_ports_to_other_nodes [0.047235s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00234_third_party_admin_cannot_read_port [0.050841s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00154_owner_reader_cannot_put_vendor_passthru [0.059648s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00238_lessee_admin_cannot_add_port [0.048427s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00214_lessee_member_cannot_add_portgroup [0.058375s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00241_owner_admin_can_modify_port [0.053206s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00161_lessee_admin_cannot_delete_vendor_passthru [0.047430s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00239_lessee_member_cannot_add_port [0.048039s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00233_lessee_reader_can_read_port [0.052588s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00162_lessee_member_cannot_delete_vendor_passthru [0.049368s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00240_third_party_admin_cannot_add_port [0.048841s] ... 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-c872f025-40d9-4fd1-81fd-2f46d9a88bf0 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:portgroup:delete\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-c872f025-40d9-4fd1-81fd-2f46d9a88bf0 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:portgroup:delete\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path delete /v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4 DEBUG util.py:445: DELETE: /v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4 DEBUG util.py:445: GOT:Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-ec7d112f-bc34-47d0-b1b7-d129cca61017 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Portgroup 6eb02b44-18a3-4659-8c0b-8d2802581ae4 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-ec7d112f-bc34-47d0-b1b7-d129cca61017 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Portgroup 6eb02b44-18a3-4659-8c0b-8d2802581ae4 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path get /v1/nodes/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-d5873a29-4c75-4f18-90c4-dee89a6a08d8 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 38d5abed-c585-4fce-a57e-a2ffc2a2ec6f could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-d5873a29-4c75-4f18-90c4-dee89a6a08d8 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 38d5abed-c585-4fce-a57e-a2ffc2a2ec6f could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path get /v1/ports DEBUG util.py:445: GET: /v1/ports {} DEBUG util.py:445: GOT:Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-9308ace2-61e4-4538-b956-631683b3341b DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"ports": [{"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "address": "52:54:00:cf:2d:31", "links": [{"href": "http://localhost/v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "self"}, {"href": "http://localhost/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "bookmark"}]}]} DEBUG util.py:445: ACL Test GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-9308ace2-61e4-4538-b956-631683b3341b DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"ports": [{"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "address": "52:54:00:cf:2d:31", "links": [{"href": "http://localhost/v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "self"}, {"href": "http://localhost/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "bookmark"}]}]} DEBUG util.py:445: API ACL Testing Path get /v1/ports/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-d3ea4212-ec67-439e-ac61-baa4b715b70f DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"uuid": "ebe30f19-358d-41e1-8d28-fd7357a0164c", "created_at": "2024-05-14T11:54:24.904275+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-d3ea4212-ec67-439e-ac61-baa4b715b70f DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"uuid": "ebe30f19-358d-41e1-8d28-fd7357a0164c", "created_at": "2024-05-14T11:54:24.904275+00:00", "updated_at": null, "address": "00:00:00:00:00:01", "extra": {}, "internal_info": {"bar": "buzz"}, "is_smartnic": false, "local_link_connection": {"switch_id": "0a:1b:2c:3d:4e:5f", "port_id": "Ethernet3/1", "switch_info": "switch1"}, "physical_network": null, "pxe_enabled": true, "links": [{"href": "http://localhost/v1/ports/ebe30f19-358d-41e1-8d28-fd7357a0164c", "rel": "self"}, {"href": "http://localhost/ports/ebe30f19-358d-41e1-8d28-fd7357a0164c", "rel": "bookmark"}], "node_uuid": "1ab63b9e-66d7-4cd7-8618-dddd0f9f7881", "portgroup_uuid": null} DEBUG util.py:445: API ACL Testing Path get /v1/ports/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-6e971c30-2015-467f-8258-e524f4176f4c DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Port abfd8dbb-1732-449a-b760-2224035c6b99 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-6e971c30-2015-467f-8258-e524f4176f4c DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Port abfd8dbb-1732-449a-b760-2224035c6b99 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path 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-ef61e0b5-168d-45b1-8021-1d3dfddb6646 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-ef61e0b5-168d-45b1-8021-1d3dfddb6646 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path patch /v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 DEBUG util.py:445: PATCH: /v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 [{'op': 'replace', 'path': '/extra', 'value': {'test': 'testing'}}] DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00244_lessee_member_cannot_modify_port [0.049102s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00249_lessee_member_cannot_delete_port [0.048538s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00166_third_party_admin_cannot_get_traits [0.048531s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00237_owner_member_cannot_add_port [0.082181s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00242_owner_member_cannot_modify_port [0.049399s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00250_third_party_admin_cannot_delete_port [0.047789s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00246_owner_admin_can_delete_port [0.052467s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00247_owner_member_cannot_delete_port [0.048596s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00258_lessee_reader_can_list_volume_connectors [0.073521s] ... 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-c5f9aee7-a760-42cd-8eab-d9f122e61bc0 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:vendor_passthru\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-c5f9aee7-a760-42cd-8eab-d9f122e61bc0 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:vendor_passthru\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path post /v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f/vendor_passthru?method=test DEBUG util.py:445: POST: /v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f/vendor_passthru?method=test None DEBUG util.py:445: GOT:Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-0d88d236-001a-417c-810b-ef56b4abf03e DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:vendor_passthru\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-0d88d236-001a-417c-810b-ef56b4abf03e DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:vendor_passthru\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path post /v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f/vendor_passthru?method=test DEBUG util.py:445: POST: /v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f/vendor_passthru?method=test None DEBUG util.py:445: GOT:Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-a2390fb4-9de8-486a-99d8-4672dbbd22cb DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:vendor_passthru\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-a2390fb4-9de8-486a-99d8-4672dbbd22cb DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:vendor_passthru\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path put /v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/vendor_passthru?method=test DEBUG util.py:445: PUT: /v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/vendor_passthru?method=test None DEBUG util.py:445: GOT:Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-0514e957-5654-449c-9b86-8fc2904c096b DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:vendor_passthru\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-0514e957-5654-449c-9b86-8fc2904c096b DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:vendor_passthru\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path put /v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/vendor_passthru?method=test DEBUG util.py:445: PUT: /v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/vendor_passthru?method=test None DEBUG util.py:445: GOT:Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-ff6760c0-eb53-497e-bc5f-dad9335a612d DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:vendor_passthru\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-ff6760c0-eb53-497e-bc5f-dad9335a612d DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:vendor_passthru\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path delete /v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f/vendor_passthru?method=test DEBUG util.py:445: DELETE: /v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f/vendor_passthru?method=test DEBUG util.py:445: GOT:Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-d3a17362-09cf-478c-8acf-5129860ba399 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:vendor_passthru\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-d3a17362-09cf-478c-8acf-5129860ba399 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:vendor_passthru\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path delete /v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f/vendor_passthru?method=test DEBUG util.py:445: DELETE: /v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f/vendor_passthru?method=test DEBUG util.py:445: GOT:Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-c7dd5927-4a98-4f54-bc4e-f345f0ff6ed6 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:vendor_passthru\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-c7dd5927-4a98-4f54-bc4e-f345f0ff6ed6 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:vendor_passthru\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path get /v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f/traits DEBUG util.py:445: GET: /v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f/traits {} DEBUG util.py:445: GOT:Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-8e9c57d3-7db5-4112-b295-7812b26ceeb1 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 38d5abed-c585-4fce-a57e-a2ffc2a2ec6f could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-8e9c57d3-7db5-4112-b295-7812b26ceeb1 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 38d5abed-c585-4fce-a57e-a2ffc2a2ec6f could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path put /v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/traits DEBUG util.py:445: PUT: /v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/traits {'traits': ['CUSTOM_TRAIT1', 'HW_CPU_X86_VMX']} DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00167_owner_admin_can_put_traits [0.050353s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00180_lessee_member_cannot_put_custom_traits [0.048972s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00256_third_party_admin_cannot_get_ports_by_portgroup [0.049327s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00187_owner_member_can_post_vifs [0.048839s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00261_lessee_admin_cannot_post_volume_connector [0.054106s] ... 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-11989b3a-f2f4-4bd3-a0e0-59387af2c479 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"uuid": "b16efcf3-2990-41a1-bc1d-5e2c16f3d5fc", "created_at": "2024-05-14T11:54:24.855975+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-11989b3a-f2f4-4bd3-a0e0-59387af2c479 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"uuid": "b16efcf3-2990-41a1-bc1d-5e2c16f3d5fc", "created_at": "2024-05-14T11:54:24.855975+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/b16efcf3-2990-41a1-bc1d-5e2c16f3d5fc DEBUG util.py:445: GET: /v1/portgroups/b16efcf3-2990-41a1-bc1d-5e2c16f3d5fc {} DEBUG util.py:445: GOT:Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-6e243987-91c5-4393-a6cf-689e0a1fdebb DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Portgroup b16efcf3-2990-41a1-bc1d-5e2c16f3d5fc could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-6e243987-91c5-4393-a6cf-689e0a1fdebb DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Portgroup b16efcf3-2990-41a1-bc1d-5e2c16f3d5fc could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path 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-86c3abbf-cff2-44ff-ab13-b3ec0a858341 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:portgroup:create\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-86c3abbf-cff2-44ff-ab13-b3ec0a858341 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:portgroup:create\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path get /v1/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-6fe5dde1-afc6-4dcd-8c13-79b77719f3d9 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2024-05-14T11:54:25.058737+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-6fe5dde1-afc6-4dcd-8c13-79b77719f3d9 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2024-05-14T11:54:25.058737+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: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-76f1f785-4490-4898-92cf-97f8ca595dc8 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:port:create\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-76f1f785-4490-4898-92cf-97f8ca595dc8 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:port:create\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path 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-6cf42e47-91f1-4106-8a78-62f115fef3c2 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-6cf42e47-91f1-4106-8a78-62f115fef3c2 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path get /v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/ports DEBUG util.py:445: GET: /v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/ports {} DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00251_owner_reader_can_get_node_ports [0.059268s] ... 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-366b8715-1195-4099-b946-07617447839f DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"ports": [{"uuid": "ebe30f19-358d-41e1-8d28-fd7357a0164c", "address": "00:00:00:00:00:01", "links": [{"href": "http://localhost/v1/ports/ebe30f19-358d-41e1-8d28-fd7357a0164c", "rel": "self"}, {"href": "http://localhost/ports/ebe30f19-358d-41e1-8d28-fd7357a0164c", "rel": "bookmark"}]}, {"uuid": "21a3c5a7-1e14-44dc-a9dd-0c84d5477a57", "address": "00:00:00:00:00:02", "links": [{"href": "http://localhost/v1/ports/21a3c5a7-1e14-44dc-a9dd-0c84d5477a57", "rel": "self"}, {"href": "http://localhost/ports/21a3c5a7-1e14-44dc-a9dd-0c84d5477a57", "rel": "bookmark"}]}, {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "address": "52:54:00:cf:2d:31", "links": [{"href": "http://localhost/v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "self"}, {"href": "http://localhost/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "bookmark"}]}]} DEBUG util.py:445: API ACL Testing Path 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-45fd046c-1c6b-44bc-8fff-afc56a34a8ab DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:port:create\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-45fd046c-1c6b-44bc-8fff-afc56a34a8ab DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:port:create\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path post /v1/ports DEBUG util.py:445: POST: /v1/ports {'node_uuid': '38d5abed-c585-4fce-a57e-a2ffc2a2ec6f', 'address': '00:01:02:03:04:05'} DEBUG util.py:445: GOT:Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-cf64bae7-a69e-4eac-80af-f958907d3b50 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:port:create\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-cf64bae7-a69e-4eac-80af-f958907d3b50 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:port:create\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path post /v1/ports DEBUG util.py:445: POST: /v1/ports {'node_uuid': '38d5abed-c585-4fce-a57e-a2ffc2a2ec6f', 'address': '00:01:02:03:04:05'} DEBUG util.py:445: GOT:Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-03808788-d19c-4750-b4a4-3aec668c8fae DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:port:create\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-03808788-d19c-4750-b4a4-3aec668c8fae DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:port:create\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path post /v1/ports DEBUG util.py:445: POST: /v1/ports {'node_uuid': '38d5abed-c585-4fce-a57e-a2ffc2a2ec6f', 'address': '00:01:02:03:04:05'} DEBUG util.py:445: GOT:Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-5c3fc008-6053-4b40-83bf-442bb0ca6d60 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:port:create\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-5c3fc008-6053-4b40-83bf-442bb0ca6d60 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:port:create\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path patch /v1/ports/ebe30f19-358d-41e1-8d28-fd7357a0164c DEBUG util.py:445: PATCH: /v1/ports/ebe30f19-358d-41e1-8d28-fd7357a0164c [{'op': 'replace', 'path': '/extra', 'value': {'test': 'testing'}}] DEBUG util.py:445: GOT:Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-ef56c777-fec5-4e7c-9624-75eb86d6b166 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:port:update\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-ef56c777-fec5-4e7c-9624-75eb86d6b166 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:port:update\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path delete /v1/ports/ebe30f19-358d-41e1-8d28-fd7357a0164c DEBUG util.py:445: DELETE: /v1/ports/ebe30f19-358d-41e1-8d28-fd7357a0164c DEBUG util.py:445: GOT:Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-ba1b6fcf-fe1b-4b4c-a332-7d3ec6dd7aaa DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:port:delete\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-ba1b6fcf-fe1b-4b4c-a332-7d3ec6dd7aaa DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:port:delete\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path get /v1/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-1c598deb-4a66-42b1-83c0-9dde4d75c1b7 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Portgroup 5810f41c-6585-41fc-b9c9-a94f50d421b5 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-1c598deb-4a66-42b1-83c0-9dde4d75c1b7 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Portgroup 5810f41c-6585-41fc-b9c9-a94f50d421b5 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path 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: {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00260_owner_admin_can_post_volume_connector [0.050371s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00189_owner_reader_cannot_post_vifs [0.049001s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00253_third_party_admin_cannot_get_ports [0.097064s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00262_third_party_admin_cannot_post_volume_connector [0.055495s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00272_lessee_admin_can_delete_volume_connectors [0.074858s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00190_lessee_reader_cannot_post_vifs [0.048013s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00263_owner_reader_can_get_volume_connector [0.051954s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00254_owner_reader_can_get_ports_by_portgroup [0.060061s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00273_third_party_admin_cannot_delete_volume_connector [0.048998s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00192_owner_admin_delete_vifs [0.048759s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00268_lessee_admin_cannot_patch_volume_connectors [0.053881s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00194_owner_member_can_delete_vifs [0.047454s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00255_lessee_reader_can_get_ports_by_portgroup [0.067065s] ... 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-9cc31463-cca5-4911-acca-90074d1f28a3 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:port:update\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-9cc31463-cca5-4911-acca-90074d1f28a3 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:port:update\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path delete /v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 DEBUG util.py:445: DELETE: /v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 DEBUG util.py:445: GOT:Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-4d5e6cfa-38c0-4ce3-946e-ca41d7313285 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:port:delete\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-4d5e6cfa-38c0-4ce3-946e-ca41d7313285 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:port:delete\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path delete /v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 DEBUG util.py:445: DELETE: /v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 DEBUG util.py:445: GOT:Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-1331b484-c58e-4fbe-95fd-94b67e5919bf DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Port 1be26c0b-03f2-4d2e-ae87-c02d7f33c781 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-1331b484-c58e-4fbe-95fd-94b67e5919bf DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Port 1be26c0b-03f2-4d2e-ae87-c02d7f33c781 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path get /v1/volume/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-2ca25030-99ee-4489-b66e-f3e815848483 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"connectors": [{"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "connector_id": "iqn.2012-06.com.example:initiator", "type": "iqn", "links": [{"href": "http://localhost/v1/volume/connectors/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "self"}, {"href": "http://localhost/volume/connectors/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "bookmark"}], "node_uuid": "38d5abed-c585-4fce-a57e-a2ffc2a2ec6f"}]} DEBUG util.py:445: ACL Test GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-2ca25030-99ee-4489-b66e-f3e815848483 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"connectors": [{"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "connector_id": "iqn.2012-06.com.example:initiator", "type": "iqn", "links": [{"href": "http://localhost/v1/volume/connectors/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "self"}, {"href": "http://localhost/volume/connectors/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "bookmark"}], "node_uuid": "38d5abed-c585-4fce-a57e-a2ffc2a2ec6f"}]} DEBUG util.py:445: API ACL Testing Path post /v1/volume/connectors DEBUG util.py:445: POST: /v1/volume/connectors {'node_uuid': '1ab63b9e-66d7-4cd7-8618-dddd0f9f7881', 'type': 'ip', 'connector_id': '192.168.1.100'} DEBUG util.py:445: GOT:Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-925e29d6-ed77-49a5-9db8-f1b0fb92d7cf DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:volume:create\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-925e29d6-ed77-49a5-9db8-f1b0fb92d7cf DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:volume:create\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path delete /v1/volume/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-c7e7f893-382e-475c-8421-cc009df62d3b DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-c7e7f893-382e-475c-8421-cc009df62d3b DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path delete /v1/volume/connectors/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 DEBUG util.py:445: DELETE: /v1/volume/connectors/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 DEBUG util.py:445: GOT:Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-871f71b0-a9bb-46e8-995a-0b58cd8a96c4 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Volume connector 1be26c0b-03f2-4d2e-ae87-c02d7f33c781 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-871f71b0-a9bb-46e8-995a-0b58cd8a96c4 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Volume connector 1be26c0b-03f2-4d2e-ae87-c02d7f33c781 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path get /v1/volume/targets/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-8ef19161-f2ae-4b53-9882-873a99364c2a DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2024-05-14T11:54:25.464528+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: {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00277_owner_reader_can_get_volume_target [0.050574s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00279_third_party_admin_cannot_get_volume_target [0.048960s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00266_lessee_member_cannot_patch_volume_connectors [0.050516s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00269_owner_member_can_patch_volume_connectors [0.071896s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00196_third_party_admin_cannot_delete_vifs [0.048018s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00288_lessee_admin_can_delete_volume_target [0.051998s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00270_third_party_admin_cannot_patch_volume_connectors [0.059182s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00271_owner_admin_can_delete_volume_connectors [0.070226s] ... 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-ec849349-ef78-4931-9241-eda2429ea7b9 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-ec849349-ef78-4931-9241-eda2429ea7b9 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path put /v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f/traits/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-6677dfd3-77a2-425b-8cf4-9aab7ed9d530 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:traits:set\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-6677dfd3-77a2-425b-8cf4-9aab7ed9d530 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:traits:set\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path post /v1/nodes/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-51187e59-773f-4679-8469-c8b34bf2b518 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-51187e59-773f-4679-8469-c8b34bf2b518 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path post /v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/vifs DEBUG util.py:445: POST: /v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/vifs {'id': 'ee21d58f-5de2-4956-85ff-33935ea1ca00'} DEBUG util.py:445: GOT:Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-71aaa5d8-54f4-43b7-b884-1c589e3a3cf4 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:vif:attach\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-71aaa5d8-54f4-43b7-b884-1c589e3a3cf4 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:vif:attach\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path post /v1/nodes/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-f79e6e78-f5e8-4094-abe8-50fa1b84c235 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:vif:attach\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-f79e6e78-f5e8-4094-abe8-50fa1b84c235 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:vif:attach\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path delete /v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/vifs/0e21d58f-5de2-4956-85ff-33935ea1ca01 DEBUG util.py:445: DELETE: /v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/vifs/0e21d58f-5de2-4956-85ff-33935ea1ca01 DEBUG util.py:445: GOT:Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-002ab782-efd1-4cfa-b14a-fff017c34cf3 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-002ab782-efd1-4cfa-b14a-fff017c34cf3 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path delete /v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/vifs/0e21d58f-5de2-4956-85ff-33935ea1ca01 DEBUG util.py:445: DELETE: /v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/vifs/0e21d58f-5de2-4956-85ff-33935ea1ca01 DEBUG util.py:445: GOT:Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-0b2317cb-71d3-4724-b085-c9132490003f DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-0b2317cb-71d3-4724-b085-c9132490003f DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path delete /v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/vifs/0e21d58f-5de2-4956-85ff-33935ea1ca01 DEBUG util.py:445: DELETE: /v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/vifs/0e21d58f-5de2-4956-85ff-33935ea1ca01 DEBUG util.py:445: GOT:Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-1e9ba566-b2f8-4067-a199-9da699696ac5 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1ab63b9e-66d7-4cd7-8618-dddd0f9f7881 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-1e9ba566-b2f8-4067-a199-9da699696ac5 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1ab63b9e-66d7-4cd7-8618-dddd0f9f7881 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path get /v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f/management/indicators DEBUG util.py:445: GET: /v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f/management/indicators {} DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00198_lesse_readers_can_get_indicators [0.050557s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00202_owner_member_can_set_indicator [0.048851s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00290_lessee_member_cannot_delete_volume_target [0.074392s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00275_lesse_reader_can_get_targets [0.060336s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00276_third_party_admin_cannot_get_target_list [0.052246s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00209_lessee_reader_can_read_portgroup [0.051027s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00292_owner_reader_can_get_volume_connectors [0.054179s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00213_lessee_admin_cannot_add_portgroup [0.049099s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00297_third_part_admin_cannot_read_node_volume_targets [0.049054s] ... 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/7edcf472-f182-453e-a611-01fdc8039e71 DEBUG util.py:445: Openstack-Request-Id: req-852d39db-0340-4016-abd4-90fde72bdc32 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"uuid": "7edcf472-f182-453e-a611-01fdc8039e71", "created_at": "2024-05-14T11:54:25.309043+00:00", "updated_at": null, "connector_id": "192.168.1.100", "extra": {}, "type": "ip", "links": [{"href": "http://localhost/v1/volume/connectors/7edcf472-f182-453e-a611-01fdc8039e71", "rel": "self"}, {"href": "http://localhost/volume/connectors/7edcf472-f182-453e-a611-01fdc8039e71", "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/7edcf472-f182-453e-a611-01fdc8039e71 DEBUG util.py:445: Openstack-Request-Id: req-852d39db-0340-4016-abd4-90fde72bdc32 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"uuid": "7edcf472-f182-453e-a611-01fdc8039e71", "created_at": "2024-05-14T11:54:25.309043+00:00", "updated_at": null, "connector_id": "192.168.1.100", "extra": {}, "type": "ip", "links": [{"href": "http://localhost/v1/volume/connectors/7edcf472-f182-453e-a611-01fdc8039e71", "rel": "self"}, {"href": "http://localhost/volume/connectors/7edcf472-f182-453e-a611-01fdc8039e71", "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-9dc98e8a-cea7-4c20-b402-37b67cf31c1a DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:volume:create\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-9dc98e8a-cea7-4c20-b402-37b67cf31c1a DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:volume:create\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path get /v1/volume/connectors/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 DEBUG util.py:445: GET: /v1/volume/connectors/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 {} DEBUG util.py:445: GOT:Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-146f33ef-745b-4b09-8fc4-c8e1c027b792 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2024-05-14T11:54:25.400866+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-146f33ef-745b-4b09-8fc4-c8e1c027b792 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2024-05-14T11:54:25.400866+00:00", "updated_at": null, "connector_id": "iqn.2012-06.com.example:initiator", "extra": {}, "type": "iqn", "links": [{"href": "http://localhost/v1/volume/connectors/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "self"}, {"href": "http://localhost/volume/connectors/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "bookmark"}], "node_uuid": "38d5abed-c585-4fce-a57e-a2ffc2a2ec6f"} DEBUG util.py:445: API ACL Testing Path patch /v1/volume/connectors/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 DEBUG util.py:445: PATCH: /v1/volume/connectors/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 [{'op': 'replace', 'path': '/extra', 'value': {'test': 'testing'}}] DEBUG util.py:445: GOT:Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-add8c44e-f187-4300-a9f7-44bbd4a1d0ac DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-add8c44e-f187-4300-a9f7-44bbd4a1d0ac DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path patch /v1/volume/connectors/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 DEBUG util.py:445: PATCH: /v1/volume/connectors/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 [{'op': 'replace', 'path': '/extra', 'value': {'test': 'testing'}}] DEBUG util.py:445: GOT:Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-1ad89390-70d3-4566-ba1c-0fcaf037d471 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-1ad89390-70d3-4566-ba1c-0fcaf037d471 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path delete /v1/volume/connectors/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 DEBUG util.py:445: DELETE: /v1/volume/connectors/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 DEBUG util.py:445: GOT:Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-2d0d6900-f153-485b-9d54-e211dc55636a DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-2d0d6900-f153-485b-9d54-e211dc55636a DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path get /v1/volume/targets DEBUG util.py:445: GET: /v1/volume/targets {} DEBUG util.py:445: GOT:Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-54fd0649-5e5a-4150-9ca3-0e7e44adab71 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"targets": []} DEBUG util.py:445: ACL Test GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-54fd0649-5e5a-4150-9ca3-0e7e44adab71 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"targets": []} DEBUG util.py:445: API ACL Testing Path 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: {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00282_third_party_admin_cannot_create_volume_target [0.048851s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00291_third_party_admin_cannot_delete_volume_target [0.048508s] ... 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-2aa06062-9f14-4caa-b674-1577386e7496 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"ports": [{"uuid": "ebe30f19-358d-41e1-8d28-fd7357a0164c", "address": "00:00:00:00:00:01", "links": [{"href": "http://localhost/v1/ports/ebe30f19-358d-41e1-8d28-fd7357a0164c", "rel": "self"}, {"href": "http://localhost/ports/ebe30f19-358d-41e1-8d28-fd7357a0164c", "rel": "bookmark"}]}, {"uuid": "21a3c5a7-1e14-44dc-a9dd-0c84d5477a57", "address": "00:00:00:00:00:02", "links": [{"href": "http://localhost/v1/ports/21a3c5a7-1e14-44dc-a9dd-0c84d5477a57", "rel": "self"}, {"href": "http://localhost/ports/21a3c5a7-1e14-44dc-a9dd-0c84d5477a57", "rel": "bookmark"}]}]} DEBUG util.py:445: ACL Test GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-2aa06062-9f14-4caa-b674-1577386e7496 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"ports": [{"uuid": "ebe30f19-358d-41e1-8d28-fd7357a0164c", "address": "00:00:00:00:00:01", "links": [{"href": "http://localhost/v1/ports/ebe30f19-358d-41e1-8d28-fd7357a0164c", "rel": "self"}, {"href": "http://localhost/ports/ebe30f19-358d-41e1-8d28-fd7357a0164c", "rel": "bookmark"}]}, {"uuid": "21a3c5a7-1e14-44dc-a9dd-0c84d5477a57", "address": "00:00:00:00:00:02", "links": [{"href": "http://localhost/v1/ports/21a3c5a7-1e14-44dc-a9dd-0c84d5477a57", "rel": "self"}, {"href": "http://localhost/ports/21a3c5a7-1e14-44dc-a9dd-0c84d5477a57", "rel": "bookmark"}]}]} DEBUG util.py:445: API ACL Testing Path get /v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f/ports DEBUG util.py:445: GET: /v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f/ports {} DEBUG util.py:445: GOT:Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-797d689a-b619-429f-9e84-fb56d31a3934 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 38d5abed-c585-4fce-a57e-a2ffc2a2ec6f could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-797d689a-b619-429f-9e84-fb56d31a3934 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 38d5abed-c585-4fce-a57e-a2ffc2a2ec6f could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path get /v1/portgroups/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-0c3fe07b-cd1c-48ae-9dc7-2fdeae735fca DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"ports": []} DEBUG util.py:445: ACL Test GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-0c3fe07b-cd1c-48ae-9dc7-2fdeae735fca DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"ports": []} DEBUG util.py:445: API ACL Testing Path get /v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4/ports DEBUG util.py:445: GET: /v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4/ports {} DEBUG util.py:445: GOT:Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-6505edcb-a946-48be-879f-9ce33c13b9b3 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"ports": []} DEBUG util.py:445: ACL Test GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-6505edcb-a946-48be-879f-9ce33c13b9b3 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"ports": []} DEBUG util.py:445: API ACL Testing Path 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-4ca5e36d-de92-43cf-9ad3-4aff768daf22 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:volume:update\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-4ca5e36d-de92-43cf-9ad3-4aff768daf22 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:volume:update\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path patch /v1/volume/connectors/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 DEBUG util.py:445: PATCH: /v1/volume/connectors/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 [{'op': 'replace', 'path': '/extra', 'value': {'test': 'testing'}}] DEBUG util.py:445: GOT:Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-4f31cbf9-19ef-41bd-96e2-aa4dc95be2cf DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Volume connector 1be26c0b-03f2-4d2e-ae87-c02d7f33c781 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-4f31cbf9-19ef-41bd-96e2-aa4dc95be2cf DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Volume connector 1be26c0b-03f2-4d2e-ae87-c02d7f33c781 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path get /v1/volume/targets DEBUG util.py:445: GET: /v1/volume/targets {} DEBUG util.py:445: GOT:Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-2635dd8a-195a-4f2c-98f4-aa4596e24f27 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"targets": [{"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "boot_index": 0, "volume_id": "12345678", "volume_type": "iscsi", "links": [{"href": "http://localhost/v1/volume/targets/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "self"}, {"href": "http://localhost/volume/targets/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "bookmark"}], "node_uuid": "38d5abed-c585-4fce-a57e-a2ffc2a2ec6f"}]} DEBUG util.py:445: ACL Test GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-2635dd8a-195a-4f2c-98f4-aa4596e24f27 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"targets": [{"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "boot_index": 0, "volume_id": "12345678", "volume_type": "iscsi", "links": [{"href": "http://localhost/v1/volume/targets/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "self"}, {"href": "http://localhost/volume/targets/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "bookmark"}], "node_uuid": "38d5abed-c585-4fce-a57e-a2ffc2a2ec6f"}]} DEBUG util.py:445: API ACL Testing Path 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: {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00280_owner_admin_create_volume_target [0.085640s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00216_owner_admin_can_modify_portgroup [0.051608s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00304_owner_reader_can_get_bios_setttings [0.051245s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00293_lessee_reader_can_get_node_volume_connectors [0.053602s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00284_lessee_admin_can_patch_volume_target [0.091711s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00217_owner_member_cannot_modify_portgroup [0.049300s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00220_third_party_admin_cannot_modify_portgroup [0.047388s] ... ok 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-8ef19161-f2ae-4b53-9882-873a99364c2a DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2024-05-14T11:54:25.464528+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: GOT:Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-ac2b5c12-6403-468d-8800-df1f3a5d6b76 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Volume target 1be26c0b-03f2-4d2e-ae87-c02d7f33c781 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-ac2b5c12-6403-468d-8800-df1f3a5d6b76 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Volume target 1be26c0b-03f2-4d2e-ae87-c02d7f33c781 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path delete /v1/volume/targets/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 DEBUG util.py:445: DELETE: /v1/volume/targets/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 DEBUG util.py:445: GOT:Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-10b9cae5-3d0f-4c08-a318-79ae62e524c5 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-10b9cae5-3d0f-4c08-a318-79ae62e524c5 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path delete /v1/volume/targets/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 DEBUG util.py:445: DELETE: /v1/volume/targets/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 DEBUG util.py:445: GOT:Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-2bdc3794-bcdf-4261-9d98-ad9ccf90d2bf DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:volume:delete\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-2bdc3794-bcdf-4261-9d98-ad9ccf90d2bf DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:volume:delete\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path get /v1/nodes/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-53c170e5-c79f-4e96-ba37-56ef923e2a78 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"connectors": [{"uuid": "65ea0296-219b-4635-b0c8-a6e055da878d", "connector_id": "iqn.2012-06.org.openstack.magic", "type": "iqn", "links": [{"href": "http://localhost/v1/volume/connectors/65ea0296-219b-4635-b0c8-a6e055da878d", "rel": "self"}, {"href": "http://localhost/volume/connectors/65ea0296-219b-4635-b0c8-a6e055da878d", "rel": "bookmark"}], "node_uuid": "1ab63b9e-66d7-4cd7-8618-dddd0f9f7881"}]} DEBUG util.py:445: ACL Test GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-53c170e5-c79f-4e96-ba37-56ef923e2a78 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"connectors": [{"uuid": "65ea0296-219b-4635-b0c8-a6e055da878d", "connector_id": "iqn.2012-06.org.openstack.magic", "type": "iqn", "links": [{"href": "http://localhost/v1/volume/connectors/65ea0296-219b-4635-b0c8-a6e055da878d", "rel": "self"}, {"href": "http://localhost/volume/connectors/65ea0296-219b-4635-b0c8-a6e055da878d", "rel": "bookmark"}], "node_uuid": "1ab63b9e-66d7-4cd7-8618-dddd0f9f7881"}]} DEBUG util.py:445: API ACL Testing Path get /v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f/volume/targets DEBUG util.py:445: GET: /v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f/volume/targets {} DEBUG util.py:445: GOT:Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-4f6c75f5-74e1-4a64-92a4-a580a0d1c4f9 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 38d5abed-c585-4fce-a57e-a2ffc2a2ec6f could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-4f6c75f5-74e1-4a64-92a4-a580a0d1c4f9 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 38d5abed-c585-4fce-a57e-a2ffc2a2ec6f could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path get /v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/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-073e2901-62de-48e8-8518-0c27ba3beb42 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"bios": []} DEBUG util.py:445: ACL Test GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-073e2901-62de-48e8-8518-0c27ba3beb42 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"bios": []} DEBUG util.py:445: API ACL Testing Path get /v1/allocations/0af62a11-6f61-4051-9599-73d504c14464 DEBUG util.py:445: GET: /v1/allocations/0af62a11-6f61-4051-9599-73d504c14464 {} DEBUG util.py:445: GOT:Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-9ffeae10-b088-4e0a-aa06-13c87418c5dd DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"uuid": "0af62a11-6f61-4051-9599-73d504c14464", "created_at": "2024-05-14T11:54:25.848282+00:00", "updated_at": null, "candidate_nodes": [], "extra": {}, "last_error": null, "name": null, "owner": "f11853c7-fa9c-4db3-a477-c9d8e0dbbf13", "resource_class": "CUSTOM_LEASED", "state": "allocating", "traits": [], "links": [{"href": "http://localhost/v1/allocations/0af62a11-6f61-4051-9599-73d504c14464", "rel": "self"}, {"href": "http://localhost/allocations/0af62a11-6f61-4051-9599-73d504c14464", "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: {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00313_lessee_reader_can_get_their_allocation [0.048859s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00314_owner_admin_can_delete_their_allocation [0.048844s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00296_lessee_reader_can_get_node_volume_targets [0.075760s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00285_lessee_member_cannot_patch_volume_target [0.053466s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00317_lessee_member_can_delete_their_allocation [0.048711s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00286_third_party_admin_cannot_patch_volume_target [0.059506s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00298_owner_reader_cannot_get_drivers [0.068971s] ... 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-42635601-ca8e-48df-ba0d-cd1f75881f2d DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-42635601-ca8e-48df-ba0d-cd1f75881f2d DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path put /v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/management/indicators/component/magic_light DEBUG util.py:445: PUT: /v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/management/indicators/component/magic_light None DEBUG util.py:445: GOT:Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-8e116185-2a8a-438a-991d-9ce4e0212b71 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-8e116185-2a8a-438a-991d-9ce4e0212b71 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path get /v1/portgroups/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-c2b0605d-f951-454a-8d37-59dac0272599 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"uuid": "6eb02b44-18a3-4659-8c0b-8d2802581ae4", "created_at": "2024-05-14T11:54:25.672403+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-c2b0605d-f951-454a-8d37-59dac0272599 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"uuid": "6eb02b44-18a3-4659-8c0b-8d2802581ae4", "created_at": "2024-05-14T11:54:25.672403+00:00", "updated_at": null, "address": "52:54:00:cf:2d:31", "extra": {}, "internal_info": {"bar": "buzz"}, "mode": "active-backup", "name": "fooname", "properties": {}, "standalone_ports_supported": true, "links": [{"href": "http://localhost/v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4", "rel": "self"}, {"href": "http://localhost/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4", "rel": "bookmark"}], "node_uuid": "38d5abed-c585-4fce-a57e-a2ffc2a2ec6f", "ports": [{"href": "http://localhost/v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4/ports", "rel": "self"}, {"href": "http://localhost/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4/ports", "rel": "bookmark"}]} DEBUG util.py:445: API ACL Testing Path post /v1/portgroups DEBUG util.py:445: POST: /v1/portgroups {'node_uuid': '38d5abed-c585-4fce-a57e-a2ffc2a2ec6f'} DEBUG util.py:445: GOT:Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-130e7f7c-d37c-40e8-81fc-18a4bfb72b40 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:portgroup:create\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-130e7f7c-d37c-40e8-81fc-18a4bfb72b40 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:portgroup:create\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path patch /v1/portgroups/b16efcf3-2990-41a1-bc1d-5e2c16f3d5fc DEBUG util.py:445: PATCH: /v1/portgroups/b16efcf3-2990-41a1-bc1d-5e2c16f3d5fc [{'op': 'replace', 'path': '/extra', 'value': {'test': 'testing'}}] DEBUG util.py:445: GOT:Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-e97607d1-f3f0-4fbc-9cac-021cec99284d DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-e97607d1-f3f0-4fbc-9cac-021cec99284d DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path patch /v1/portgroups/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-d4fdceb2-e254-4691-9efb-283e02bca21c DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:portgroup:update\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-d4fdceb2-e254-4691-9efb-283e02bca21c DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:portgroup:update\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path patch /v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4 DEBUG util.py:445: PATCH: /v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4 [{'op': 'replace', 'path': '/extra', 'value': {'test': 'testing'}}] DEBUG util.py:445: GOT:Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-15c47dd8-ff41-403f-b9c6-d129f158030a DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Portgroup 6eb02b44-18a3-4659-8c0b-8d2802581ae4 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-15c47dd8-ff41-403f-b9c6-d129f158030a DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Portgroup 6eb02b44-18a3-4659-8c0b-8d2802581ae4 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path delete /v1/portgroups/b16efcf3-2990-41a1-bc1d-5e2c16f3d5fc DEBUG util.py:445: DELETE: /v1/portgroups/b16efcf3-2990-41a1-bc1d-5e2c16f3d5fc DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00221_owner_admin_can_delete_portgroup [0.049279s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00224_lessee_member_cannot_delete_portgroup [0.047756s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00325_third_party_admin_cannot_read_an_allocation [0.045818s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00300_third_party_admin_cannot_get_drivers [0.053293s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00287_owner_admin_can_delete_volume_target [0.063149s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00227_lessee_reader_can_get_node_porgtroups [0.055343s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00326_third_party_admin_cannot_patch_an_allocation [0.047085s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00301_owner_reader_cannot_get_drivers_vendor_passthru [0.045548s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00289_owner_member_cannot_delete_volume_target [0.053698s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00231_third_party_admin_cannot_list_ports [0.046972s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00328_owner_reader_can_read_node_allocation [0.049793s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00235_owner_admin_can_add_ports [0.049743s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00331_owner_admin_can_delete_allocation [0.049077s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00295_owner_reader_can_get_node_volume_targets [0.077645s] ... 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-c8a8617b-7e24-45a6-a346-8e737a3e7f0b DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:volume:create\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-c8a8617b-7e24-45a6-a346-8e737a3e7f0b DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:volume:create\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path delete /v1/volume/targets/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 DEBUG util.py:445: DELETE: /v1/volume/targets/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 DEBUG util.py:445: GOT:Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-44e351bc-1144-42ee-8b12-cf280eacb7cd DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Volume target 1be26c0b-03f2-4d2e-ae87-c02d7f33c781 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-44e351bc-1144-42ee-8b12-cf280eacb7cd DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Volume target 1be26c0b-03f2-4d2e-ae87-c02d7f33c781 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path get /v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f/volume/connectors DEBUG util.py:445: GET: /v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f/volume/connectors {} DEBUG util.py:445: GOT:Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-a729569b-9c0f-4f7b-8f3f-cbd8c15d6cb9 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"connectors": [{"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "connector_id": "iqn.2012-06.com.example:initiator", "type": "iqn", "links": [{"href": "http://localhost/v1/volume/connectors/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "self"}, {"href": "http://localhost/volume/connectors/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "bookmark"}], "node_uuid": "38d5abed-c585-4fce-a57e-a2ffc2a2ec6f"}]} DEBUG util.py:445: ACL Test GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-a729569b-9c0f-4f7b-8f3f-cbd8c15d6cb9 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"connectors": [{"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "connector_id": "iqn.2012-06.com.example:initiator", "type": "iqn", "links": [{"href": "http://localhost/v1/volume/connectors/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "self"}, {"href": "http://localhost/volume/connectors/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "bookmark"}], "node_uuid": "38d5abed-c585-4fce-a57e-a2ffc2a2ec6f"}]} DEBUG util.py:445: API ACL Testing Path get /v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f/volume/targets DEBUG util.py:445: GET: /v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f/volume/targets {} DEBUG util.py:445: GOT:Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-64ed2794-412b-42e0-91d0-eddaf23a2547 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"targets": [{"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "boot_index": 0, "volume_id": "12345678", "volume_type": "iscsi", "links": [{"href": "http://localhost/v1/volume/targets/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "self"}, {"href": "http://localhost/volume/targets/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "bookmark"}], "node_uuid": "38d5abed-c585-4fce-a57e-a2ffc2a2ec6f"}]} DEBUG util.py:445: ACL Test GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-64ed2794-412b-42e0-91d0-eddaf23a2547 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"targets": [{"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "boot_index": 0, "volume_id": "12345678", "volume_type": "iscsi", "links": [{"href": "http://localhost/v1/volume/targets/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "self"}, {"href": "http://localhost/volume/targets/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "bookmark"}], "node_uuid": "38d5abed-c585-4fce-a57e-a2ffc2a2ec6f"}]} DEBUG util.py:445: API ACL Testing Path get /v1/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-7b5b30ae-cab6-4597-9247-ee68ce869bcf DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"baremetal:driver:get 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-7b5b30ae-cab6-4597-9247-ee68ce869bcf DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"baremetal:driver:get 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-db5f1a47-e245-4e59-a3ad-f2a98e0d6951 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"baremetal:driver:get 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-db5f1a47-e245-4e59-a3ad-f2a98e0d6951 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"baremetal:driver:get 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-2909e1ae-b36f-49ee-83ee-bdaacc61fc74 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"baremetal:driver:vendor_passthru 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-2909e1ae-b36f-49ee-83ee-bdaacc61fc74 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"baremetal:driver:vendor_passthru 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: {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00306_third_party_admin_cannot_get_bios_settings [0.050207s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00311_lessee_reader_can_get_allocations [0.048947s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00243_lessee_admin_cannot_modify_port [0.049135s] ... 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-9ffeae10-b088-4e0a-aa06-13c87418c5dd DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"uuid": "0af62a11-6f61-4051-9599-73d504c14464", "created_at": "2024-05-14T11:54:25.848282+00:00", "updated_at": null, "candidate_nodes": [], "extra": {}, "last_error": null, "name": null, "owner": "f11853c7-fa9c-4db3-a477-c9d8e0dbbf13", "resource_class": "CUSTOM_LEASED", "state": "allocating", "traits": [], "links": [{"href": "http://localhost/v1/allocations/0af62a11-6f61-4051-9599-73d504c14464", "rel": "self"}, {"href": "http://localhost/allocations/0af62a11-6f61-4051-9599-73d504c14464", "rel": "bookmark"}], "node_uuid": "38d5abed-c585-4fce-a57e-a2ffc2a2ec6f"} DEBUG util.py:445: API ACL Testing Path delete /v1/allocations/94000692-be21-4436-84a4-c2efe7f33cfa DEBUG util.py:445: DELETE: /v1/allocations/94000692-be21-4436-84a4-c2efe7f33cfa DEBUG util.py:445: GOT:Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-0dd66214-01d2-4cb8-8d8b-f7c35ccb17f9 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-0dd66214-01d2-4cb8-8d8b-f7c35ccb17f9 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path delete /v1/allocations/9659f80a-2d72-4341-bea9-7a58be9c6f59 DEBUG util.py:445: DELETE: /v1/allocations/9659f80a-2d72-4341-bea9-7a58be9c6f59 DEBUG util.py:445: GOT:Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-9baf328d-207f-4036-83a7-9d49c228b542 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-9baf328d-207f-4036-83a7-9d49c228b542 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path get /v1/allocations/eda9cc15-f9f8-4fab-b90a-c8fe2e9670db DEBUG util.py:445: GET: /v1/allocations/eda9cc15-f9f8-4fab-b90a-c8fe2e9670db {} DEBUG util.py:445: GOT:Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-1f3fd138-1816-478c-90d5-5662283a2119 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Allocation eda9cc15-f9f8-4fab-b90a-c8fe2e9670db could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-1f3fd138-1816-478c-90d5-5662283a2119 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Allocation eda9cc15-f9f8-4fab-b90a-c8fe2e9670db could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path patch /v1/allocations/b7ea878c-a92c-49a7-b760-4cba13ad28af DEBUG util.py:445: PATCH: /v1/allocations/b7ea878c-a92c-49a7-b760-4cba13ad28af [{'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-977d5782-3693-42ae-af1d-f9740a750229 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Allocation b7ea878c-a92c-49a7-b760-4cba13ad28af could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-977d5782-3693-42ae-af1d-f9740a750229 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Allocation b7ea878c-a92c-49a7-b760-4cba13ad28af 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-b4d6c8b0-c401-4290-8c61-0fe18ed42952 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"uuid": "8123e2a4-59be-41c3-8b9b-688943c1c1ff", "created_at": "2024-05-14T11:54:26.082000+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/8123e2a4-59be-41c3-8b9b-688943c1c1ff", "rel": "self"}, {"href": "http://localhost/allocations/8123e2a4-59be-41c3-8b9b-688943c1c1ff", "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-b4d6c8b0-c401-4290-8c61-0fe18ed42952 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"uuid": "8123e2a4-59be-41c3-8b9b-688943c1c1ff", "created_at": "2024-05-14T11:54:26.082000+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/8123e2a4-59be-41c3-8b9b-688943c1c1ff", "rel": "self"}, {"href": "http://localhost/allocations/8123e2a4-59be-41c3-8b9b-688943c1c1ff", "rel": "bookmark"}], "node_uuid": "1ab63b9e-66d7-4cd7-8618-dddd0f9f7881"} 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-61964248-4f4d-4655-a385-1b689d1b27af DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-61964248-4f4d-4655-a385-1b689d1b27af DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path get /v1/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-c9e4f599-856d-405c-b640-221529548b48 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"baremetal:chassis:get 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_00338_owner_reader_cannot_access_chassis [0.045119s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00340_third_party_admin_cannot_access_chassis [0.043943s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00318_owner_member_can_patch_allocation [0.053182s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00245_third_party_admin_cannot_modify_port [0.077384s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00319_lessee_member_can_patch_allocation [0.051952s] ... 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/3399a8bb-d447-4cee-b75a-dcb626074133 DEBUG util.py:445: Openstack-Request-Id: req-6441aa77-4250-402b-bfd5-1d4796ab9f61 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"uuid": "3399a8bb-d447-4cee-b75a-dcb626074133", "created_at": "2024-05-14T11:54:25.720026+00:00", "updated_at": null, "boot_index": 2, "extra": {}, "properties": {}, "volume_id": "test-id", "volume_type": "iscsi", "links": [{"href": "http://localhost/v1/volume/targets/3399a8bb-d447-4cee-b75a-dcb626074133", "rel": "self"}, {"href": "http://localhost/volume/targets/3399a8bb-d447-4cee-b75a-dcb626074133", "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/3399a8bb-d447-4cee-b75a-dcb626074133 DEBUG util.py:445: Openstack-Request-Id: req-6441aa77-4250-402b-bfd5-1d4796ab9f61 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"uuid": "3399a8bb-d447-4cee-b75a-dcb626074133", "created_at": "2024-05-14T11:54:25.720026+00:00", "updated_at": null, "boot_index": 2, "extra": {}, "properties": {}, "volume_id": "test-id", "volume_type": "iscsi", "links": [{"href": "http://localhost/v1/volume/targets/3399a8bb-d447-4cee-b75a-dcb626074133", "rel": "self"}, {"href": "http://localhost/volume/targets/3399a8bb-d447-4cee-b75a-dcb626074133", "rel": "bookmark"}], "node_uuid": "1ab63b9e-66d7-4cd7-8618-dddd0f9f7881"} 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-9b875dba-4745-47ec-8b3c-ac319c4c61b9 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-9b875dba-4745-47ec-8b3c-ac319c4c61b9 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path patch /v1/volume/targets/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 DEBUG util.py:445: PATCH: /v1/volume/targets/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 [{'op': 'replace', 'path': '/extra', 'value': {'test': 'testing'}}] DEBUG util.py:445: GOT:Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-ecfab583-37a2-43a3-948f-316a321b9110 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:volume:update\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-ecfab583-37a2-43a3-948f-316a321b9110 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:volume:update\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path patch /v1/volume/targets/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 DEBUG util.py:445: PATCH: /v1/volume/targets/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 [{'op': 'replace', 'path': '/extra', 'value': {'test': 'testing'}}] DEBUG util.py:445: GOT:Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-022bae1b-8959-4c4c-b3d8-93b5ca41cc88 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Volume target 1be26c0b-03f2-4d2e-ae87-c02d7f33c781 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-022bae1b-8959-4c4c-b3d8-93b5ca41cc88 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Volume target 1be26c0b-03f2-4d2e-ae87-c02d7f33c781 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path delete /v1/volume/targets/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 DEBUG util.py:445: DELETE: /v1/volume/targets/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 DEBUG util.py:445: GOT:Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-2145ca00-1dd0-4fc7-b11b-f609c74fcabb DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-2145ca00-1dd0-4fc7-b11b-f609c74fcabb DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path delete /v1/volume/targets/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 DEBUG util.py:445: DELETE: /v1/volume/targets/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 DEBUG util.py:445: GOT:Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-f2e12940-80b5-45cc-95d0-05d019946fb9 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:volume:delete\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-f2e12940-80b5-45cc-95d0-05d019946fb9 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:volume:delete\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path get /v1/nodes/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-3f52c3ab-09f9-4ddc-947a-09313cca1956 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"targets": [{"uuid": "a265e2f0-e97f-4177-b1c0-8298add53086", "boot_index": 0, "volume_id": "12345678", "volume_type": "iscsi", "links": [{"href": "http://localhost/v1/volume/targets/a265e2f0-e97f-4177-b1c0-8298add53086", "rel": "self"}, {"href": "http://localhost/volume/targets/a265e2f0-e97f-4177-b1c0-8298add53086", "rel": "bookmark"}], "node_uuid": "1ab63b9e-66d7-4cd7-8618-dddd0f9f7881"}]} DEBUG util.py:445: ACL Test GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-3f52c3ab-09f9-4ddc-947a-09313cca1956 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"targets": [{"uuid": "a265e2f0-e97f-4177-b1c0-8298add53086", "boot_index": 0, "volume_id": "12345678", "volume_type": "iscsi", "links": [{"href": "http://localhost/v1/volume/targets/a265e2f0-e97f-4177-b1c0-8298add53086", "rel": "self"}, {"href": "http://localhost/volume/targets/a265e2f0-e97f-4177-b1c0-8298add53086", "rel": "bookmark"}], "node_uuid": "1ab63b9e-66d7-4cd7-8618-dddd0f9f7881"}]} DEBUG util.py:445: API ACL Testing Path get /v1/drivers DEBUG util.py:445: GET: /v1/drivers {} DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00299_lessee_reader_cannot_get_drivers [0.060309s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00303_third_party_admin_cannot_get_drivers_vendor_passthru [0.065414s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00321_third_party_admin_can_create_allocation [0.046170s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00248_lessee_admin_cannot_delete_port [0.057317s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00305_lessee_reader_can_get_bios_settings [0.104643s] ... 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-c10c96eb-7075-4439-833a-4ce50239097d DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1ab63b9e-66d7-4cd7-8618-dddd0f9f7881 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-c10c96eb-7075-4439-833a-4ce50239097d DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1ab63b9e-66d7-4cd7-8618-dddd0f9f7881 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path get /v1/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-f2607cdc-d172-4d42-841c-3e083fa50f37 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"allocations": [{"uuid": "a3216aa6-d4bc-4526-9b14-770d9e892b10", "created_at": "2024-05-14T11:54:26.148291+00:00", "updated_at": null, "candidate_nodes": [], "extra": {}, "last_error": null, "name": null, "owner": "f11853c7-fa9c-4db3-a477-c9d8e0dbbf13", "resource_class": "CUSTOM_LEASED", "state": "allocating", "traits": [], "links": [{"href": "http://localhost/v1/allocations/a3216aa6-d4bc-4526-9b14-770d9e892b10", "rel": "self"}, {"href": "http://localhost/allocations/a3216aa6-d4bc-4526-9b14-770d9e892b10", "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-f2607cdc-d172-4d42-841c-3e083fa50f37 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"allocations": [{"uuid": "a3216aa6-d4bc-4526-9b14-770d9e892b10", "created_at": "2024-05-14T11:54:26.148291+00:00", "updated_at": null, "candidate_nodes": [], "extra": {}, "last_error": null, "name": null, "owner": "f11853c7-fa9c-4db3-a477-c9d8e0dbbf13", "resource_class": "CUSTOM_LEASED", "state": "allocating", "traits": [], "links": [{"href": "http://localhost/v1/allocations/a3216aa6-d4bc-4526-9b14-770d9e892b10", "rel": "self"}, {"href": "http://localhost/allocations/a3216aa6-d4bc-4526-9b14-770d9e892b10", "rel": "bookmark"}], "node_uuid": "38d5abed-c585-4fce-a57e-a2ffc2a2ec6f"}]} DEBUG util.py:445: API ACL Testing Path patch /v1/allocations/cccbe908-cb75-4dbd-9900-23bb97c77027 DEBUG util.py:445: PATCH: /v1/allocations/cccbe908-cb75-4dbd-9900-23bb97c77027 [{'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-9256d7a2-9c88-4e45-95cf-95e38e19e854 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"uuid": "cccbe908-cb75-4dbd-9900-23bb97c77027", "created_at": "2024-05-14T11:54:26.193139+00:00", "updated_at": "2024-05-14T11:54:26.214119+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/cccbe908-cb75-4dbd-9900-23bb97c77027", "rel": "self"}, {"href": "http://localhost/allocations/cccbe908-cb75-4dbd-9900-23bb97c77027", "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-9256d7a2-9c88-4e45-95cf-95e38e19e854 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"uuid": "cccbe908-cb75-4dbd-9900-23bb97c77027", "created_at": "2024-05-14T11:54:26.193139+00:00", "updated_at": "2024-05-14T11:54:26.214119+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/cccbe908-cb75-4dbd-9900-23bb97c77027", "rel": "self"}, {"href": "http://localhost/allocations/cccbe908-cb75-4dbd-9900-23bb97c77027", "rel": "bookmark"}], "node_uuid": "1ab63b9e-66d7-4cd7-8618-dddd0f9f7881"} DEBUG util.py:445: API ACL Testing Path patch /v1/allocations/43dc0279-a305-46af-ab47-08f1d5bec837 DEBUG util.py:445: PATCH: /v1/allocations/43dc0279-a305-46af-ab47-08f1d5bec837 [{'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-07127992-f921-49fd-be6d-26bfca060f47 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"uuid": "43dc0279-a305-46af-ab47-08f1d5bec837", "created_at": "2024-05-14T11:54:26.250808+00:00", "updated_at": "2024-05-14T11:54:26.266379+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/43dc0279-a305-46af-ab47-08f1d5bec837", "rel": "self"}, {"href": "http://localhost/allocations/43dc0279-a305-46af-ab47-08f1d5bec837", "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-07127992-f921-49fd-be6d-26bfca060f47 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"uuid": "43dc0279-a305-46af-ab47-08f1d5bec837", "created_at": "2024-05-14T11:54:26.250808+00:00", "updated_at": "2024-05-14T11:54:26.266379+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/43dc0279-a305-46af-ab47-08f1d5bec837", "rel": "self"}, {"href": "http://localhost/allocations/43dc0279-a305-46af-ab47-08f1d5bec837", "rel": "bookmark"}], "node_uuid": "38d5abed-c585-4fce-a57e-a2ffc2a2ec6f"} DEBUG util.py:445: API ACL Testing Path post /v1/allocations DEBUG util.py:445: POST: /v1/allocations {'resource_class': 'CUSTOM_TEST'} DEBUG util.py:445: GOT:Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-98a7d90f-0bca-4432-9d91-6e08b3edbb69 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-98a7d90f-0bca-4432-9d91-6e08b3edbb69 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path post /v1/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-3a28340e-463c-4ef4-be7d-c28dddce7398 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1ab63b9e-66d7-4cd7-8618-dddd0f9f7881 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00322_third_party_admin_cannot_create_allocation_with_owner_node [0.051046s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00327_third_party_admin_cannot_delete_an_allocation [0.046620s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00343_node_history_get_member [0.182803s] ... 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-8fac536f-71d8-4cd0-a796-14af768b67df DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-8fac536f-71d8-4cd0-a796-14af768b67df DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path delete /v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4 DEBUG util.py:445: DELETE: /v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4 DEBUG util.py:445: GOT:Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-6f9b8268-6f14-4dfb-be72-8582096e0b52 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:portgroup:delete\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-6f9b8268-6f14-4dfb-be72-8582096e0b52 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:portgroup:delete\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path get /v1/nodes/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-5e558bf5-4aea-4eb3-ade1-76f2d4f7a1c6 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"portgroups": [{"uuid": "6eb02b44-18a3-4659-8c0b-8d2802581ae4", "address": "52:54:00:cf:2d:31", "name": "fooname", "links": [{"href": "http://localhost/v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4", "rel": "self"}, {"href": "http://localhost/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4", "rel": "bookmark"}]}]} DEBUG util.py:445: ACL Test GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-5e558bf5-4aea-4eb3-ade1-76f2d4f7a1c6 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"portgroups": [{"uuid": "6eb02b44-18a3-4659-8c0b-8d2802581ae4", "address": "52:54:00:cf:2d:31", "name": "fooname", "links": [{"href": "http://localhost/v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4", "rel": "self"}, {"href": "http://localhost/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4", "rel": "bookmark"}]}]} DEBUG util.py:445: API ACL Testing Path get /v1/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-deb15981-06f1-4354-b46d-4ba795d44c5f DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"ports": []} DEBUG util.py:445: ACL Test GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-deb15981-06f1-4354-b46d-4ba795d44c5f DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"ports": []} DEBUG util.py:445: API ACL Testing Path post /v1/ports DEBUG util.py:445: POST: /v1/ports {'node_uuid': '1ab63b9e-66d7-4cd7-8618-dddd0f9f7881', 'address': '00:01:02:03:04:05'} DEBUG util.py:445: GOT:Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-4d3b9ff4-32a2-488d-b434-b8230411055d DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-4d3b9ff4-32a2-488d-b434-b8230411055d DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path patch /v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 DEBUG util.py:445: PATCH: /v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 [{'op': 'replace', 'path': '/extra', 'value': {'test': 'testing'}}] DEBUG util.py:445: GOT:Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-1a4c4c7d-901c-491d-946c-d764abcb27aa DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:port:update\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-1a4c4c7d-901c-491d-946c-d764abcb27aa DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:port:update\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path patch /v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 DEBUG util.py:445: PATCH: /v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 [{'op': 'replace', 'path': '/extra', 'value': {'test': 'testing'}}] DEBUG util.py:445: GOT:Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-c06bed1a-6a3d-419a-900c-3d6b7282877b DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Port 1be26c0b-03f2-4d2e-ae87-c02d7f33c781 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-c06bed1a-6a3d-419a-900c-3d6b7282877b DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Port 1be26c0b-03f2-4d2e-ae87-c02d7f33c781 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path delete /v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 DEBUG util.py:445: DELETE: /v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 DEBUG util.py:445: GOT:Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-28d56e89-ea88-47d9-970c-f8b73fb27252 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:port:delete\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-28d56e89-ea88-47d9-970c-f8b73fb27252 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:port:delete\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path get /v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f/ports DEBUG util.py:445: GET: /v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f/ports {} DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00252_lessee_reader_can_get_node_port [0.057484s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00257_owner_reader_can_list_volume_connectors [0.052821s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00332_lessee_admin_can_delete_allocation [0.049694s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00001_values ... SKIPPED: These are fake reference values for YAML templating DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00259_third_party_admin_cannot_get_connector_list [0.049107s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00307_owner_reader_cannot_get_conductors [0.101502s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00333_third_party_admin_cannot_delete_allocation [0.046590s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00003_nodes_post_member [0.056283s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00309_third_party_admin_cannot_get_conductors [0.046329s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00264_lessee_reader_can_get_volume_connector [0.050428s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00336_third_party_admin_cannot_get_deploy_templates [0.048978s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00010_nodes_get_other_admin [0.046573s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00265_third_party_admin_cannot_get_volume_connector [0.049622s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00315_lessee_admin_can_delete_their_allocation [0.051767s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00342_node_history_get_admin [0.054147s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00012_nodes_detail_get_member [0.044889s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00316_owner_member_can_delete_their_allocation [0.051651s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00267_owner_admin_can_patch_volume_connectors [0.056876s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00013_nodes_detail_get_observer [0.043009s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00345_node_history_get_entry_admin [0.049240s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00323_third_party_admin_cannot_create_allocation_with_candidates_not_owned [0.051610s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00016_nodes_node_ident_get_observer [0.044999s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00346_node_history_get_entry_member [0.055426s] ... 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-af27ca75-a794-45fc-b831-8406c8796f02 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"ports": [{"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "address": "52:54:00:cf:2d:31", "links": [{"href": "http://localhost/v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "self"}, {"href": "http://localhost/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "bookmark"}]}]} DEBUG util.py:445: ACL Test GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-af27ca75-a794-45fc-b831-8406c8796f02 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"ports": [{"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "address": "52:54:00:cf:2d:31", "links": [{"href": "http://localhost/v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "self"}, {"href": "http://localhost/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "bookmark"}]}]} DEBUG util.py:445: API ACL Testing Path get /v1/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-9b0248f3-4f44-4ef1-9460-dce6dd11c0e6 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"connectors": [{"uuid": "65ea0296-219b-4635-b0c8-a6e055da878d", "connector_id": "iqn.2012-06.org.openstack.magic", "type": "iqn", "links": [{"href": "http://localhost/v1/volume/connectors/65ea0296-219b-4635-b0c8-a6e055da878d", "rel": "self"}, {"href": "http://localhost/volume/connectors/65ea0296-219b-4635-b0c8-a6e055da878d", "rel": "bookmark"}], "node_uuid": "1ab63b9e-66d7-4cd7-8618-dddd0f9f7881"}, {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "connector_id": "iqn.2012-06.com.example:initiator", "type": "iqn", "links": [{"href": "http://localhost/v1/volume/connectors/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "self"}, {"href": "http://localhost/volume/connectors/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "bookmark"}], "node_uuid": "38d5abed-c585-4fce-a57e-a2ffc2a2ec6f"}]} DEBUG util.py:445: ACL Test GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-9b0248f3-4f44-4ef1-9460-dce6dd11c0e6 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"connectors": [{"uuid": "65ea0296-219b-4635-b0c8-a6e055da878d", "connector_id": "iqn.2012-06.org.openstack.magic", "type": "iqn", "links": [{"href": "http://localhost/v1/volume/connectors/65ea0296-219b-4635-b0c8-a6e055da878d", "rel": "self"}, {"href": "http://localhost/volume/connectors/65ea0296-219b-4635-b0c8-a6e055da878d", "rel": "bookmark"}], "node_uuid": "1ab63b9e-66d7-4cd7-8618-dddd0f9f7881"}, {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "connector_id": "iqn.2012-06.com.example:initiator", "type": "iqn", "links": [{"href": "http://localhost/v1/volume/connectors/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "self"}, {"href": "http://localhost/volume/connectors/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "bookmark"}], "node_uuid": "38d5abed-c585-4fce-a57e-a2ffc2a2ec6f"}]} DEBUG util.py:445: 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-6f338849-3c84-4876-aeb8-e1129d872faf DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"connectors": []} DEBUG util.py:445: ACL Test GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-6f338849-3c84-4876-aeb8-e1129d872faf DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"connectors": []} DEBUG util.py:445: API ACL Testing Path 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-1415b48d-a031-4528-b012-b4a556777edb DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2024-05-14T11:54:26.512998+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-1415b48d-a031-4528-b012-b4a556777edb DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2024-05-14T11:54:26.512998+00:00", "updated_at": null, "connector_id": "iqn.2012-06.com.example:initiator", "extra": {}, "type": "iqn", "links": [{"href": "http://localhost/v1/volume/connectors/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "self"}, {"href": "http://localhost/volume/connectors/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "bookmark"}], "node_uuid": "38d5abed-c585-4fce-a57e-a2ffc2a2ec6f"} DEBUG util.py:445: API ACL Testing Path get /v1/volume/connectors/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 DEBUG util.py:445: GET: /v1/volume/connectors/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 {} DEBUG util.py:445: GOT:Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-041dd40b-44a9-4831-995d-feee43500f2b DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Volume connector 1be26c0b-03f2-4d2e-ae87-c02d7f33c781 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-041dd40b-44a9-4831-995d-feee43500f2b DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Volume connector 1be26c0b-03f2-4d2e-ae87-c02d7f33c781 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path patch /v1/volume/connectors/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 DEBUG util.py:445: PATCH: /v1/volume/connectors/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 [{'op': 'replace', 'path': '/extra', 'value': {'test': 'testing'}}] DEBUG util.py:445: GOT:Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-f458ddf4-25e0-4a8d-bdf4-331ccbd7d664 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-f458ddf4-25e0-4a8d-bdf4-331ccbd7d664 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path get /v1/volume/targets DEBUG util.py:445: GET: /v1/volume/targets {} DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00274_owner_reader_can_get_targets [0.057420s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00278_lessee_reader_can_get_volume_target [0.055093s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00020_nodes_node_ident_delete_admin [0.045316s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00025_nodes_validate_get_observer [0.044677s] ... ok DEBUG util.py:445: ACL Test GOT Response: 400 Bad Request DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-3a28340e-463c-4ef4-be7d-c28dddce7398 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1ab63b9e-66d7-4cd7-8618-dddd0f9f7881 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path delete /v1/allocations/1c096b27-0ff3-4ccf-b70c-2c55f23435ac DEBUG util.py:445: DELETE: /v1/allocations/1c096b27-0ff3-4ccf-b70c-2c55f23435ac DEBUG util.py:445: GOT:Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-e2d404ae-bde3-4caf-a93e-58e514d6ef74 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Allocation 1c096b27-0ff3-4ccf-b70c-2c55f23435ac could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-e2d404ae-bde3-4caf-a93e-58e514d6ef74 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Allocation 1c096b27-0ff3-4ccf-b70c-2c55f23435ac could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path delete /v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f/allocation DEBUG util.py:445: DELETE: /v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f/allocation DEBUG util.py:445: GOT:Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-4b239854-7984-4962-82dd-834567863cff DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-4b239854-7984-4962-82dd-834567863cff DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path delete /v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f/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-52e89355-1599-4dea-bbe8-63a74416e65c DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 38d5abed-c585-4fce-a57e-a2ffc2a2ec6f could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-52e89355-1599-4dea-bbe8-63a74416e65c DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 38d5abed-c585-4fce-a57e-a2ffc2a2ec6f could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path get /v1/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-2ffd4874-71a4-4611-b060-b4fe598e3ad4 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"baremetal:deploy_template:get 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-2ffd4874-71a4-4611-b060-b4fe598e3ad4 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"baremetal:deploy_template:get requires a scope of ['system'], request was made with project scope.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path get /v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/history DEBUG util.py:445: GET: /v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/history {} DEBUG util.py:445: GOT:Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-daf24360-d75a-4c07-8206-2fdd9fe278ba DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"history": [{"uuid": "0b6c82fe-628d-4d48-8046-2f1837131e88", "created_at": "2024-05-14T11:54:26.590084+00:00", "severity": "ERROR", "event": "Something is wrong", "links": [{"href": "http://localhost/v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/history/0b6c82fe-628d-4d48-8046-2f1837131e88", "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-daf24360-d75a-4c07-8206-2fdd9fe278ba DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"history": [{"uuid": "0b6c82fe-628d-4d48-8046-2f1837131e88", "created_at": "2024-05-14T11:54:26.590084+00:00", "severity": "ERROR", "event": "Something is wrong", "links": [{"href": "http://localhost/v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/history/0b6c82fe-628d-4d48-8046-2f1837131e88", "rel": "self"}]}]} DEBUG util.py:445: API ACL Testing Path get /v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/history/81c54b77-bb9b-4df7-97a1-269b3fa8686e DEBUG util.py:445: GET: /v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/history/81c54b77-bb9b-4df7-97a1-269b3fa8686e {} DEBUG util.py:445: GOT:Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-3328d11a-fe89-4832-9495-d2cd7b324a97 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1ab63b9e-66d7-4cd7-8618-dddd0f9f7881 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-3328d11a-fe89-4832-9495-d2cd7b324a97 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1ab63b9e-66d7-4cd7-8618-dddd0f9f7881 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path get /v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/history/b53b401a-63c0-4463-86c5-2372beab88cd DEBUG util.py:445: GET: /v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/history/b53b401a-63c0-4463-86c5-2372beab88cd {} DEBUG util.py:445: GOT:Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-08e5a4c4-f834-477b-aac4-be4354446fa7 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"uuid": "b53b401a-63c0-4463-86c5-2372beab88cd", "created_at": "2024-05-14T11:54:26.693222+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/b53b401a-63c0-4463-86c5-2372beab88cd", "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-08e5a4c4-f834-477b-aac4-be4354446fa7 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"uuid": "b53b401a-63c0-4463-86c5-2372beab88cd", "created_at": "2024-05-14T11:54:26.693222+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/b53b401a-63c0-4463-86c5-2372beab88cd", "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: {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00348_lessee_node_history_get_admin [0.049418s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00353_lessee_node_history_get_entry_reader [0.049659s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00281_lessee_admin_create_volume_target [0.053984s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00030_nodes_maintenance_delete_member [0.047743s] ... 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-5938b805-8941-4293-b66d-c63ed13ebf12 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"baremetal:driver:get 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-5938b805-8941-4293-b66d-c63ed13ebf12 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"baremetal:driver:get 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-adb4d656-3484-401f-af30-65969ee01b98 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"baremetal:driver:vendor_passthru 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-adb4d656-3484-401f-af30-65969ee01b98 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"baremetal:driver:vendor_passthru requires a scope of ['system'], request was made with project scope.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path get /v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f/bios DEBUG util.py:445: GET: /v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f/bios {} DEBUG util.py:445: GOT:Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-4d6a2fd5-9a6b-40ef-9c60-7bdfae3be426 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"bios": []} DEBUG util.py:445: ACL Test GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-4d6a2fd5-9a6b-40ef-9c60-7bdfae3be426 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"bios": []} DEBUG util.py:445: API ACL Testing Path get /v1/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-acf77ca4-7356-44eb-b117-3e81e65950c7 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"baremetal:conductor:get 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-acf77ca4-7356-44eb-b117-3e81e65950c7 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"baremetal:conductor:get 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-eca6bc46-b8eb-4784-a985-a53ac8773473 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"baremetal:conductor:get 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-eca6bc46-b8eb-4784-a985-a53ac8773473 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"baremetal:conductor:get requires a scope of ['system'], request was made with project scope.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path delete /v1/allocations/ff16ef91-4b12-4635-bd09-1a80bc87d948 DEBUG util.py:445: DELETE: /v1/allocations/ff16ef91-4b12-4635-bd09-1a80bc87d948 DEBUG util.py:445: GOT:Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-c6c0ad66-320b-4dbc-8395-f306eab6dff0 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-c6c0ad66-320b-4dbc-8395-f306eab6dff0 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path delete /v1/allocations/281eedf8-f572-4ed5-9b1b-3665b4971e66 DEBUG util.py:445: DELETE: /v1/allocations/281eedf8-f572-4ed5-9b1b-3665b4971e66 DEBUG util.py:445: GOT:Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-a73a7760-d3bd-42aa-8db7-df174bd10106 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-a73a7760-d3bd-42aa-8db7-df174bd10106 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path post /v1/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-ff30212f-dbb8-489d-9ebd-465a26d1bb40 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Nodes cannot be found: 38d5abed-c585-4fce-a57e-a2ffc2a2ec6f, 1ab63b9e-66d7-4cd7-8618-dddd0f9f7881\", \"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-ff30212f-dbb8-489d-9ebd-465a26d1bb40 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Nodes cannot be found: 38d5abed-c585-4fce-a57e-a2ffc2a2ec6f, 1ab63b9e-66d7-4cd7-8618-dddd0f9f7881\", \"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: {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00329_lessee_reader_can_read_node_allocation [0.082716s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00004_nodes_post_observer [0.058919s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00036_nodes_management_boot_device_get_member [0.045544s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00330_third_party_admin_cannot_read_node_allocation [0.128362s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00006_nodes_get_node_member [0.047599s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00038_nodes_management_boot_device_supported_get_admin [0.046021s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00347_node_history_get_entry_reader [0.066891s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00008_nodes_get_node_other_admin [0.046313s] ... 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-c9e4f599-856d-405c-b640-221529548b48 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"baremetal:chassis:get 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-6afc0c3b-e3a8-4d56-987b-237205be6bee DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"baremetal:chassis:get 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-6afc0c3b-e3a8-4d56-987b-237205be6bee DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"baremetal:chassis:get requires a scope of ['system'], request was made with project scope.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path get /v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/history DEBUG util.py:445: GET: /v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/history {} DEBUG util.py:445: GOT:Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-60cff4c0-9d54-41e1-8354-4dae25b0d95e DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"history": [{"uuid": "93550dff-7315-4a28-afac-99e05fe54255", "created_at": "2024-05-14T11:54:26.272961+00:00", "severity": "ERROR", "event": "Something is wrong", "links": [{"href": "http://localhost/v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/history/93550dff-7315-4a28-afac-99e05fe54255", "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-60cff4c0-9d54-41e1-8354-4dae25b0d95e DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"history": [{"uuid": "93550dff-7315-4a28-afac-99e05fe54255", "created_at": "2024-05-14T11:54:26.272961+00:00", "severity": "ERROR", "event": "Something is wrong", "links": [{"href": "http://localhost/v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/history/93550dff-7315-4a28-afac-99e05fe54255", "rel": "self"}]}]} DEBUG util.py:445: API ACL Testing Path post /v1/nodes DEBUG util.py:445: POST: /v1/nodes {'name': 'node', 'driver': 'fake-driverz'} DEBUG util.py:445: GOT:Response: 500 Internal Server Error DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-5a006d35-7378-4ca4-80f7-92297a37f43c DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"baremetal:node:create requires a scope of ['system'], request was made with project scope.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path get /v1/nodes DEBUG util.py:445: GET: /v1/nodes {} DEBUG util.py:445: GOT:Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-5ddcfefb-bef5-4198-bcd2-ed52f68919ea DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"nodes": []} DEBUG util.py:445: ACL Test GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-5ddcfefb-bef5-4198-bcd2-ed52f68919ea DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"nodes": []} DEBUG util.py:445: API ACL Testing Path get /v1/nodes/detail DEBUG util.py:445: GET: /v1/nodes/detail {} DEBUG util.py:445: GOT:Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-024c0683-9ab2-4740-8626-3ec14612901d DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:list\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path get /v1/nodes/detail DEBUG util.py:445: GET: /v1/nodes/detail {} DEBUG util.py:445: GOT:Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-073c66ec-f39b-429b-8b45-f25bd2427d4f DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:list\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path get /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 DEBUG util.py:445: GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 {} DEBUG util.py:445: GOT:Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-ce5669ea-6685-407c-bfb9-e3af4d39b960 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_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-494e9a25-319a-431d-af7e-f21d1244eb06 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-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-3692a10d-f32a-4356-a19d-9cdab74245a1 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_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-8144f4b1-efb8-47df-9c8f-9eab00872357 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-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-ac86a48f-992c-4c3d-adec-e8f18679f4e5 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-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-de4ec939-31cd-42fb-a981-bf87de8c0b32 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-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: {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00040_nodes_management_boot_device_supported_get_observer [0.046191s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00014_nodes_node_ident_get_admin [0.045757s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00283_owner_member_can_patch_volume_target [0.230143s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00051_nodes_states_boot_mode_put_member [0.075111s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00017_nodes_node_ident_patch_admin [0.046821s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00349_lessee_node_history_get_member [0.110854s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00294_third_party_admin_cannot_get_node_volume_connectors [0.055932s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00053_nodes_states_secure_boot_put_admin [0.049392s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00018_nodes_node_ident_patch_member [0.047851s] ... 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-a9730083-0f3c-4129-add8-df1b221e36c1 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"targets": [{"uuid": "a265e2f0-e97f-4177-b1c0-8298add53086", "boot_index": 0, "volume_id": "12345678", "volume_type": "iscsi", "links": [{"href": "http://localhost/v1/volume/targets/a265e2f0-e97f-4177-b1c0-8298add53086", "rel": "self"}, {"href": "http://localhost/volume/targets/a265e2f0-e97f-4177-b1c0-8298add53086", "rel": "bookmark"}], "node_uuid": "1ab63b9e-66d7-4cd7-8618-dddd0f9f7881"}, {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "boot_index": 0, "volume_id": "12345678", "volume_type": "iscsi", "links": [{"href": "http://localhost/v1/volume/targets/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "self"}, {"href": "http://localhost/volume/targets/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "bookmark"}], "node_uuid": "38d5abed-c585-4fce-a57e-a2ffc2a2ec6f"}]} DEBUG util.py:445: ACL Test GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-a9730083-0f3c-4129-add8-df1b221e36c1 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"targets": [{"uuid": "a265e2f0-e97f-4177-b1c0-8298add53086", "boot_index": 0, "volume_id": "12345678", "volume_type": "iscsi", "links": [{"href": "http://localhost/v1/volume/targets/a265e2f0-e97f-4177-b1c0-8298add53086", "rel": "self"}, {"href": "http://localhost/volume/targets/a265e2f0-e97f-4177-b1c0-8298add53086", "rel": "bookmark"}], "node_uuid": "1ab63b9e-66d7-4cd7-8618-dddd0f9f7881"}, {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "boot_index": 0, "volume_id": "12345678", "volume_type": "iscsi", "links": [{"href": "http://localhost/v1/volume/targets/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "self"}, {"href": "http://localhost/volume/targets/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "bookmark"}], "node_uuid": "38d5abed-c585-4fce-a57e-a2ffc2a2ec6f"}]} DEBUG util.py:445: API ACL Testing Path get /v1/volume/targets/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-0d2e3145-4334-40c7-a9af-036a77cce823 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2024-05-14T11:54:26.729708+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-0d2e3145-4334-40c7-a9af-036a77cce823 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2024-05-14T11:54:26.729708+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': '38d5abed-c585-4fce-a57e-a2ffc2a2ec6f', 'volume_type': 'iscsi', 'boot_index': 2, 'volume_id': 'test-id2'} DEBUG util.py:445: GOT:Response: 201 Created DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Location: http://localhost/v1/volume/targets/305a44e7-f07f-411b-b0bf-118940d431d3 DEBUG util.py:445: Openstack-Request-Id: req-064398f3-68d9-43ac-ad2c-482f636a5d33 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"uuid": "305a44e7-f07f-411b-b0bf-118940d431d3", "created_at": "2024-05-14T11:54:26.802861+00:00", "updated_at": null, "boot_index": 2, "extra": {}, "properties": {}, "volume_id": "test-id2", "volume_type": "iscsi", "links": [{"href": "http://localhost/v1/volume/targets/305a44e7-f07f-411b-b0bf-118940d431d3", "rel": "self"}, {"href": "http://localhost/volume/targets/305a44e7-f07f-411b-b0bf-118940d431d3", "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/305a44e7-f07f-411b-b0bf-118940d431d3 DEBUG util.py:445: Openstack-Request-Id: req-064398f3-68d9-43ac-ad2c-482f636a5d33 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"uuid": "305a44e7-f07f-411b-b0bf-118940d431d3", "created_at": "2024-05-14T11:54:26.802861+00:00", "updated_at": null, "boot_index": 2, "extra": {}, "properties": {}, "volume_id": "test-id2", "volume_type": "iscsi", "links": [{"href": "http://localhost/v1/volume/targets/305a44e7-f07f-411b-b0bf-118940d431d3", "rel": "self"}, {"href": "http://localhost/volume/targets/305a44e7-f07f-411b-b0bf-118940d431d3", "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-17ea2aac-74e9-410e-a2c6-4a310deb6190 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-17ea2aac-74e9-410e-a2c6-4a310deb6190 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path get /v1/nodes/38d5abed-c585-4fce-a57e-a2ffc2a2ec6f/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-4025e656-af72-44e5-82f9-87bfaacae2cc DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 38d5abed-c585-4fce-a57e-a2ffc2a2ec6f could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-4025e656-af72-44e5-82f9-87bfaacae2cc DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 38d5abed-c585-4fce-a57e-a2ffc2a2ec6f could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path get /v1/drivers/fake-driverz/vendor_passthru/methods DEBUG util.py:445: GET: /v1/drivers/fake-driverz/vendor_passthru/methods {} DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00019_nodes_node_ident_patch_observer [0.051029s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00064_nodes_states_console_put_admin [0.048456s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00302_lessee_reader_cannot_get_drivers_vendor_passthru [0.047329s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00308_lessee_reader_cannot_get_conductors [0.046206s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00002_nodes_post_admin [0.113076s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00065_nodes_states_console_put_member [0.047422s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00024_nodes_validate_get_member [0.058283s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00066_nodes_states_console_put_observer [0.047452s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00310_owner_reader_can_get_allocations [0.079952s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00031_nodes_maintenance_delete_observer [0.049566s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00005_nodes_get_node_admin [0.083046s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00068_nodes_vendor_passthru_methods_get_member [0.047859s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00032_nodes_management_boot_device_put_admin [0.050798s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00312_owner_reader_can_get_their_allocation [0.057289s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00007_nodes_get_node_observer [0.051769s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00078_nodes_vendor_passthru_put_observer [0.047819s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00320_third_party_admin_can_get_allocations [0.050448s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00009_nodes_get_admin [0.049882s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00033_nodes_management_boot_device_put_member [0.057720s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00080_nodes_vendor_passthru_delete_member [0.046534s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00324_owner_admin_can_create_allocation_with_their_uuid [0.049275s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00015_nodes_node_ident_get_member [0.054985s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00089_nodes_traits_delete_member [0.048837s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00334_owner_reader_cannot_get_deploy_templates [0.046515s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00021_nodes_node_ident_delete_member [0.054426s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00094_nodes_traits_trait_delete_admin [0.052361s] ... 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-abc2cbb1-458a-4026-82e6-83ae8e4027d8 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG 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-abc2cbb1-458a-4026-82e6-83ae8e4027d8 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-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/300b8f19-63b9-4c61-aa6a-e6afb16ae70f DEBUG util.py:445: GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/history/300b8f19-63b9-4c61-aa6a-e6afb16ae70f {} DEBUG util.py:445: GOT:Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-758b92d3-e8c1-4a7c-b4b6-0d5afe2e4c86 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG 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-758b92d3-e8c1-4a7c-b4b6-0d5afe2e4c86 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path post /v1/nodes DEBUG util.py:445: POST: /v1/nodes {'name': 'node', 'driver': 'fake-driverz'} DEBUG util.py:445: GOT:Response: 500 Internal Server Error DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-d7aadd38-f458-4081-a176-0ea35f484f44 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"baremetal:node:create requires a scope of ['system'], request was made with project scope.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path get /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 DEBUG util.py:445: GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 {} DEBUG util.py:445: GOT:Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-c3f5b7e2-bfd3-47e7-9c4e-bb95432ee53e DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-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-6fb80be0-34f1-4abb-ac31-8e1ca1a759c0 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-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-a9635178-14af-4d57-b308-27136fc52118 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_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-c29b65f9-8636-483d-9c97-951114815c43 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_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-45deaa56-0231-4149-81af-7699b522c14b DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_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-bad02f97-7028-4ff4-b51e-4a10e013c24d DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-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-03f02be2-bac6-411b-819d-58f508dbec89 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_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-43353b66-8147-4eda-831c-3b362d0b92ae DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_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-8082fdcf-8c5a-4962-ba3a-90be441522a5 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_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-a03a667c-a449-4d92-93fc-27d093a7e826 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_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: {0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00034_nodes_management_boot_device_put_observer [0.048435s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00037_nodes_management_boot_device_get_observer [0.063937s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00095_nodes_traits_trait_delete_member [0.047793s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00096_nodes_traits_trait_delete_observer [0.046800s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00039_nodes_management_boot_device_supported_get_member [0.087424s] ... 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-c0cc7b5c-8ee9-4c58-bd9f-57ab4e03c54d DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"uuid": "8be0481a-1f0a-4c36-8851-1d89542bf912", "created_at": "2024-05-14T11:54:26.754767+00:00", "updated_at": null, "candidate_nodes": [], "extra": {}, "last_error": null, "name": null, "owner": "f11853c7-fa9c-4db3-a477-c9d8e0dbbf13", "resource_class": "CUSTOM_LEASED", "state": "allocating", "traits": [], "links": [{"href": "http://localhost/v1/allocations/8be0481a-1f0a-4c36-8851-1d89542bf912", "rel": "self"}, {"href": "http://localhost/allocations/8be0481a-1f0a-4c36-8851-1d89542bf912", "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-c0cc7b5c-8ee9-4c58-bd9f-57ab4e03c54d DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"uuid": "8be0481a-1f0a-4c36-8851-1d89542bf912", "created_at": "2024-05-14T11:54:26.754767+00:00", "updated_at": null, "candidate_nodes": [], "extra": {}, "last_error": null, "name": null, "owner": "f11853c7-fa9c-4db3-a477-c9d8e0dbbf13", "resource_class": "CUSTOM_LEASED", "state": "allocating", "traits": [], "links": [{"href": "http://localhost/v1/allocations/8be0481a-1f0a-4c36-8851-1d89542bf912", "rel": "self"}, {"href": "http://localhost/allocations/8be0481a-1f0a-4c36-8851-1d89542bf912", "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: 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-9101f5a3-a9da-4b05-a9d6-b8f0d288b1c1 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Resource could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-9101f5a3-a9da-4b05-a9d6-b8f0d288b1c1 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Resource could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path get /v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/history/48c8ff31-25a8-4aa5-9228-6291f3973110 DEBUG util.py:445: GET: /v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/history/48c8ff31-25a8-4aa5-9228-6291f3973110 {} DEBUG util.py:445: GOT:Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-09458979-8fc0-4f0a-8d72-e290577c836a DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"uuid": "48c8ff31-25a8-4aa5-9228-6291f3973110", "created_at": "2024-05-14T11:54:26.947013+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/48c8ff31-25a8-4aa5-9228-6291f3973110", "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-09458979-8fc0-4f0a-8d72-e290577c836a DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"uuid": "48c8ff31-25a8-4aa5-9228-6291f3973110", "created_at": "2024-05-14T11:54:26.947013+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/48c8ff31-25a8-4aa5-9228-6291f3973110", "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-e4b2a930-242d-472b-b353-f7915f85e090 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG 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-e4b2a930-242d-472b-b353-f7915f85e090 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path post /v1/nodes DEBUG util.py:445: POST: /v1/nodes {'name': 'node', 'driver': 'fake-driverz'} DEBUG util.py:445: GOT:Response: 500 Internal Server Error DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-426fd922-de3d-40e7-aebd-1962f07856be DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"baremetal:node:create requires a scope of ['system'], request was made with project scope.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path get /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 DEBUG util.py:445: GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 {} DEBUG util.py:445: GOT:Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-688c38fd-077f-4c4e-aa8a-68f5afdb06a7 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-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-e60c28bd-da4e-46fc-9bb2-4c20b962ca39 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"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-c64f3f87-a7dc-4785-91a5-1f5eddacef73 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:list\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path get /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 DEBUG util.py:445: GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 {} DEBUG util.py:445: GOT:Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-5c630917-9232-4700-a301-748f670ea292 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_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-45584d43-b853-4b72-a569-9be1bac09c78 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_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: {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00026_nodes_maintenance_put_admin [0.044888s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00028_nodes_maintenance_put_observer [0.046089s] ... 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-a78373a0-cb87-4631-8f31-b66308dba6f5 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"baremetal:driver:vendor_passthru 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-a78373a0-cb87-4631-8f31-b66308dba6f5 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"baremetal:driver:vendor_passthru 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-d70bd73c-5fd6-489a-b346-300177e7aa69 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"baremetal:conductor:get 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-d70bd73c-5fd6-489a-b346-300177e7aa69 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"baremetal:conductor:get 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-012bc279-f283-4a60-b9ae-6138c1609c68 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"allocations": [{"uuid": "0112f4d0-4f90-4184-b617-32ea617754b9", "created_at": "2024-05-14T11:54:27.249440+00:00", "updated_at": null, "candidate_nodes": [], "extra": {}, "last_error": null, "name": null, "owner": "f11853c7-fa9c-4db3-a477-c9d8e0dbbf13", "resource_class": "CUSTOM_LEASED", "state": "allocating", "traits": [], "links": [{"href": "http://localhost/v1/allocations/0112f4d0-4f90-4184-b617-32ea617754b9", "rel": "self"}, {"href": "http://localhost/allocations/0112f4d0-4f90-4184-b617-32ea617754b9", "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-012bc279-f283-4a60-b9ae-6138c1609c68 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"allocations": [{"uuid": "0112f4d0-4f90-4184-b617-32ea617754b9", "created_at": "2024-05-14T11:54:27.249440+00:00", "updated_at": null, "candidate_nodes": [], "extra": {}, "last_error": null, "name": null, "owner": "f11853c7-fa9c-4db3-a477-c9d8e0dbbf13", "resource_class": "CUSTOM_LEASED", "state": "allocating", "traits": [], "links": [{"href": "http://localhost/v1/allocations/0112f4d0-4f90-4184-b617-32ea617754b9", "rel": "self"}, {"href": "http://localhost/allocations/0112f4d0-4f90-4184-b617-32ea617754b9", "rel": "bookmark"}], "node_uuid": "38d5abed-c585-4fce-a57e-a2ffc2a2ec6f"}]} DEBUG util.py:445: API ACL Testing Path get /v1/allocations/49e4fb6d-22ff-4f04-ad24-150e191d381b DEBUG util.py:445: GET: /v1/allocations/49e4fb6d-22ff-4f04-ad24-150e191d381b {} DEBUG util.py:445: GOT:Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-dc9b5f2b-0056-4572-8be5-cc7f33c0ec6d DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"uuid": "49e4fb6d-22ff-4f04-ad24-150e191d381b", "created_at": "2024-05-14T11:54:27.298242+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/49e4fb6d-22ff-4f04-ad24-150e191d381b", "rel": "self"}, {"href": "http://localhost/allocations/49e4fb6d-22ff-4f04-ad24-150e191d381b", "rel": "bookmark"}], "node_uuid": "1ab63b9e-66d7-4cd7-8618-dddd0f9f7881"} DEBUG util.py:445: resource_class DEBUG util.py:445: CUSTOM_TEST DEBUG util.py:445: ACL Test GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-dc9b5f2b-0056-4572-8be5-cc7f33c0ec6d DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"uuid": "49e4fb6d-22ff-4f04-ad24-150e191d381b", "created_at": "2024-05-14T11:54:27.298242+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/49e4fb6d-22ff-4f04-ad24-150e191d381b", "rel": "self"}, {"href": "http://localhost/allocations/49e4fb6d-22ff-4f04-ad24-150e191d381b", "rel": "bookmark"}], "node_uuid": "1ab63b9e-66d7-4cd7-8618-dddd0f9f7881"} DEBUG util.py:445: API ACL Testing Path get /v1/allocations DEBUG util.py:445: GET: /v1/allocations {} DEBUG util.py:445: GOT:Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-82b48407-8ff0-42ed-92f6-d357edd78e4f DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"allocations": []} DEBUG util.py:445: ACL Test GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-82b48407-8ff0-42ed-92f6-d357edd78e4f DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"allocations": []} DEBUG util.py:445: API ACL Testing Path post /v1/allocations DEBUG util.py:445: POST: /v1/allocations {'resource_class': 'CUSTOM_TEST', '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-a89a2da0-19c1-4597-a1fb-125f7d4cf0ce DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-a89a2da0-19c1-4597-a1fb-125f7d4cf0ce DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path get /v1/deploy_templates DEBUG util.py:445: GET: /v1/deploy_templates {} DEBUG util.py:445: GOT:Response: 500 Internal Server Error DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-6f6bf7f3-1b6c-4c48-bd3e-51375b81f2a1 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"baremetal:deploy_template:get 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-6f6bf7f3-1b6c-4c48-bd3e-51375b81f2a1 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"baremetal:deploy_template:get 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: {1} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00335_lessee_reader_cannot_get_deploy_templates [0.047510s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00337_third_party_admin_cannot_post_deploy_template [0.046888s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00339_lessee_reader_cannot_access_chassis [0.046375s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00035_nodes_management_boot_device_get_admin [0.047861s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00101_nodes_vifs_post_member [0.048802s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00041_nodes_management_inject_nmi_put_admin [0.061923s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00341_third_party_admin_cannot_create_chassis [0.068244s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00111_nodes_management_indicators_component_ind_ident_put_allow ... SKIPPED: API appears to be broken and should be patched outside of this work. DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00044_nodes_states_get_admin [0.046174s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00344_node_history_get_reader [0.054521s] ... ok 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-bc8ea19d-91c3-4beb-b490-4b3e65d18575 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_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-f83d1e88-ce54-404c-91b4-2f1b973e5f33 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_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-88e5ae94-6ed3-4e86-96f7-048a41e144a5 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_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-0df0df19-2b6b-45a3-a854-2987b5042e31 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_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-91263299-d7e5-4771-b8e7-6a5096eecee5 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_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-09e4b3b8-636c-49f4-a2bd-90644c1c831d DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-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-3579c5c7-8754-4da5-83da-c4607a54cfb4 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_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-0bd92487-1358-4883-8ce0-5bae44e757f2 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_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-19563a26-4649-4a9b-bb6b-163fd8c2dd71 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_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-52af216b-e8e9-497c-8796-9c40df0024b9 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_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-e52c037d-1ac0-4e53-84c3-539d23d7c264 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_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-2fedb354-1794-40bd-bc2e-4bae5004158b DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_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-5e71a57d-81ad-48ca-b9d0-d0bf7c8a9600 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_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-0b786401-5336-4a41-a13b-848675d27868 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"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: {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00112_portgroups_get_admin [0.055519s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00045_nodes_states_get_member [0.046938s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00046_nodes_states_get_observer [0.051363s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00115_portgroups_post_admin [0.063298s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00043_nodes_management_inject_nmi_put_observer [0.180375s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00350_lessee_node_history_get_reader [0.070277s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00116_portgroups_post_member [0.048124s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00047_nodes_states_power_put_admin [0.046055s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00351_lessee_node_history_get_entry_admin [0.050743s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00117_portgroups_post_observer [0.048235s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00049_nodes_states_power_put_observer [0.046521s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00120_portgroups_detail_get_observer [0.043896s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00054_nodes_states_secure_boot_put_member [0.045974s] ... 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-8c5a7205-afa2-4501-ba53-5410a79404f5 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"baremetal:deploy_template:get 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-8c5a7205-afa2-4501-ba53-5410a79404f5 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"baremetal:deploy_template:get 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-b567103f-c2d2-429d-a6f8-174ea77f42f4 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"baremetal:deploy_template:create 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-b567103f-c2d2-429d-a6f8-174ea77f42f4 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"baremetal:deploy_template:create 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-a39a144c-1e8d-4189-bfd1-17ea129124aa DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"baremetal:chassis:get 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-a39a144c-1e8d-4189-bfd1-17ea129124aa DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"baremetal:chassis:get 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-bd0e898a-7873-4e00-a5ed-a4644139aa2f DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"baremetal:chassis:create 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-bd0e898a-7873-4e00-a5ed-a4644139aa2f DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"baremetal:chassis:create requires a scope of ['system'], request was made with project scope.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path get /v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/history DEBUG util.py:445: GET: /v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/history {} DEBUG util.py:445: GOT:Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-30f4927c-14f5-4c65-8ade-7c034ff5939e DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"history": [{"uuid": "4cbdb527-2bb5-4e8f-ae45-1e3cd5a74258", "created_at": "2024-05-14T11:54:27.712075+00:00", "severity": "ERROR", "event": "Something is wrong", "links": [{"href": "http://localhost/v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/history/4cbdb527-2bb5-4e8f-ae45-1e3cd5a74258", "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-30f4927c-14f5-4c65-8ade-7c034ff5939e DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"history": [{"uuid": "4cbdb527-2bb5-4e8f-ae45-1e3cd5a74258", "created_at": "2024-05-14T11:54:27.712075+00:00", "severity": "ERROR", "event": "Something is wrong", "links": [{"href": "http://localhost/v1/nodes/1ab63b9e-66d7-4cd7-8618-dddd0f9f7881/history/4cbdb527-2bb5-4e8f-ae45-1e3cd5a74258", "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-41e8dbed-c4e4-4d19-85c1-6de8fa9db38c DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG 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-41e8dbed-c4e4-4d19-85c1-6de8fa9db38c DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-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/9aa61ec5-368b-4b10-8ddf-58cedf071901 DEBUG util.py:445: GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/history/9aa61ec5-368b-4b10-8ddf-58cedf071901 {} DEBUG util.py:445: GOT:Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-09077a14-83a8-459c-b364-994d1f3dac4d DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG 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-09077a14-83a8-459c-b364-994d1f3dac4d DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-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/759540c2-e8ff-48cb-9730-03d49bfcaef7 DEBUG util.py:445: GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/history/759540c2-e8ff-48cb-9730-03d49bfcaef7 {} DEBUG util.py:445: GOT:Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-e15245b3-2480-4c63-9c7d-3fa237f52793 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00352_lessee_history_get_entry_member [0.050210s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00052_nodes_states_boot_mode_put_observer [0.179868s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACProjectScoped.test_project_scoped_00354_third_party_admin_cannot_get_node_history [0.073204s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00129_portgroups_portgroup_ident_delete_observer [0.047943s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00055_nodes_states_secure_boot_put_observer [0.053447s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00056_nodes_states_provision_put_admin [0.046936s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00011_nodes_detail_get_admin [0.046548s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00134_nodes_portgroups_detail_get_member [0.047749s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00058_nodes_states_provision_put_observer [0.047089s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00062_nodes_states_console_get_admin [0.047396s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00022_nodes_node_ident_delete_observer [0.048745s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00145_ports_port_id_get_admin [0.048521s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00059_nodes_states_raid_put_admin [0.047797s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00067_nodes_vendor_passthru_methods_get_admin [0.044625s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00023_nodes_validate_get_admin [0.047889s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00150_ports_port_id_patch_observer [0.048037s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00070_nodes_vendor_passthru_get_admin [0.046097s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00076_nodes_vendor_passthru_put_admin [0.046123s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00027_nodes_maintenance_put_member [0.049492s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00151_ports_port_id_delete_admin [0.047430s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00071_nodes_vendor_passthru_get_member [0.046966s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00079_nodes_vendor_passthru_delete_admin [0.046270s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00029_nodes_maintenance_delete_admin [0.045724s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00153_ports_port_id_delete_observer [0.049001s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00074_nodes_vendor_passthru_post_member [0.047554s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00086_nodes_traits_put_member [0.047794s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00042_nodes_management_inject_nmi_put_member [0.048042s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00156_nodes_ports_get_observer [0.047855s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00081_nodes_vendor_passthru_delete_observer [0.045656s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00160_portgroups_ports_get_admin [0.048004s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00048_nodes_states_power_put_member [0.091100s] ... ok DEBUG util.py:445: PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/management/boot_device {'boot_device': 'pxe'} DEBUG util.py:445: GOT:Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-e857359f-fab1-4255-9a28-04adfb2b1cc8 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-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-93c7ec82-cb00-4039-9c27-0f169e00dfb1 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-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-c23c8880-2d63-4332-843f-d59cc2f3b401 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_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-6bc52f09-98b1-49c3-a430-967f9c2ea054 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-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-951de469-26f1-4df6-a9c2-8e0d1cac13dc DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-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-21bd1e6b-4235-4fed-aa67-f6f084ed63a1 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-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-603a418e-8f66-42bb-9304-c9a211cda097 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_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-5bda28ec-b64e-421e-844c-bdf5288089d9 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_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-cb58891a-a6ea-4477-96c6-f5cb23ba6de5 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-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-4ae3564d-ab79-4783-a236-4add4c2fa9b6 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-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-f3816292-5232-40e7-9d0c-37adc94bb0e4 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_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-587a2593-fc67-438d-bb7a-9ff26099ed8d DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_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-681a8bbd-557d-4f8e-be91-be905a54d57e DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_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-af947cb9-ca81-416f-b363-f373b5762779 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_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: {0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00088_nodes_traits_delete_admin [0.046326s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00090_nodes_traits_delete_observer [0.047981s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00168_volume_get_observer [0.044318s] ... ok 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-6de41068-9f59-4fba-a0f0-6e5fb4f86b74 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_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-e5c6ba49-37ba-4ecb-b719-4bb6c70a9a30 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-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-318d1f4e-a842-4bb3-b961-c4261cce556e DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_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-41813495-7726-4ab4-8587-fd21ce603252 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_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-b33eb969-65a0-4ecf-8889-875887b7e9d8 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_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-c4309eb6-8925-412b-b562-8439a57e3cbe DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_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-a78519f3-0353-42d9-b2d3-424db5af2b0b DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_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-86e58e48-5fe2-427a-9c19-5d80a9d7030f DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_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-8e84ff8b-ac40-49f1-931a-118c1f1ac660 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_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-cda95e6c-2f14-4418-bbe2-32ea63920618 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-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-ef1a6ede-9b00-4ccd-ada9-6cbe65e17699 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-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-12fc397e-4d79-48ac-adea-e000c04302bb DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_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-22b8ca79-a5d6-46b8-a387-7661297ac464 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_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-4b84d7fc-5d84-40eb-8b47-c17600a3eeeb DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-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: {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00084_nodes_traits_get_observer [0.046896s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00091_nodes_traits_trait_put_admin [0.047377s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00092_nodes_traits_trait_put_member [0.048698s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00169_volume_connectors_get_admin [0.046209s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00093_nodes_traits_trait_put_observer [0.047632s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00050_nodes_states_boot_mode_put_admin [0.067689s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00097_nodes_vifs_get_admin [0.046217s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00057_nodes_states_provision_put_member [0.047494s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00100_nodes_vifs_post_admin [0.047769s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00099_nodes_vifs_get_observer [0.063893s] ... 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-930a3e54-d46f-48b4-9bfb-4a095eae106e DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:portgroup:list\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path post /v1/portgroups DEBUG util.py:445: POST: /v1/portgroups {'node_uuid': '18a552fb-dcd2-43bf-9302-e4c93287be11'} DEBUG util.py:445: GOT:Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-c2f97cd3-c942-47a2-aed7-0c3097a83bab DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:portgroup:create\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path post /v1/portgroups DEBUG util.py:445: POST: /v1/portgroups {'node_uuid': '18a552fb-dcd2-43bf-9302-e4c93287be11'} DEBUG util.py:445: GOT:Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-8adf01a2-cc3c-4c18-9d21-1f5223b2e2c2 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:portgroup:create\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path post /v1/portgroups DEBUG util.py:445: POST: /v1/portgroups {'node_uuid': '18a552fb-dcd2-43bf-9302-e4c93287be11'} DEBUG util.py:445: GOT:Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-4a33e2c9-ec8c-4861-bcb0-4ec9846b0dbc DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:portgroup:create\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path get /v1/portgroups/detail DEBUG util.py:445: GET: /v1/portgroups/detail {} DEBUG util.py:445: GOT:Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-1c5ec23b-c5dc-4c36-baf4-0e2076e9e895 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:portgroup:list\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path delete /v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4 DEBUG util.py:445: DELETE: /v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4 DEBUG util.py:445: GOT:Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-03cf6bc1-e886-4545-9416-3eae01641e70 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Portgroup 6eb02b44-18a3-4659-8c0b-8d2802581ae4 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path get /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups/detail DEBUG util.py:445: GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups/detail {} DEBUG util.py:445: GOT:Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-5a99481b-539b-4ab9-a6b7-88931ab3ac3b DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path get /v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 DEBUG util.py:445: GET: /v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 {} DEBUG util.py:445: GOT:Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-7ef494ad-603c-4728-9714-9fdc6b9ff755 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Port 1be26c0b-03f2-4d2e-ae87-c02d7f33c781 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path patch /v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 DEBUG util.py:445: PATCH: /v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 [{'op': 'replace', 'path': '/extra', 'value': {'test': 'testing'}}] DEBUG util.py:445: GOT:Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-2d42ba58-969f-4396-b3c3-3be43490d3c4 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Port 1be26c0b-03f2-4d2e-ae87-c02d7f33c781 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path delete /v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 DEBUG util.py:445: DELETE: /v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 DEBUG util.py:445: GOT:Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-f73fe738-322b-4109-a360-78be16a51870 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Port 1be26c0b-03f2-4d2e-ae87-c02d7f33c781 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path delete /v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 DEBUG util.py:445: DELETE: /v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 DEBUG util.py:445: GOT:Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-1ed94ddd-cc13-49ce-8409-77d4e13d3f7e DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Port 1be26c0b-03f2-4d2e-ae87-c02d7f33c781 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path get /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports DEBUG util.py:445: GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports {} DEBUG util.py:445: GOT:Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-b8dec565-7314-4e70-b191-1cbfaba80ebf DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"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-bb6beeb4-5918-45f0-b671-9181236a0d05 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Portgroup 6eb02b44-18a3-4659-8c0b-8d2802581ae4 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path get /v1/volume DEBUG util.py:445: GET: /v1/volume {} DEBUG util.py:445: GOT:Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-b1de8e59-72ba-407c-b125-91df92b2a30b DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:volume:get\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path get /v1/volume/connectors DEBUG util.py:445: GET: /v1/volume/connectors {} DEBUG util.py:445: GOT:Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-e8f829dc-167e-4219-be73-2b4d6211aab8 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:volume:list\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path post /v1/volume/connectors DEBUG util.py:445: POST: /v1/volume/connectors {'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'type': 'ip', 'connector_id': '192.168.1.100'} DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00174_volume_connectors_post_observer [0.049126s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00175_volume_volume_connector_id_get_admin [0.047594s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00060_nodes_states_raid_put_member [0.047836s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00102_nodes_vifs_post_observer [0.045779s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00104_nodes_vifs_node_vif_ident_delete_member [0.055177s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00177_volume_volume_connector_id_get_observer [0.049055s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00108_nodes_management_indicators_get_observer [0.047056s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00061_nodes_states_raid_put_observer [0.055847s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00106_nodes_management_indicators_get_admin [0.047261s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00110_nodes_management_indicators_component_ind_ident_get_allow ... SKIPPED: API appears to be broken and should be patched outside of this work. DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00194_volume_volume_target_id_patch_member [0.050775s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00063_nodes_states_console_get_member [0.047784s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00107_nodes_management_indicators_get_member [0.046580s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00119_portgroups_detail_get_member [0.045255s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00195_volume_volume_target_id_patch_observer [0.050378s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00109_nodes_management_indicators_component_get_allow ... SKIPPED: API appears to be broken and should be patched outside of this work. DEBUG util.py:445: ACL Test GOT Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-e15245b3-2480-4c63-9c7d-3fa237f52793 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"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: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-4a4c4570-e498-45ca-a5b1-2f8753bd3cfb DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1ab63b9e-66d7-4cd7-8618-dddd0f9f7881 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-4a4c4570-e498-45ca-a5b1-2f8753bd3cfb DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1ab63b9e-66d7-4cd7-8618-dddd0f9f7881 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path get /v1/nodes/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-14ce2cb8-12c2-4036-b573-db81ac9e7f04 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:list\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path 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-864064bd-6ea8-4aa3-bf1c-0c4f1dd78e26 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-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-1328981f-3dbf-4797-8263-e33eaf64e789 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_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-1e0a7a43-5de3-4f7d-9854-768625c975fa DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_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-dda92391-c4a3-45bd-afc0-0719a8fc27f1 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_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-b38627ab-716e-45f1-b3c6-55246667d55f DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_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-e117ff92-1f72-4fdd-91fc-30f6c0ffb5bf DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_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-88c95254-0e4f-4adb-a2ed-101d68a9fb0d DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_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-385428e9-c0f3-4634-a2d1-25f58922fb7d DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_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-d1d6b562-0df1-4d2a-844e-f8ec87a8998a DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_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-2828ab35-dc57-4300-a2ec-2399469ba29d DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-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-2081a34d-ffcc-48c2-b6e2-f8bfc4dc95b4 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00069_nodes_vendor_passthru_methods_get_observer [0.047141s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00123_portgroups_portgroup_ident_get_observer [0.048225s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00072_nodes_vendor_passthru_get_observer [0.047940s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00113_portgroups_get_member [0.044104s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00200_nodes_volume_get_member [0.082818s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00128_portgroups_portgroup_ident_delete_member [0.045029s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00073_nodes_vendor_passthru_post_admin [0.047648s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00121_portgroups_portgroup_ident_get_admin [0.049324s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00201_nodes_volume_get_observer [0.047090s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00132_nodes_portgroups_get_observer [0.047064s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00075_nodes_vendor_passthru_post_observer [0.047822s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00122_portgroups_portgroup_ident_get_member [0.050612s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00210_drivers_get_observer [0.046872s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00138_ports_get_observer [0.044627s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00077_nodes_vendor_passthru_put_member [0.052233s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00126_portgroups_portgroup_ident_patch_observer [0.051410s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00214_drivers_properties_get_admin [0.047292s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00140_ports_post_member [0.048167s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00082_nodes_traits_get_admin [0.047811s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00127_portgroups_portgroup_ident_delete_admin [0.047819s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00215_drivers_properties_get_member [0.046109s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00141_ports_post_observer [0.046809s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00083_nodes_traits_get_member [0.047754s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00130_nodes_portgroups_get_admin [0.047364s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00222_drivers_vendor_passthru_methods_get_observer [0.045756s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00143_ports_detail_get_member [0.044742s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00085_nodes_traits_put_admin [0.048329s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00131_nodes_portgroups_get_member [0.046590s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00229_drivers_vendor_passthru_put_admin [0.046836s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00087_nodes_traits_put_observer [0.049189s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00230_drivers_vendor_passthru_put_member [0.044856s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00098_nodes_vifs_get_member [0.045957s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00234_nodes_bios_get_admin [0.046907s] ... ok 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-46e93680-7866-4c3d-b412-5b25f03f3d7d DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_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-1b00624e-5eb7-48dd-be27-99e6d1920fd6 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_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-5a25c38e-ce6c-4aa3-8e93-36bb5c3083f5 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-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-8662f795-9b63-408a-a804-74f3d48ee9e4 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_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-eb598775-8e7a-4853-8739-36c720f517e6 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-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-380ba418-dd50-42af-a691-6ab31c68c6fe DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-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-97266186-0fab-4f82-9af9-288734647c49 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"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-4b5b233c-b441-447a-8bea-71bbfcad7784 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:portgroup:list\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path get /v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4 DEBUG util.py:445: GET: /v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4 {} DEBUG util.py:445: GOT:Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-a0cf2fc1-ee34-4a38-af10-13bdde1e9f9e DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Portgroup 6eb02b44-18a3-4659-8c0b-8d2802581ae4 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path get /v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4 DEBUG util.py:445: GET: /v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4 {} DEBUG util.py:445: GOT:Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-6a7b555e-7c89-464a-98f9-466c11b60531 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Portgroup 6eb02b44-18a3-4659-8c0b-8d2802581ae4 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path patch /v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4 DEBUG util.py:445: PATCH: /v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4 [{'op': 'replace', 'path': '/extra', 'value': {'test': 'testing'}}] DEBUG util.py:445: GOT:Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-7d470368-905c-4ac0-8ee6-d1286487d9f3 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Portgroup 6eb02b44-18a3-4659-8c0b-8d2802581ae4 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path delete /v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4 DEBUG util.py:445: DELETE: /v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4 DEBUG util.py:445: GOT:Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-fe10570b-0daa-4061-b1dd-630db049cf84 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Portgroup 6eb02b44-18a3-4659-8c0b-8d2802581ae4 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path get /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups DEBUG util.py:445: GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups {} DEBUG util.py:445: GOT:Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-ea664768-abf7-4658-a03c-483716301fb0 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-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-6927d1ef-eee3-4fe0-a75a-97f3c3302680 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-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: {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00135_nodes_portgroups_detail_get_observer [0.045357s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00147_ports_port_id_get_observer [0.046813s] ... 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-5e68866f-c3b5-4841-bd86-7b0f0043b997 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_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-2022c5ff-16f9-4bf8-92f4-85acb40690b1 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_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-00f2c105-1087-4bad-8f7a-735407f53e3e DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-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-7019659c-7c9d-4a9e-8a06-d9f7b921fb19 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_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-e40e7a90-0eb6-4678-b7fb-94a312a5e687 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_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-71750e1a-888f-46b0-bff6-d472996ec243 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-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-d85f5214-2206-4e55-9e0e-824c21a50241 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path get /v1/portgroups/detail DEBUG util.py:445: GET: /v1/portgroups/detail {} DEBUG util.py:445: GOT:Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-38cc0dc4-14ac-4661-8824-a4abd8d5e4ef DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:portgroup:list\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path get /v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4 DEBUG util.py:445: GET: /v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4 {} DEBUG util.py:445: GOT:Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-08dc9aae-0fbb-44a2-9b87-c5f9ee8446bb DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Portgroup 6eb02b44-18a3-4659-8c0b-8d2802581ae4 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path delete /v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4 DEBUG util.py:445: DELETE: /v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4 DEBUG util.py:445: GOT:Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-8fa4b632-88d2-4eb2-9944-df5b9eeac97d DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Portgroup 6eb02b44-18a3-4659-8c0b-8d2802581ae4 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path get /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups DEBUG util.py:445: GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups {} DEBUG util.py:445: GOT:Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-273e9ed3-d2ac-4f1f-9c14-405a46075c3d DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"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-a9bc77a6-f708-4a53-83e5-0ef19ef8f495 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:port:list\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path post /v1/ports DEBUG util.py:445: POST: /v1/ports {'node_uuid': '68a552fb-dcd2-43bf-9302-e4c93287be16', 'address': '00:01:02:03:04:05'} DEBUG util.py:445: GOT:Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-7e7c28c2-9aa7-4067-a069-33cfcbd91fda DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:port:create\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path post /v1/ports DEBUG util.py:445: POST: /v1/ports {'node_uuid': '68a552fb-dcd2-43bf-9302-e4c93287be16', 'address': '00:01:02:03:04:05'} DEBUG util.py:445: GOT:Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-012e54a1-f0e9-480a-a412-fd2732381e6d DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:port:create\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path get /v1/ports/detail DEBUG util.py:445: GET: /v1/ports/detail {} DEBUG util.py:445: GOT:Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-cee30b16-eba6-499f-9868-8210ff776e8e DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:port:list\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path patch /v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 DEBUG util.py:445: PATCH: /v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 [{'op': 'replace', 'path': '/extra', 'value': {'test': 'testing'}}] DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00148_ports_port_id_patch_admin [0.048990s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00155_nodes_ports_get_member [0.104715s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00103_nodes_vifs_node_vif_ident_delete_admin [0.049054s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00152_ports_port_id_delete_member [0.046477s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00161_portgroups_ports_get_member [0.066809s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00154_nodes_ports_get_admin [0.045978s] ... 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-87f733e0-c361-423e-a300-7e38aef6da31 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:volume:create\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path get /v1/volume/connectors/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 DEBUG util.py:445: GET: /v1/volume/connectors/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 {} DEBUG util.py:445: GOT:Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-447a7c86-c34a-49bf-8ed2-785489f836bf DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Volume connector 1be26c0b-03f2-4d2e-ae87-c02d7f33c781 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path get /v1/volume/connectors/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 DEBUG util.py:445: GET: /v1/volume/connectors/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 {} DEBUG util.py:445: GOT:Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-b70eaf9f-ec3b-43a3-a1f2-e0d8a4aa3fae DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Volume connector 1be26c0b-03f2-4d2e-ae87-c02d7f33c781 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path patch /v1/volume/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-a2d773ba-d52e-4129-b2ce-a05a90d218c0 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Volume target 1be26c0b-03f2-4d2e-ae87-c02d7f33c781 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path patch /v1/volume/targets/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 DEBUG util.py:445: PATCH: /v1/volume/targets/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 [{'op': 'replace', 'path': '/extra', 'value': {'test': 'testing'}}] DEBUG util.py:445: GOT:Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-ae96cec1-a876-473a-8155-11c99d37c707 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Volume target 1be26c0b-03f2-4d2e-ae87-c02d7f33c781 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path get /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume DEBUG util.py:445: GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume {} DEBUG util.py:445: GOT:Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-9c7aa9eb-a721-4f76-8411-6a1f4573e4fe DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:volume:get\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path get /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume DEBUG util.py:445: GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume {} DEBUG util.py:445: GOT:Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-9e4eaa59-725f-4271-8f5f-b4d6756eaf23 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:volume:get\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path get /v1/drivers 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-55295faf-5c4b-4a92-aba6-047d4ba8eadd DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"baremetal:driver:get 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-e28a8608-d5d4-4f57-8013-7fdd73f7d8c1 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"baremetal:driver:get_properties 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-cbf6d733-9a0e-48dc-9b34-609969861fa1 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"baremetal:driver:get_properties 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-5d36746d-acbd-40e6-b81d-61726fca7556 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"baremetal:driver:vendor_passthru 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-ca4baf1d-3308-40f0-958f-5755bd187b3f DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"baremetal:driver:vendor_passthru 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-e3b1fc35-69e4-491d-a088-826a6a5e7efc DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"baremetal:driver:vendor_passthru 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-c1733c7c-3523-4b7a-a7fe-d1c8b390970f DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-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: {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00236_nodes_bios_get_observer [0.060780s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00239_nodes_bios_bios_setting_get_observer [0.045831s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00105_nodes_vifs_node_vif_ident_delete_observer [0.072318s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00158_nodes_ports_detail_get_member [0.046428s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00165_portgroups_ports_detail_get_observer [0.056145s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00114_portgroups_get_observer [0.047951s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00244_conductors_hostname_get_member [0.051175s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00162_portgroups_ports_get_observer [0.046217s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00166_volume_get_admin [0.048089s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00245_conductors_hostname_get_observer [0.043900s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00118_portgroups_detail_get_admin [0.045939s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00163_portgroups_ports_detail_get_admin [0.047111s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00249_allocations_get_admin [0.044892s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00164_portgroups_ports_detail_get_member [0.046074s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00167_volume_get_member [0.045523s] ... ok DEBUG util.py:445: API ACL Testing Path get /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/vendor_passthru/methods DEBUG util.py:445: GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/vendor_passthru/methods {} DEBUG util.py:445: GOT:Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-6e2c87f8-7dfa-4f31-8b03-4d876859a8f6 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-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-698d0832-ec11-4354-96cb-5d1e218e08af DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_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-e8c1becf-65d0-4352-a10b-ddd32a2470d6 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_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-bb9bbf4b-213f-4b0a-a4c4-1df60cb988cf DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_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-3367ffe6-51bd-4a67-a497-05d950355429 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-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-3e044ea1-bed8-4791-96d5-f90b319efb61 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-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-e1dbfc3d-b4db-4a21-9b82-94f330656d34 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_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-4c9fbf68-1748-450a-8e9d-e9d6c8722df5 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_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-426bce0e-f9e9-4665-9241-516fbb58ca37 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-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-bd8fa4a2-c24b-4a1b-80a9-d51dad5a7d80 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_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-b23524b3-2db2-40c8-b7f1-226c805160f3 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_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-503c7fb4-149b-428f-94e5-9619b0bf0789 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"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-76befd64-f3fd-4332-ab7c-0bcff904d00b DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:portgroup:list\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path get /v1/portgroups/detail DEBUG util.py:445: GET: /v1/portgroups/detail {} DEBUG util.py:445: GOT:Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-f63e5c23-ef79-467b-8ba7-e86acb9dc89b DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:portgroup:list\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path patch /v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4 DEBUG util.py:445: PATCH: /v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4 [{'op': 'replace', 'path': '/extra', 'value': {'test': 'testing'}}] DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00124_portgroups_portgroup_ident_patch_admin [0.047277s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00251_allocations_get_observer [0.043547s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00125_portgroups_portgroup_ident_patch_member [0.055380s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00170_volume_connectors_get_member [0.044487s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00172_volume_connectors_post_admin [0.080035s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00255_allocations_allocation_id_patch_admin [0.044980s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00133_nodes_portgroups_detail_get_admin [0.049289s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00180_volume_volume_connector_id_patch_observer [0.046490s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00176_volume_volume_connector_id_get_member [0.050505s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00256_allocations_allocation_id_patch_member [0.044920s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00136_ports_get_admin [0.047261s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00183_volume_volume_connector_id_delete_observer [0.045486s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00259_allocations_allocation_id_delete_member [0.043622s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00178_volume_volume_connector_id_patch_admin [0.051994s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00137_ports_get_member [0.047874s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00189_volume_targets_post_observer [0.046430s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00261_nodes_allocation_get_admin [0.045666s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00179_volume_volume_connector_id_patch_member [0.056508s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00199_nodes_volume_get_admin [0.042837s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00139_ports_post_admin [0.050096s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00271_deploy_templates_get_member [0.043240s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00181_volume_volume_connector_id_delete_admin [0.056285s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00203_nodes_volume_connectors_get_member [0.047823s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00142_ports_detail_get_admin [0.044902s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00185_volume_targets_get_member [0.053454s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00144_ports_detail_get_observer [0.043075s] ... 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-9f60669c-2953-498d-8ea8-e5d7a95f3d87 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path get /v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 DEBUG util.py:445: GET: /v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 {} DEBUG util.py:445: GOT:Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-ed1c66a5-d2ba-4e54-b818-39f51256e10e DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Port 1be26c0b-03f2-4d2e-ae87-c02d7f33c781 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path delete /v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 DEBUG util.py:445: DELETE: /v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 DEBUG util.py:445: GOT:Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-8f09a360-db23-45fc-bc04-ca9daacd4f34 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Port 1be26c0b-03f2-4d2e-ae87-c02d7f33c781 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path get /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports DEBUG util.py:445: GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports {} DEBUG util.py:445: GOT:Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-7cba0597-9192-4808-a319-fe41e576b95d DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-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-9c829502-d58a-466e-a392-ab0832bf9cd0 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"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-79b78cc7-31ca-413d-9fd0-84aaf6622181 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Portgroup 6eb02b44-18a3-4659-8c0b-8d2802581ae4 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path get /v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4/ports/detail DEBUG util.py:445: GET: /v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4/ports/detail {} DEBUG util.py:445: GOT:Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-fbade183-0dc5-4497-8936-93ee800de269 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Portgroup 6eb02b44-18a3-4659-8c0b-8d2802581ae4 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path get /v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4/ports/detail DEBUG util.py:445: GET: /v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4/ports/detail {} DEBUG util.py:445: GOT:Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-39217185-1082-40fe-babd-7e385212d6ed DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Portgroup 6eb02b44-18a3-4659-8c0b-8d2802581ae4 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path get /v1/volume/connectors DEBUG util.py:445: GET: /v1/volume/connectors {} DEBUG util.py:445: GOT:Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-5834bfd7-54f2-466d-b2d9-80b6df5fd2f3 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:volume:list\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path patch /v1/volume/connectors/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 DEBUG util.py:445: PATCH: /v1/volume/connectors/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 [{'op': 'replace', 'path': '/extra', 'value': {'test': 'testing'}}] DEBUG util.py:445: GOT:Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-e8fe58a8-8e0b-4d5d-83f9-11aea6b78fdd DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Volume connector 1be26c0b-03f2-4d2e-ae87-c02d7f33c781 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path delete /v1/volume/connectors/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 DEBUG util.py:445: DELETE: /v1/volume/connectors/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 DEBUG util.py:445: GOT:Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-7272daf8-ebbc-4177-a630-074863969b44 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Volume connector 1be26c0b-03f2-4d2e-ae87-c02d7f33c781 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path post /v1/volume/targets DEBUG util.py:445: POST: /v1/volume/targets {'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'volume_type': 'iscsi', 'boot_index': 4, 'volume_id': 'test-id'} DEBUG util.py:445: GOT:Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-dfe7bf25-d3f8-4bb4-9409-ab7e69d88fa1 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:volume:create\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path get /v1/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-fc20faa7-b3ac-446e-af28-5f4765293be3 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:volume:get\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path get /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume/connectors DEBUG util.py:445: GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume/connectors {} DEBUG util.py:445: GOT:Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-3121168e-261e-4057-88c9-7521583966ba DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-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: {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00205_nodes_volume_targets_get_admin [0.046588s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00206_nodes_volume_targets_get_member [0.046460s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00188_volume_targets_post_member [0.052169s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00146_ports_port_id_get_member [0.080744s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00272_deploy_templates_get_observer [0.176871s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00207_nodes_volume_targets_get_observer [0.046726s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00192_volume_volume_target_id_get_observer [0.055965s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00149_ports_port_id_patch_member [0.050505s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00225_drivers_vendor_passthru_get_observer [0.042507s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00274_deploy_templates_deploy_template_id_get_member [0.044120s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00228_drivers_vendor_passthru_post_observer [0.043506s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00279_deploy_templates_deploy_template_id_delete_admin [0.042348s] ... 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-e4b1413d-e74e-458b-938b-e1e88ca05d13 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Port 1be26c0b-03f2-4d2e-ae87-c02d7f33c781 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path get /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports DEBUG util.py:445: GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports {} DEBUG util.py:445: GOT:Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-5ed9c4e4-8fe9-4e0b-b747-1d4af8a83e98 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"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-7c13fb71-9f54-43f4-ab5e-c1be1b3bc916 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Portgroup 6eb02b44-18a3-4659-8c0b-8d2802581ae4 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path get /v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4/ports/detail DEBUG util.py:445: GET: /v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4/ports/detail {} DEBUG util.py:445: GOT:Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-e71742aa-f640-461b-906d-7e88241792dd DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Portgroup 6eb02b44-18a3-4659-8c0b-8d2802581ae4 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path get /v1/volume DEBUG util.py:445: GET: /v1/volume {} DEBUG util.py:445: GOT:Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-5672415e-515b-4ec4-a697-81fcfd0851f1 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:volume:get\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path get /v1/volume DEBUG util.py:445: GET: /v1/volume {} DEBUG util.py:445: GOT:Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-55cfd3b7-58af-48b3-bf2e-8e9e2ec3b0e7 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:volume:get\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path post /v1/volume/connectors DEBUG util.py:445: POST: /v1/volume/connectors {'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'type': 'ip', 'connector_id': '192.168.1.100'} DEBUG util.py:445: GOT:Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-eaa8627a-3507-4b44-8a43-0845677daf22 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:volume:create\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path get /v1/volume/connectors/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 DEBUG util.py:445: GET: /v1/volume/connectors/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 {} DEBUG util.py:445: GOT:Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-f1eda402-e9a4-4ed2-929e-bd967fbc8628 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Volume connector 1be26c0b-03f2-4d2e-ae87-c02d7f33c781 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path patch /v1/volume/connectors/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 DEBUG util.py:445: PATCH: /v1/volume/connectors/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 [{'op': 'replace', 'path': '/extra', 'value': {'test': 'testing'}}] DEBUG util.py:445: GOT:Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-a2dee78a-8acb-4d42-be03-a6673475be7d DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Volume connector 1be26c0b-03f2-4d2e-ae87-c02d7f33c781 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path patch /v1/volume/connectors/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 DEBUG util.py:445: PATCH: /v1/volume/connectors/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 [{'op': 'replace', 'path': '/extra', 'value': {'test': 'testing'}}] DEBUG util.py:445: GOT:Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-62305b40-e869-4fa0-bcd5-e28f289a0202 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Volume connector 1be26c0b-03f2-4d2e-ae87-c02d7f33c781 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path delete /v1/volume/connectors/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 DEBUG util.py:445: DELETE: /v1/volume/connectors/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 DEBUG util.py:445: GOT:Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-e7249170-ef10-435d-b999-4bd2ccafa5a0 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Volume connector 1be26c0b-03f2-4d2e-ae87-c02d7f33c781 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path get /v1/volume/targets DEBUG util.py:445: GET: /v1/volume/targets {} DEBUG util.py:445: GOT:Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-2630d433-48a0-4a72-94fb-6d19f06baae7 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:volume:list\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path post /v1/volume/targets DEBUG util.py:445: POST: /v1/volume/targets {'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'volume_type': 'iscsi', 'boot_index': 4, 'volume_id': 'test-id'} DEBUG util.py:445: GOT:Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-cf48ce51-4b56-4887-a866-c69548f27e13 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:volume:create\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path get /v1/volume/targets/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 DEBUG util.py:445: GET: /v1/volume/targets/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 {} DEBUG util.py:445: GOT:Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-f059ca78-3880-4865-ab04-41a3b73e9919 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Volume target 1be26c0b-03f2-4d2e-ae87-c02d7f33c781 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path patch /v1/volume/targets/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 DEBUG util.py:445: PATCH: /v1/volume/targets/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 [{'op': 'replace', 'path': '/extra', 'value': {'test': 'testing'}}] DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00193_volume_volume_target_id_patch_admin [0.059589s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00157_nodes_ports_detail_get_admin [0.080298s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00280_deploy_templates_deploy_template_id_delete_member [0.042981s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00198_volume_volume_target_id_delete_observer [0.054097s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00237_nodes_bios_bios_setting_get_admin [0.066429s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00159_nodes_ports_detail_get_observer [0.046433s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00211_drivers_driver_name_get_admin [0.047655s] ... 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-cb819442-35b4-41c1-8750-c01aab299127 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-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-592b79f7-c983-463c-96b6-da578c595aa3 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"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-c7932dc2-91ec-438d-8232-3c1d6b059c66 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"baremetal:conductor:get 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-ef902eae-b614-4b26-8b71-df3335b8f97b DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"baremetal:conductor:get 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-ba584cf4-c8c6-4be4-b52a-912e16d5c618 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:allocation:list\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path get /v1/allocations DEBUG util.py:445: GET: /v1/allocations {} DEBUG util.py:445: GOT:Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-0de1f059-32ba-4fe4-9339-ca08728ce09e DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:allocation:list\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path patch /v1/allocations/65b9dea0-d640-46f8-b072-1bd3fec2f85d DEBUG util.py:445: PATCH: /v1/allocations/65b9dea0-d640-46f8-b072-1bd3fec2f85d [{'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-a015d4ee-89fe-4346-87a6-08af47e64758 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Allocation 65b9dea0-d640-46f8-b072-1bd3fec2f85d could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path patch /v1/allocations/da5f8de0-82d3-4462-8f0b-699c7fbd8109 DEBUG util.py:445: PATCH: /v1/allocations/da5f8de0-82d3-4462-8f0b-699c7fbd8109 [{'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-7da3755d-da5c-44bc-b6a0-d27fb1d2521a DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Allocation da5f8de0-82d3-4462-8f0b-699c7fbd8109 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path delete /v1/allocations/c2fc5884-a7e2-4df0-ae9c-5e19c6dceb03 DEBUG util.py:445: DELETE: /v1/allocations/c2fc5884-a7e2-4df0-ae9c-5e19c6dceb03 DEBUG util.py:445: GOT:Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-4a859e08-353f-466d-97b1-e3dcc088fcb5 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Allocation c2fc5884-a7e2-4df0-ae9c-5e19c6dceb03 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-ff2be215-daae-4767-b25b-1cea0d9960a8 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Resource could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path get /v1/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-0e3d20a9-0982-45e6-94ba-a20184c5e5dc DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"baremetal:deploy_template:get 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-9786dbff-6288-417c-9c65-53ecab4b3f54 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"baremetal:deploy_template:get 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/b163e8cf-cff3-4eec-ba4f-8f942f26ca4b DEBUG util.py:445: GET: /v1/deploy_templates/b163e8cf-cff3-4eec-ba4f-8f942f26ca4b {} DEBUG util.py:445: GOT:Response: 500 Internal Server Error DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-36e3da89-3f62-4945-9a53-df0678e15a89 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"baremetal:deploy_template:get 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/18969c56-d6a8-4925-b64f-e23bffd577d0 DEBUG util.py:445: DELETE: /v1/deploy_templates/18969c56-d6a8-4925-b64f-e23bffd577d0 DEBUG util.py:445: GOT:Response: 500 Internal Server Error DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-aded7bb0-9b2e-489e-858e-60a00ed157e3 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"baremetal:deploy_template:delete 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/17af3606-c701-4690-b587-e9657fc103d9 DEBUG util.py:445: DELETE: /v1/deploy_templates/17af3606-c701-4690-b587-e9657fc103d9 DEBUG util.py:445: GOT:Response: 500 Internal Server Error DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-2e126e70-4ce2-456b-8405-d5f317c73c17 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"baremetal:deploy_template:delete requires a scope of ['system'], request was made with project scope.\", \"debuginfo\": null}"} DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00284_chassis_post_observer [0.043156s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00171_volume_connectors_get_observer [0.046029s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00213_drivers_driver_name_get_observer [0.044374s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00241_conductors_get_member [0.071289s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00295_chassis_chassis_id_patch_member [0.044532s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00173_volume_connectors_post_member [0.046535s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00216_drivers_properties_get_observer [0.045450s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00242_conductors_get_observer [0.044143s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00299_chassis_chassis_id_delete_observer [0.049630s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00217_drivers_raid_logical_disk_properties_get_admin [0.045004s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00246_allocations_post_admin [0.046292s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00182_volume_volume_connector_id_delete_member [0.045433s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00303_node_history_get_entry_admin [0.047000s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00304_node_history_get_entry_member [0.046173s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00258_allocations_allocation_id_delete_admin [0.046485s] ... 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-e026e6c5-bc8b-4588-9187-fe03ceed85df DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Portgroup 6eb02b44-18a3-4659-8c0b-8d2802581ae4 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path patch /v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4 DEBUG util.py:445: PATCH: /v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4 [{'op': 'replace', 'path': '/extra', 'value': {'test': 'testing'}}] DEBUG util.py:445: GOT:Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-2fe3e7af-ab59-4b56-b929-302afb977ac5 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Portgroup 6eb02b44-18a3-4659-8c0b-8d2802581ae4 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path get /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups/detail DEBUG util.py:445: GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups/detail {} DEBUG util.py:445: GOT:Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-308b0228-3e69-49d1-8e7f-a40f5318cdbd DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"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-4fc4d3b0-bfdb-4768-89e5-7c3d67c6a659 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:port:list\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path get /v1/ports DEBUG util.py:445: GET: /v1/ports {} DEBUG util.py:445: GOT:Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-9498c5ce-259c-47df-bdb4-2b1b7803176e DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:port:list\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path post /v1/ports DEBUG util.py:445: POST: /v1/ports {'node_uuid': '68a552fb-dcd2-43bf-9302-e4c93287be16', 'address': '00:01:02:03:04:05'} DEBUG util.py:445: GOT:Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-dcd350f7-bcab-48cb-bd53-2f1249543abd DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:port:create\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path get /v1/ports/detail DEBUG util.py:445: GET: /v1/ports/detail {} DEBUG util.py:445: GOT:Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-e6cfeab3-6b29-404d-9b47-e4d7bdbbd56f DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:port:list\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path get /v1/ports/detail DEBUG util.py:445: GET: /v1/ports/detail {} DEBUG util.py:445: GOT:Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-b37b118d-f74f-4ade-9cf9-88d26a7d00b8 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:port:list\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path get /v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 DEBUG util.py:445: GET: /v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 {} DEBUG util.py:445: GOT:Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-039aa704-65fd-4881-9864-297eaea82c6a DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Port 1be26c0b-03f2-4d2e-ae87-c02d7f33c781 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path patch /v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 DEBUG util.py:445: PATCH: /v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 [{'op': 'replace', 'path': '/extra', 'value': {'test': 'testing'}}] DEBUG util.py:445: GOT:Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-ea75d240-1743-46f7-a5d7-c3707cd18dcd DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Port 1be26c0b-03f2-4d2e-ae87-c02d7f33c781 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path get /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports/detail DEBUG util.py:445: GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports/detail {} DEBUG util.py:445: GOT:Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-29e810f0-302f-46c2-82ad-932185529090 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-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-1aa02285-e361-4e2c-b56f-7af3a22d9bc4 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"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/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-1f93606c-ca58-48e6-b8c6-1ac2a252e310 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:volume:list\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path post /v1/volume/connectors DEBUG util.py:445: POST: /v1/volume/connectors {'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'type': 'ip', 'connector_id': '192.168.1.100'} DEBUG util.py:445: GOT:Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-be63ba0d-6761-46da-8498-d18d1d20a73e DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:volume:create\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path delete /v1/volume/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-7d14d7d5-9a9d-4669-9635-99c57a94c904 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Volume connector 1be26c0b-03f2-4d2e-ae87-c02d7f33c781 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path get /v1/volume/targets DEBUG util.py:445: GET: /v1/volume/targets {} DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00184_volume_targets_get_admin [0.044746s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00218_drivers_raid_logical_disk_properties_get_member [0.068633s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00186_volume_targets_get_observer [0.042578s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00263_nodes_allocation_get_observer [0.046916s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00004_nodes_post_observer [0.064697s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00219_drivers_raid_logical_disk_properties_get_observer [0.052913s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00187_volume_targets_post_admin [0.045914s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00269_deploy_templates_post_observer [0.045738s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00011_nodes_detail_get_admin [0.044154s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00190_volume_volume_target_id_get_admin [0.046438s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00221_drivers_vendor_passthru_methods_get_member [0.047442s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00273_deploy_templates_deploy_template_id_get_admin [0.043844s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00013_nodes_detail_get_observer [0.045079s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00191_volume_volume_target_id_get_member [0.046760s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00223_drivers_vendor_passthru_get_admin [0.047498s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00287_chassis_get_observer [0.044521s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00022_nodes_node_ident_delete_observer [0.046135s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00226_drivers_vendor_passthru_post_admin [0.047061s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00289_chassis_detail_get_member [0.042589s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00025_nodes_validate_get_observer [0.045208s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00232_drivers_vendor_passthru_delete_admin ... SKIPPED: not updated for scope testing DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00036_nodes_management_boot_device_get_member [0.046529s] ... 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-fc6dd4f4-50f8-4c67-bd85-022c6d19d029 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-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-0d278917-25d9-4359-8e1f-be3a9366bce0 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-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-3fe1698d-1e0d-48bd-9406-c33fa0932bd1 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path get /v1/drivers/fake-driverz/vendor_passthru?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-6a358633-7e1c-4e60-80a9-23dfde6682d4 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"baremetal:driver:vendor_passthru 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-705ed5e0-9ea8-4213-8776-b77bfd428331 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"baremetal:driver:vendor_passthru 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-1dbab711-6790-4163-8b19-f649045e122c DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"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-f023642d-baa7-4b95-abe9-5167004e0882 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"baremetal:conductor:get 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-7b6b4279-7dd3-4f1f-843e-58ae305c5ae7 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"baremetal:conductor:get 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-8c96c256-66d9-474e-b6fe-262d06b53e18 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:allocation:create\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path delete /v1/allocations/c1f44848-405b-4e09-b168-e8f0365122ce DEBUG util.py:445: DELETE: /v1/allocations/c1f44848-405b-4e09-b168-e8f0365122ce DEBUG util.py:445: GOT:Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-b5cdf620-658a-420f-9eb2-b7b80da84f90 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Allocation c1f44848-405b-4e09-b168-e8f0365122ce 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-c5c6d619-19b3-4697-9bd3-f39ebe57946b DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Resource could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path post /v1/deploy_templates DEBUG util.py:445: POST: /v1/deploy_templates {'name': 'CUSTOM_TEST_TEMPLATE', 'steps': [{'interface': 'deploy', 'step': 'noop', 'args': {}, 'priority': 0}]} DEBUG util.py:445: GOT:Response: 500 Internal Server Error DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-def5b955-b507-44ab-8c10-beec6710528a DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"baremetal:deploy_template:create 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/3ba7a897-6c0a-414f-860f-fcfc31119310 DEBUG util.py:445: GET: /v1/deploy_templates/3ba7a897-6c0a-414f-860f-fcfc31119310 {} DEBUG util.py:445: GOT:Response: 500 Internal Server Error DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-0ece2ac4-b9e1-442c-9e55-afa70bfa5294 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"baremetal:deploy_template:get 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-8cb9a484-fb82-4c62-a86f-3c909dc490fa DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"baremetal:chassis:get 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-387a35fd-c864-4a34-ac54-8aa717ef12f2 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"baremetal:chassis:get 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_rbac_legacy_00291_chassis_chassis_id_get_admin [0.043648s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00238_nodes_bios_bios_setting_get_member [0.051011s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00294_chassis_chassis_id_patch_admin [0.043654s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00296_chassis_chassis_id_patch_observer [0.043720s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00247_allocations_post_member ... SKIPPED: This endpoint's behavior supports allocation creation as a member with the new Role Based Access Control changes. Thus this test cannot both ensure prior and post-change behavior as it is actually valid moving forward. DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00042_nodes_management_inject_nmi_put_member [0.052883s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00196_volume_volume_target_id_delete_admin [0.212735s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00045_nodes_states_get_member [0.046867s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00300_node_history_get_admin [0.047005s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00252_allocations_allocation_id_get_admin [0.048419s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00197_volume_volume_target_id_delete_member [0.045996s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00046_nodes_states_get_observer [0.046754s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00253_allocations_allocation_id_get_member [0.049150s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00302_node_history_get_observer [0.046157s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00202_nodes_volume_connectors_get_admin [0.047739s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00005_nodes_get_node_admin [0.045509s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00204_nodes_volume_connectors_get_observer [0.046769s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00208_drivers_get_admin [0.042192s] ... ok DEBUG util.py:445: API ACL Testing Path post /v1/chassis DEBUG util.py:445: POST: /v1/chassis {'description': 'test-chassis'} DEBUG util.py:445: GOT:Response: 500 Internal Server Error DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-bcda6bd8-e9be-497c-a2ea-c6ce285bab56 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"baremetal:chassis:create 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-b835b104-c961-4843-92b5-6709a6f332a5 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"baremetal:chassis:update 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-28fcce96-2637-488f-8bc9-0ef9ff25b58e DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"baremetal:chassis:delete 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/74d30f9a-bda7-4bb7-b4c0-d7cdffbdcaf7 DEBUG util.py:445: GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/history/74d30f9a-bda7-4bb7-b4c0-d7cdffbdcaf7 {} DEBUG util.py:445: GOT:Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-4a36e682-7e44-4951-b596-1820e1ec3602 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-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/ba80a7b4-3861-41b7-84fa-281428f1d00f DEBUG util.py:445: GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/history/ba80a7b4-3861-41b7-84fa-281428f1d00f {} DEBUG util.py:445: GOT:Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-9e85be8a-fc4d-4dc9-89a8-15c4e79936d5 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path post /v1/nodes DEBUG util.py:445: POST: /v1/nodes {'name': 'node', 'driver': 'fake-driverz'} DEBUG util.py:445: GOT:Response: 500 Internal Server Error DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-5f04a2a0-21eb-4863-a8f5-7e365c561c9c DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"baremetal:node:create requires a scope of ['system'], request was made with project scope.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path get /v1/nodes/detail DEBUG util.py:445: GET: /v1/nodes/detail {} DEBUG util.py:445: GOT:Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-1ab72d2b-94bd-4db7-aa32-d2864e9eb6f5 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:list\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path get /v1/nodes/detail DEBUG util.py:445: GET: /v1/nodes/detail {} DEBUG util.py:445: GOT:Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-fcb3b00c-8035-4a54-ac16-bfbd024f5a92 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:list\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path 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-071688fb-9cc3-4d4c-a19b-5fc1e055c172 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-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-1acb2012-5b93-4953-b0ee-dfe3ca997b19 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-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-c2145321-afe0-469d-ac44-061abcaaf1ff DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_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-c0c136b7-7b5c-4fba-b2c6-76622c4afbf5 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-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-38b155dd-a94a-47cd-822b-bdfebccef551 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-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-e686a4e5-c8be-436c-9a3f-9486260a6914 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_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: {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00051_nodes_states_boot_mode_put_member [0.044950s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00056_nodes_states_provision_put_admin [0.045636s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00058_nodes_states_provision_put_observer [0.045161s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00015_nodes_node_ident_get_member [0.056616s] ... 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-50e45e86-5199-4c93-b9bd-cd78bd4d6833 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Volume target 1be26c0b-03f2-4d2e-ae87-c02d7f33c781 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path delete /v1/volume/targets/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 DEBUG util.py:445: DELETE: /v1/volume/targets/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 DEBUG util.py:445: GOT:Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-585e79ef-0292-4aa3-9a66-e0190a8c4454 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Volume target 1be26c0b-03f2-4d2e-ae87-c02d7f33c781 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path get /v1/drivers/fake-driverz DEBUG util.py:445: GET: /v1/drivers/fake-driverz {} DEBUG util.py:445: GOT:Response: 500 Internal Server Error DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-406728d6-816e-4727-b2ea-b80f59b33fa6 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"baremetal:driver:get 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-9a39d069-7782-43c9-adc5-c886ae8afa1e DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"baremetal:driver:get 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-f2a1ec56-74bc-4984-bffa-4fb2e1633c61 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"baremetal:driver:get_properties 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-e72aa6d7-f87e-4c30-820a-349ba89b3054 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"baremetal:driver:get_raid_logical_disk_properties 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-1c07ac18-39ec-4d5f-bb23-b0d19bee838e DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"baremetal:driver:get_raid_logical_disk_properties 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-3ceec91e-cb55-4dcf-96d4-777469e461b8 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"baremetal:driver:get_raid_logical_disk_properties 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-6213a422-6a81-47f9-b31c-6535c7bf30ce DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"baremetal:driver:vendor_passthru 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-018da6a0-865b-4715-93ce-780a21a34ca8 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"baremetal:driver:vendor_passthru 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-c665d168-ea47-4dd7-a969-f80b42ec74c3 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"baremetal:driver:vendor_passthru 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-c7507b41-a952-4df1-847e-0f04e21b3b22 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path get /v1/allocations/802d853e-b3ec-4fda-9a4d-d4b922efd1c1 DEBUG util.py:445: GET: /v1/allocations/802d853e-b3ec-4fda-9a4d-d4b922efd1c1 {} DEBUG util.py:445: GOT:Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-398388b2-aa97-465b-b864-e7c9bd3f5da2 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Allocation 802d853e-b3ec-4fda-9a4d-d4b922efd1c1 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path get /v1/allocations/5b66dcc0-f2ee-41d7-b753-95664ca5a008 DEBUG util.py:445: GET: /v1/allocations/5b66dcc0-f2ee-41d7-b753-95664ca5a008 {} DEBUG util.py:445: GOT:Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-dba4f7a7-bcce-4bb9-b7f5-daa74945294d DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Allocation 5b66dcc0-f2ee-41d7-b753-95664ca5a008 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path get /v1/allocations/decf1463-23bc-4e6b-aed6-43da1f9ac5d7 DEBUG util.py:445: GET: /v1/allocations/decf1463-23bc-4e6b-aed6-43da1f9ac5d7 {} DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00254_allocations_allocation_id_get_observer [0.052152s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00260_allocations_allocation_id_delete_observer [0.063446s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00016_nodes_node_ident_get_observer [0.045529s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00262_nodes_allocation_get_member [0.067476s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00209_drivers_get_member [0.060174s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00059_nodes_states_raid_put_admin [0.045933s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00017_nodes_node_ident_patch_admin [0.045563s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00212_drivers_driver_name_get_member [0.043508s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00060_nodes_states_raid_put_member [0.045189s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00266_nodes_allocation_delete_observer [0.051605s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00019_nodes_node_ident_patch_observer [0.045519s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00220_drivers_vendor_passthru_methods_get_admin [0.043308s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00061_nodes_states_raid_put_observer [0.045927s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00268_deploy_templates_post_member [0.047623s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00224_drivers_vendor_passthru_get_member [0.042869s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00065_nodes_states_console_put_member [0.046168s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00270_deploy_templates_get_admin [0.046736s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00227_drivers_vendor_passthru_post_member [0.043695s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00075_nodes_vendor_passthru_post_observer [0.044818s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00277_deploy_templates_deploy_template_id_patch_member [0.046717s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00076_nodes_vendor_passthru_put_admin [0.045629s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00028_nodes_maintenance_put_observer [0.177669s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00278_deploy_templates_deploy_template_id_patch_observer [0.065252s] ... 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-19a68bb2-667b-46b3-a5d0-d798e53d46a5 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:volume:list\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path get /v1/volume/targets DEBUG util.py:445: GET: /v1/volume/targets {} DEBUG util.py:445: GOT:Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-17c1e4b9-d506-400e-932a-f0b5c23d8e89 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:volume:list\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path post /v1/volume/targets DEBUG util.py:445: POST: /v1/volume/targets {'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'volume_type': 'iscsi', 'boot_index': 4, 'volume_id': 'test-id'} DEBUG util.py:445: GOT:Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-a295c29c-77d4-4d76-9419-4c531140688a DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:volume:create\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path get /v1/volume/targets/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 DEBUG util.py:445: GET: /v1/volume/targets/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 {} DEBUG util.py:445: GOT:Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-b8589de8-42e6-4462-a72e-d19324257be4 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Volume target 1be26c0b-03f2-4d2e-ae87-c02d7f33c781 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path get /v1/volume/targets/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 DEBUG util.py:445: GET: /v1/volume/targets/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 {} DEBUG util.py:445: GOT:Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-2f61b520-1b81-44b0-990c-2aac07f4c557 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Volume target 1be26c0b-03f2-4d2e-ae87-c02d7f33c781 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path delete /v1/volume/targets/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 DEBUG util.py:445: DELETE: /v1/volume/targets/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 DEBUG util.py:445: GOT:Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-b896fca4-b1c5-4a2e-9ce5-56495bb42e58 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Volume target 1be26c0b-03f2-4d2e-ae87-c02d7f33c781 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path delete /v1/volume/targets/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 DEBUG util.py:445: DELETE: /v1/volume/targets/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 DEBUG util.py:445: GOT:Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-cd66c556-2e8d-478b-a523-5691b53652c0 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Volume target 1be26c0b-03f2-4d2e-ae87-c02d7f33c781 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path get /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume/connectors DEBUG util.py:445: GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume/connectors {} DEBUG util.py:445: GOT:Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-b2112f04-b969-40bf-9d82-2271f65e944a DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-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-f673e373-b6c3-4bb7-9a65-388cfce02dfb DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"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-c9c4e974-58c4-4998-bfd2-d7cc0fd03ded DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"baremetal:driver:get 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-d5599b1d-2b81-4e3f-a573-2dcc0af07ffb DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"baremetal:driver:get 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-ecf00717-308f-451c-92ff-be5fdbd12363 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"baremetal:driver:get 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-d9f59840-adee-42d0-9820-89eaa888a652 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"baremetal:driver:vendor_passthru 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-da4598e3-0c29-442b-843e-e0f5053b8f4e DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"baremetal:driver:vendor_passthru 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-a4d77b70-0251-4d1e-822b-0db34ded862c DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"baremetal:driver:vendor_passthru requires a scope of ['system'], request was made with project scope.\", \"debuginfo\": null}"} DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00231_drivers_vendor_passthru_put_observer [0.043376s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00233_drivers_vendor_passthru_delete_observer ... SKIPPED: not updated for scope testing DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00079_nodes_vendor_passthru_delete_admin [0.044589s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00034_nodes_management_boot_device_put_observer [0.045252s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00235_nodes_bios_get_member [0.046095s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00080_nodes_vendor_passthru_delete_member [0.045161s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00283_chassis_post_member [0.064769s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00035_nodes_management_boot_device_get_admin [0.045693s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00240_conductors_get_admin [0.043023s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00082_nodes_traits_get_admin [0.046178s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00285_chassis_get_admin [0.045717s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00037_nodes_management_boot_device_get_observer [0.046635s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00243_conductors_hostname_get_admin [0.043590s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00083_nodes_traits_get_member [0.045502s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00286_chassis_get_member [0.048939s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00248_allocations_post_observer [0.044405s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00086_nodes_traits_put_member [0.046646s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00250_allocations_get_member [0.044275s] ... ok DEBUG util.py:445: API ACL Testing Path get /v1/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66 DEBUG util.py:445: GET: /v1/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66 {} DEBUG util.py:445: GOT:Response: 500 Internal Server Error DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-193d7dc8-7e6e-4293-838a-6630f9e29c91 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"baremetal:chassis:get 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-1b501ce4-5a8a-40ee-a7b2-47d599293f0d DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"baremetal:chassis:update 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-110128ab-e08c-4232-98fa-c286fc4337ce DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"baremetal:chassis:update 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-abcc3b87-2b04-442a-9ec9-06403da3326e DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path get /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/history DEBUG util.py:445: GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/history {} DEBUG util.py:445: GOT:Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-f43be253-6053-463b-8b98-7a8eb2c6d0d9 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-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-72968131-6f11-46a3-9f88-458962506779 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-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-ed988cef-c25e-4bce-b459-b0ec2d7f9dae DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-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-c727fc0d-1ec9-48c2-b67a-f7844fb64d0c DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_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-dcc25db5-a1bf-4ff5-b256-cb6f2db33a68 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_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-afc41629-7d53-4564-86bc-3e452e3f86c6 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_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-7386c7a0-e731-4f70-adab-c571508f9986 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_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-fb6e1de4-8e44-4aa2-82ec-9c00213a154a DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-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-9287a2aa-8b4b-49b0-a560-46d1a4ab3c00 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-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-ed6d4b36-63b1-4d10-9346-2621a2db33b3 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-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: {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00038_nodes_management_boot_device_supported_get_admin [0.060516s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00039_nodes_management_boot_device_supported_get_member [0.052517s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00288_chassis_detail_get_admin [0.046413s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00040_nodes_management_boot_device_supported_get_observer [0.045293s] ... 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-c77e459c-391d-4029-a512-2e026b294251 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_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-02628114-fb62-4076-854e-132603116eae DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_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-674d36cd-d841-4aeb-a43f-44319c82a6a7 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_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-fde8fbdb-3a88-49de-98f2-f97361326cbf DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_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-a610f612-5ec9-473a-80e1-bf4f7475a96d DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_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-7290bddc-1e37-45e0-82a5-9499cab12ce3 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_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-160d6194-73eb-436d-8f81-580f99ded0e3 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_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-dd8feaa6-faa3-44d7-ac27-813184725f2e DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_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-cb994170-e9cc-4e5e-8194-83b9c8f7b4e4 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_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-52883f47-518f-40d6-bd77-ecbf10fef7b2 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_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-9d004c52-faed-4c10-a816-ceb807bd4d60 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-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-8d644af3-8bd2-4744-aacb-d4d1346ecd8a DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-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-12dc6948-9937-4472-ad48-ff1f1cead0c7 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_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-46fca13f-2600-4591-a91d-94d3b3ff2bbd DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG 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.TestRBACScoped.test_scoped_canary_00089_nodes_traits_delete_member [0.045474s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00093_nodes_traits_trait_put_observer [0.046781s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00257_allocations_allocation_id_patch_observer [0.074890s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00043_nodes_management_inject_nmi_put_observer [0.045161s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00099_nodes_vifs_get_observer [0.045570s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00264_nodes_allocation_delete_admin [0.046096s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00044_nodes_states_get_admin [0.044540s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00100_nodes_vifs_post_admin [0.046541s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00265_nodes_allocation_delete_member [0.045402s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00048_nodes_states_power_put_member [0.045735s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00297_chassis_chassis_id_delete_admin [0.206718s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00108_nodes_management_indicators_get_observer [0.046266s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00267_deploy_templates_post_admin [0.045406s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00052_nodes_states_boot_mode_put_observer [0.046409s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00110_nodes_management_indicators_component_ind_ident_get_allow ... SKIPPED: API appears to be broken and should be patched outside of this work. DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00301_node_history_get_member [0.050095s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00275_deploy_templates_deploy_template_id_get_observer [0.044438s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00055_nodes_states_secure_boot_put_observer [0.045301s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00113_portgroups_get_member [0.056417s] ... 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-542d9346-b0ff-4311-9cda-863347e611f3 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Allocation decf1463-23bc-4e6b-aed6-43da1f9ac5d7 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path delete /v1/allocations/20b47d18-ac3a-416a-9feb-8722236c776f DEBUG util.py:445: DELETE: /v1/allocations/20b47d18-ac3a-416a-9feb-8722236c776f DEBUG util.py:445: GOT:Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-304e6cc9-ea6d-46d0-9c48-3114358aa2be DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Allocation 20b47d18-ac3a-416a-9feb-8722236c776f 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-c9d50dfd-e6f8-4a29-ba49-9420ff1b96fd DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Resource could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path delete /v1/nodes/22e26c0b-03f2-4d2e-ae87-c02d7f33c000/allocation DEBUG util.py:445: DELETE: /v1/nodes/22e26c0b-03f2-4d2e-ae87-c02d7f33c000/allocation DEBUG util.py:445: GOT:Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-ec1260eb-4c07-43cd-9587-1bd1743bae21 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 22e26c0b-03f2-4d2e-ae87-c02d7f33c000 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path post /v1/deploy_templates DEBUG util.py:445: POST: /v1/deploy_templates {'name': 'CUSTOM_TEST_TEMPLATE', 'steps': [{'interface': 'deploy', 'step': 'noop', 'args': {}, 'priority': 0}]} DEBUG util.py:445: GOT:Response: 500 Internal Server Error DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-704a067a-574b-4f2f-9b90-eebac7044c4e DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"baremetal:deploy_template:create 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-5f096bec-e08c-4547-9b0e-49c64b2ba4af DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"baremetal:deploy_template:get 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/cdf6dab8-1ab5-4a17-b5ab-f69070a42f12 DEBUG util.py:445: PATCH: /v1/deploy_templates/cdf6dab8-1ab5-4a17-b5ab-f69070a42f12 [{'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-9a2224b5-b533-4401-b806-ab99d8b1f7b7 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"baremetal:deploy_template:update 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/3ec83845-a39f-4866-8e26-89abe6c67b22 DEBUG util.py:445: PATCH: /v1/deploy_templates/3ec83845-a39f-4866-8e26-89abe6c67b22 [{'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-a84a99ea-b0cf-4161-8e24-38690e76bb5d DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"baremetal:deploy_template:update 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-82626e4e-04e5-41e6-b6df-3418e2ef5c29 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"baremetal:chassis:create 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-b557204e-3c9f-4c92-8dbc-9b8e8497d745 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"baremetal:chassis:get 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-7bdc7d67-0009-4b38-9117-14d747726219 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"baremetal:chassis:get 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-037957fc-bf54-41d1-940a-4251426d66e4 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"baremetal:chassis:get 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-aa6e995c-2fb2-457b-a41e-d9174b74f4e8 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"baremetal:chassis:delete 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-22cc8479-4399-4327-b9bc-5d44eae7e181 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-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/39b8b291-ef03-49f3-ad50-0024fcdb90d6 DEBUG util.py:445: GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/history/39b8b291-ef03-49f3-ad50-0024fcdb90d6 {} DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00305_node_history_get_entry_observer [0.050763s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00057_nodes_states_provision_put_member [0.047545s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00276_deploy_templates_deploy_template_id_patch_admin [0.064721s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00001_values ... SKIPPED: These are fake reference values for YAML templating DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00117_portgroups_post_observer [0.073011s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00069_nodes_vendor_passthru_methods_get_observer [0.056731s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00006_nodes_get_node_member [0.048714s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00281_deploy_templates_deploy_template_id_delete_observer [0.104842s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00120_portgroups_detail_get_observer [0.043862s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00007_nodes_get_node_observer [0.046079s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00070_nodes_vendor_passthru_get_admin [0.064276s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00121_portgroups_portgroup_ident_get_admin [0.045524s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00282_chassis_post_admin [0.054674s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00090_nodes_traits_delete_observer [0.047910s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00008_nodes_get_node_other_admin [0.044801s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00129_portgroups_portgroup_ident_delete_observer [0.046493s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00009_nodes_get_admin [0.043113s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00140_ports_post_member [0.045618s] ... ok DEBUG util.py:445: API ACL Testing Path put /v1/drivers/fake-driverz/vendor_passthru?method=test DEBUG util.py:445: PUT: /v1/drivers/fake-driverz/vendor_passthru?method=test None DEBUG util.py:445: GOT:Response: 500 Internal Server Error DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-997d5ca8-a043-4a56-b489-4b6c30dbfcb9 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"baremetal:driver:vendor_passthru 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-0879a87d-6b13-4859-82c3-6dc1165b0253 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"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-6d745549-4fc1-42ca-93a0-df02fb3b866e DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"baremetal:conductor:get 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-65a32bb2-5833-463e-a9f0-dbeab732b86f DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"baremetal:conductor:get 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-3ab0b0e1-bd58-4f22-9047-f61b7b93f634 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:allocation:create\", \"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-e9713234-215c-4ff7-9bbc-be22d07d892f DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:allocation:list\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path patch /v1/allocations/0c8b4cf6-514d-4da1-ba6d-44dbc25f851b DEBUG util.py:445: PATCH: /v1/allocations/0c8b4cf6-514d-4da1-ba6d-44dbc25f851b [{'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-39f5cddd-27f2-4997-8d34-f50dd778bf08 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Allocation 0c8b4cf6-514d-4da1-ba6d-44dbc25f851b 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-dd185dd8-067e-42d8-878e-4d8aeb7154cf DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 22e26c0b-03f2-4d2e-ae87-c02d7f33c000 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path 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-b64044c2-9dad-4bc7-819b-57585ab289de DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 22e26c0b-03f2-4d2e-ae87-c02d7f33c000 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path post /v1/deploy_templates DEBUG util.py:445: POST: /v1/deploy_templates {'name': 'CUSTOM_TEST_TEMPLATE', 'steps': [{'interface': 'deploy', 'step': 'noop', 'args': {}, 'priority': 0}]} DEBUG util.py:445: GOT:Response: 500 Internal Server Error DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-797e1060-6f53-423b-9585-74ea181a2156 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"baremetal:deploy_template:create 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/8f28dd17-0ca8-4e9e-b7ce-c0ebade66595 DEBUG util.py:445: GET: /v1/deploy_templates/8f28dd17-0ca8-4e9e-b7ce-c0ebade66595 {} DEBUG util.py:445: GOT:Response: 500 Internal Server Error DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-153efb2d-645c-4abd-b89d-7cc7f94aba1d DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"baremetal:deploy_template:get 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/89dd80f3-52dd-4db9-9806-db39f57e33f7 DEBUG util.py:445: PATCH: /v1/deploy_templates/89dd80f3-52dd-4db9-9806-db39f57e33f7 [{'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-65250b41-0d8e-4040-815a-c7601a89560b DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"baremetal:deploy_template:update 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/85f8deee-d8a8-443a-adc9-d40ef49d21f4 DEBUG util.py:445: DELETE: /v1/deploy_templates/85f8deee-d8a8-443a-adc9-d40ef49d21f4 DEBUG util.py:445: GOT:Response: 500 Internal Server Error DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-0d257eb3-201d-4ba4-8d37-ee096c4013e8 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"baremetal:deploy_template:delete 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-319eb21f-f098-4f9f-a0c0-87ab8d0b5d51 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"baremetal:chassis:create 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: {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00290_chassis_detail_get_observer [0.050031s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00292_chassis_chassis_id_get_member [0.044163s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00094_nodes_traits_trait_delete_admin [0.045985s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00098_nodes_vifs_get_member [0.046304s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00146_ports_port_id_get_member [0.046647s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00010_nodes_get_other_admin [0.080605s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00293_chassis_chassis_id_get_observer [0.045725s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_rbac_legacy_00298_chassis_chassis_id_delete_member [0.043558s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00012_nodes_detail_get_member [0.043642s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00152_ports_port_id_delete_member [0.066253s] ... ok 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-2cdcc3ca-a72a-48e4-b80e-6691ce47709a DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-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-021b567d-6751-4389-b773-6230f180ce4b DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-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-e1a98c6b-c7dc-457f-9454-109f393f5d69 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_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-75ae78e1-9a60-4bb8-8e6d-1ffedfc7e7bf DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-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-fa8edec7-ffa4-4cae-9794-a1f196c53e7a DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_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-5f941c65-514b-4daf-881b-a5685b69e883 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_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-1b8a1c82-70ac-49c2-aaac-f207c1879747 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_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-18963b60-3def-4972-b03a-c1873511ce37 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_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-154b1046-ccb3-44fa-976b-e74265c47120 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-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-ddc0079c-c972-49ff-a5cf-5b3153c0709d DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-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-445c7b34-6245-455a-9aa1-ed89a531afdc DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_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-4b777468-df92-4807-8e7b-1bb88d9d9d35 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_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-60190be0-739f-4a47-b31f-82bc726767fe DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-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-b9e9623d-0618-4d09-8793-d81f932370b9 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_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: {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00104_nodes_vifs_node_vif_ident_delete_member [0.044383s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00105_nodes_vifs_node_vif_ident_delete_observer [0.046567s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00014_nodes_node_ident_get_admin [0.053394s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00002_nodes_post_admin [0.060141s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00153_ports_port_id_delete_observer [0.051553s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00106_nodes_management_indicators_get_admin [0.045193s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00018_nodes_node_ident_patch_member [0.046933s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00154_nodes_ports_get_admin [0.046952s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00107_nodes_management_indicators_get_member [0.046309s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00003_nodes_post_member [0.059199s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00024_nodes_validate_get_member [0.047494s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00112_portgroups_get_admin [0.043744s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00026_nodes_maintenance_put_admin [0.046893s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00020_nodes_node_ident_delete_admin [0.072725s] ... ok DEBUG util.py:445: API ACL Testing Path delete /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/traits/trait DEBUG util.py:445: DELETE: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/traits/trait DEBUG util.py:445: GOT:Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-5f8107b2-2b26-4d5b-af10-86f3e0046868 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_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-8520d504-cec9-4a56-ab53-374ce7547a6d DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-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-77082981-b9ea-4352-9825-dfa2ca3fd2b1 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_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-0b530bd7-cbea-468b-b69d-3c6a73a20117 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-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-da207a93-d183-478f-b66c-b6ba1c4d0390 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"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-82d31244-1676-4dfa-ba13-10366045439e DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:portgroup:list\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path post /v1/portgroups DEBUG util.py:445: POST: /v1/portgroups {'node_uuid': '18a552fb-dcd2-43bf-9302-e4c93287be11'} DEBUG util.py:445: GOT:Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-62a81b9d-90ea-4352-9bb9-5eaf85b5dc75 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:portgroup:create\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path get /v1/portgroups/detail DEBUG util.py:445: GET: /v1/portgroups/detail {} DEBUG util.py:445: GOT:Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-168363a6-edc8-4c78-90f6-30e96bc1cc18 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:portgroup:list\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path get /v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4 DEBUG util.py:445: GET: /v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4 {} DEBUG util.py:445: GOT:Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-508698b5-397f-4e63-bc51-a0a0f7c475b3 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Portgroup 6eb02b44-18a3-4659-8c0b-8d2802581ae4 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path delete /v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4 DEBUG util.py:445: DELETE: /v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4 DEBUG util.py:445: GOT:Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-5cab6e69-879b-4395-967e-54e01b6b7195 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Portgroup 6eb02b44-18a3-4659-8c0b-8d2802581ae4 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path 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-22358390-f721-4b9c-8f00-b110250c26fe DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:port:create\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path get /v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 DEBUG util.py:445: GET: /v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 {} DEBUG util.py:445: GOT:Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-82c39009-94d1-4afe-a540-8f2406046650 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Port 1be26c0b-03f2-4d2e-ae87-c02d7f33c781 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path delete /v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 DEBUG util.py:445: DELETE: /v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 DEBUG util.py:445: GOT:Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-bb1b4432-f1ba-4503-9f28-370b30a8a3cb DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Port 1be26c0b-03f2-4d2e-ae87-c02d7f33c781 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path delete /v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 DEBUG util.py:445: DELETE: /v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 DEBUG util.py:445: GOT:Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-cdce5030-0f32-46d4-a17a-786872f84c77 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Port 1be26c0b-03f2-4d2e-ae87-c02d7f33c781 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path get /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports DEBUG util.py:445: GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports {} DEBUG util.py:445: GOT:Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-a1825ec9-540a-487a-a30b-275fa91156b3 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-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: {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00157_nodes_ports_detail_get_admin [0.045455s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00158_nodes_ports_detail_get_member [0.047117s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00114_portgroups_get_observer [0.043198s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00021_nodes_node_ident_delete_member [0.048072s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00029_nodes_maintenance_delete_admin [0.054719s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00162_portgroups_ports_get_observer [0.048114s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00115_portgroups_post_admin [0.046580s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00023_nodes_validate_get_admin [0.047046s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00118_portgroups_detail_get_admin [0.042042s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00030_nodes_maintenance_delete_member [0.048037s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00172_volume_connectors_post_admin [0.046520s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00123_portgroups_portgroup_ident_get_observer [0.045988s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00031_nodes_maintenance_delete_observer [0.045887s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00177_volume_volume_connector_id_get_observer [0.048059s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00027_nodes_maintenance_put_member [0.047216s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00032_nodes_management_boot_device_put_admin [0.047693s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00124_portgroups_portgroup_ident_patch_admin [0.045739s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00033_nodes_management_boot_device_put_member [0.047836s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00181_volume_volume_connector_id_delete_admin [0.046038s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00126_portgroups_portgroup_ident_patch_observer [0.046770s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00041_nodes_management_inject_nmi_put_admin [0.047441s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00187_volume_targets_post_admin [0.047902s] ... 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-f2d428b8-b9ee-45b4-960c-bbebfa24c566 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-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-0eb71944-c20a-4524-86cb-1354c4c6cfd0 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-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-a2db1133-a59e-42ac-b355-30dabc06c7e0 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-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-6c296c36-ece5-4094-9d95-4670c332aea1 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"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-7707ca7e-f853-442d-91db-0d7c9cbc1997 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:list\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path get /v1/nodes 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-6a02e29c-648e-4d23-bf00-8486cb1110f4 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"nodes": []} DEBUG util.py:445: ACL Test GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-6a02e29c-648e-4d23-bf00-8486cb1110f4 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"nodes": []} DEBUG util.py:445: API ACL Testing Path get /v1/nodes/detail DEBUG util.py:445: GET: /v1/nodes/detail {} DEBUG util.py:445: GOT:Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-24df0aa0-fac4-4d84-91ed-02bb2ca55e02 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:list\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path get /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 DEBUG util.py:445: GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 {} DEBUG util.py:445: GOT:Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-5b0980bb-c0e5-4872-8216-bcf7015e2823 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_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-9bd8c97d-abfa-4710-a90b-6d6b5d496973 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-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-8ed96810-f1ef-471d-ad96-e5c5661f9fb9 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_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-e322af4e-4e97-487d-8637-f2c891714ed4 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_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-2a95329a-442b-4f5f-8e96-893ef3928f2e DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_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-88a3c7f5-ab9b-41c6-bdb5-270590794ffd DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_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-2cb7b56e-b5c6-46a5-9e60-009d4b7129a6 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_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-2665d8ca-074e-49ee-87cb-64a33ddddaeb DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_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: {0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00047_nodes_states_power_put_admin [0.046100s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00128_portgroups_portgroup_ident_delete_member [0.045989s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00050_nodes_states_boot_mode_put_admin [0.047334s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00049_nodes_states_power_put_observer [0.056061s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00188_volume_targets_post_member [0.072850s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00130_nodes_portgroups_get_admin [0.046036s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00053_nodes_states_secure_boot_put_admin [0.049828s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00054_nodes_states_secure_boot_put_member [0.048517s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00190_volume_volume_target_id_get_admin [0.047510s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00135_nodes_portgroups_detail_get_observer [0.046541s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00194_volume_volume_target_id_patch_member [0.048723s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00063_nodes_states_console_get_member [0.069344s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00141_ports_post_observer [0.045455s] ... 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-a9d0cac7-2600-4723-9e0b-064cc4dc6589 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"baremetal:chassis:get 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-05087bf8-cf28-44c7-b414-049acfdc7fc4 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"baremetal:chassis:get 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-97c83f7a-fc2a-48da-9d3c-b93d515d332a DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"baremetal:chassis:get 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-03380e53-0223-4c8d-8964-bdb046f3e500 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"baremetal:chassis:delete requires a scope of ['system'], request was made with project scope.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path post /v1/nodes DEBUG util.py:445: POST: /v1/nodes {'name': 'node', 'driver': 'fake-driverz'} DEBUG util.py:445: GOT:Response: 500 Internal Server Error DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-2fc9774e-1f57-48e6-8fb6-0e97df2081bc DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"baremetal:node:create requires a scope of ['system'], request was made with project scope.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path post /v1/nodes DEBUG util.py:445: POST: /v1/nodes {'name': 'node', 'driver': 'fake-driverz'} DEBUG util.py:445: GOT:Response: 500 Internal Server Error DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-87fb1343-0ed9-45f5-a53e-d17b0a682ed5 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"baremetal:node:create requires a scope of ['system'], request was made with project scope.\", \"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-a2302d0e-43a9-40e7-99c5-f6f6d255afb7 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_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-c56b64ad-a853-4051-8e41-457fe9e5d873 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-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-4bfc24a7-e2ad-4c02-892f-f066f40fa670 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_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-d8273fde-add2-4a92-aad0-b3bba8c6505d DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_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-84630289-a1d8-49a7-87fd-dc0399bae12c DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_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-9ce9e3ea-46a6-4dc1-a327-801d5255ef5b DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_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-6cc370fc-141c-4762-bb55-24689cb91c62 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_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-cbe4428c-fd11-4b56-960e-766631fa50c9 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-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: {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00062_nodes_states_console_get_admin [0.048446s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00064_nodes_states_console_put_admin [0.048779s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00195_volume_volume_target_id_patch_observer [0.046990s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00066_nodes_states_console_put_observer [0.065009s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00211_drivers_driver_name_get_admin [0.056187s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00067_nodes_vendor_passthru_methods_get_admin [0.047739s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00068_nodes_vendor_passthru_methods_get_member [0.045712s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00071_nodes_vendor_passthru_get_member [0.047353s] ... 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-3ba36553-1553-43a2-a3f4-3cfdfbcf13e2 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_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-68437029-2bda-4084-ae95-c652390db81e DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-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-e97716db-c5f6-4d8e-9587-c33fa951fd72 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-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-92e168cf-279f-42e2-9a72-b0347b5e55ab DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"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-75e4ae00-dfb5-4bdc-8e8b-d4c90127e57c DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:portgroup:list\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path get /v1/portgroups DEBUG util.py:445: GET: /v1/portgroups {} DEBUG util.py:445: GOT:Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-a323d21e-589e-4eb3-a8a4-fcbca91ad714 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:portgroup:list\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path post /v1/portgroups DEBUG util.py:445: POST: /v1/portgroups {'node_uuid': '18a552fb-dcd2-43bf-9302-e4c93287be11'} DEBUG util.py:445: GOT:Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-7517ca5b-1e65-423b-b45c-91a418c79e1d DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:portgroup:create\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path get /v1/portgroups/detail DEBUG util.py:445: GET: /v1/portgroups/detail {} DEBUG util.py:445: GOT:Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-f5f72d8d-6281-484c-9daf-a15dbc4dde5d DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:portgroup:list\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path get /v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4 DEBUG util.py:445: GET: /v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4 {} DEBUG util.py:445: GOT:Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-7954c18a-7c09-4709-96b9-f0dcbca2e82a DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Portgroup 6eb02b44-18a3-4659-8c0b-8d2802581ae4 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path patch /v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4 DEBUG util.py:445: PATCH: /v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4 [{'op': 'replace', 'path': '/extra', 'value': {'test': 'testing'}}] DEBUG util.py:445: GOT:Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-5a44d36f-ffbf-44ad-986c-b0a62a740a88 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Portgroup 6eb02b44-18a3-4659-8c0b-8d2802581ae4 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path patch /v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4 DEBUG util.py:445: PATCH: /v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4 [{'op': 'replace', 'path': '/extra', 'value': {'test': 'testing'}}] DEBUG util.py:445: GOT:Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-f74ae609-b65c-4955-8948-d3d516690963 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Portgroup 6eb02b44-18a3-4659-8c0b-8d2802581ae4 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path delete /v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4 DEBUG util.py:445: DELETE: /v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4 DEBUG util.py:445: GOT:Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-1b55980c-0488-4475-b759-173d9077e0a7 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Portgroup 6eb02b44-18a3-4659-8c0b-8d2802581ae4 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path get /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups DEBUG util.py:445: GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups {} DEBUG util.py:445: GOT:Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-25b71baa-032a-40cd-aa8d-78e8c31609dd DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-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-f672f377-a2ec-4f29-9923-40d11ccb9176 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_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-d7776b16-7bba-4264-b2e5-782e49a33471 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:port:create\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path get /v1/ports/detail DEBUG util.py:445: GET: /v1/ports/detail {} DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00143_ports_detail_get_member [0.044657s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00150_ports_port_id_patch_observer [0.046364s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00155_nodes_ports_get_member [0.047608s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00216_drivers_properties_get_observer [0.043143s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00072_nodes_vendor_passthru_get_observer [0.048240s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00073_nodes_vendor_passthru_post_admin [0.069969s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00168_volume_get_observer [0.042168s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00220_drivers_vendor_passthru_methods_get_admin [0.043910s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00078_nodes_vendor_passthru_put_observer [0.046932s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00174_volume_connectors_post_observer [0.046550s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00074_nodes_vendor_passthru_post_member [0.047152s] ... ok 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-333c4b20-0c23-47e0-843c-a0c71d191c2d DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-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-88a755f2-0660-47ac-8d7a-643e41ed7c39 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"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-7637d264-42aa-4f0f-8750-860554d9209e DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Portgroup 6eb02b44-18a3-4659-8c0b-8d2802581ae4 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path 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-910dccbf-ab5e-4332-81de-b18ef5b634d6 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:volume:create\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path get /v1/volume/connectors/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 DEBUG util.py:445: GET: /v1/volume/connectors/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 {} DEBUG util.py:445: GOT:Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-575f6594-f37d-487e-83bc-382e3029ac64 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Volume connector 1be26c0b-03f2-4d2e-ae87-c02d7f33c781 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path delete /v1/volume/connectors/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 DEBUG util.py:445: DELETE: /v1/volume/connectors/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 DEBUG util.py:445: GOT:Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-806bbda0-7cd8-41bf-bed1-a0d207b73827 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Volume connector 1be26c0b-03f2-4d2e-ae87-c02d7f33c781 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path post /v1/volume/targets DEBUG util.py:445: POST: /v1/volume/targets {'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'volume_type': 'iscsi', 'boot_index': 4, 'volume_id': 'test-id'} DEBUG util.py:445: GOT:Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-85a3a5e7-5b15-4bda-874f-14921d7e2af6 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:volume:create\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path post /v1/volume/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-6975b716-7c71-43b3-9a72-53d408712362 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:volume:create\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path get /v1/volume/targets/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 DEBUG util.py:445: GET: /v1/volume/targets/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 {} DEBUG util.py:445: GOT:Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-a9caafd4-ac38-4020-8bb8-ee9035a1fff3 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Volume target 1be26c0b-03f2-4d2e-ae87-c02d7f33c781 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path patch /v1/volume/targets/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 DEBUG util.py:445: PATCH: /v1/volume/targets/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 [{'op': 'replace', 'path': '/extra', 'value': {'test': 'testing'}}] DEBUG util.py:445: GOT:Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-1a4b428c-6e6c-4edc-b72f-b7b7aa7c2b54 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Volume target 1be26c0b-03f2-4d2e-ae87-c02d7f33c781 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path patch /v1/volume/targets/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 DEBUG util.py:445: PATCH: /v1/volume/targets/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 [{'op': 'replace', 'path': '/extra', 'value': {'test': 'testing'}}] DEBUG util.py:445: GOT:Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-bf09f0dd-f34a-4594-87fc-f2019e163e42 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Volume target 1be26c0b-03f2-4d2e-ae87-c02d7f33c781 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path get /v1/drivers/fake-driverz DEBUG util.py:445: GET: /v1/drivers/fake-driverz {} DEBUG util.py:445: GOT:Response: 500 Internal Server Error DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-a0f5388c-aa5d-4c63-81bd-9b8dc4722a03 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"baremetal:driver:get 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-b9d533d0-eb7c-4b7f-b92f-942125de4531 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"baremetal:driver:get_properties 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-80ad4c2f-de45-4469-8c88-51f83142bcb5 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"baremetal:driver:vendor_passthru 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: {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00223_drivers_vendor_passthru_get_admin [0.043264s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00227_drivers_vendor_passthru_post_member [0.043936s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00084_nodes_traits_get_observer [0.048018s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00175_volume_volume_connector_id_get_admin [0.052617s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00085_nodes_traits_put_admin [0.048936s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00077_nodes_vendor_passthru_put_member [0.082719s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00228_drivers_vendor_passthru_post_observer [0.043713s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00178_volume_volume_connector_id_patch_admin [0.048290s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00087_nodes_traits_put_observer [0.047499s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00081_nodes_vendor_passthru_delete_observer [0.049115s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00180_volume_volume_connector_id_patch_observer [0.049958s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00092_nodes_traits_trait_put_member [0.047683s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00088_nodes_traits_delete_admin [0.046558s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00184_volume_targets_get_admin [0.044783s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00102_nodes_vifs_post_observer [0.046139s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00091_nodes_traits_trait_put_admin [0.048786s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00189_volume_targets_post_observer [0.048045s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00232_drivers_vendor_passthru_delete_admin ... SKIPPED: not updated for scope testing DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00103_nodes_vifs_node_vif_ident_delete_admin [0.046865s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00095_nodes_traits_trait_delete_member [0.047483s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00193_volume_volume_target_id_patch_admin [0.048666s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00233_drivers_vendor_passthru_delete_observer ... SKIPPED: not updated for scope testing DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00109_nodes_management_indicators_component_get_allow ... SKIPPED: API appears to be broken and should be patched outside of this work. DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00096_nodes_traits_trait_delete_observer [0.048067s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00203_nodes_volume_connectors_get_member [0.048845s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00238_nodes_bios_bios_setting_get_member [0.046079s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00097_nodes_vifs_get_admin [0.047377s] ... 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-6bef266e-74a8-412e-8893-e9dc15f2e184 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_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-3f304bf3-5646-4bf3-9438-d024b4d82c24 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_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-ff88f93e-4eb7-4cc7-9be6-64f4855af440 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-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-6777f95f-510a-4696-9b3f-ac8197cff77c DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_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-12c44f3c-ae65-45c2-b236-69460d99fe89 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-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-73a4d999-a1ff-474a-9a9e-3f48d2c4785d DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-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-e31e2a0d-773b-4b92-8767-d4587c311f84 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_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-5d6a8e8f-51eb-449a-b6da-bd612a8c9e48 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-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-09a87b19-f18d-4938-804e-f29c44c9df92 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_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-0d8ac92f-2b33-4978-8878-c9c5c08b51de DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_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-abeb03a3-1c04-4b52-a29d-8e39abd2d44f DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_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-95a18111-d363-4242-a53a-99842ba4da22 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_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-2549b386-a759-4133-a108-3dbb96217410 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_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-9b30fff0-4af7-4405-a868-c7cdf6cf9b83 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"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: {0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00122_portgroups_portgroup_ident_get_member [0.049171s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00204_nodes_volume_connectors_get_observer [0.050000s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00125_portgroups_portgroup_ident_patch_member [0.049670s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00101_nodes_vifs_post_member [0.045787s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00240_conductors_get_admin [0.068946s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00208_drivers_get_admin [0.052451s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00127_portgroups_portgroup_ident_delete_admin [0.048273s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00111_nodes_management_indicators_component_ind_ident_put_allow ... SKIPPED: API appears to be broken and should be patched outside of this work. DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00246_allocations_post_admin [0.044768s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00134_nodes_portgroups_detail_get_member [0.048772s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00251_allocations_get_observer [0.043815s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00136_ports_get_admin [0.064737s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00274_deploy_templates_deploy_template_id_get_member [0.043728s] ... 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-1edc204e-9ee6-4e68-b00a-d2655cc49bcc DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_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-44ecd956-a11b-46ae-a91a-a0ef2e013bf6 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-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-1eb416cb-f66e-4d64-a717-221bd129d0bd DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-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-7656c93c-cdfc-4315-ac99-a5014ad6a468 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_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-660de075-7c32-43c7-b2f7-0f97986edf5c DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_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-8f563ff2-cb5b-48c9-a4e6-da863865f0fe DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_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-44382af3-6b80-43e2-b0eb-a4a80d152ec0 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_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-6d49cd88-3aac-49a6-b049-41440f935eb9 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_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-dc232178-0a98-461f-8fd1-a69482294926 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_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-df2428e8-24ce-4a1c-9efa-682ab9e61145 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_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-a2a6dc19-85e0-4d42-8424-b61b587b4ced DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_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-4fb20931-36df-49e0-9880-30909ff06e74 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-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-d58e44d8-cc4d-4df7-a645-b6185ea611b2 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_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-5fff6311-6fc8-4650-b681-f6ad05d2f691 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_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: {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00116_portgroups_post_member [0.045977s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00119_portgroups_detail_get_member [0.044182s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00280_deploy_templates_deploy_template_id_delete_member [0.043360s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00131_nodes_portgroups_get_member [0.046070s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00138_ports_get_observer [0.056386s] ... 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-25dd3f30-b6c6-4469-9f65-e5a81e2a185e DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:port:list\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path patch /v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 DEBUG util.py:445: PATCH: /v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 [{'op': 'replace', 'path': '/extra', 'value': {'test': 'testing'}}] DEBUG util.py:445: GOT:Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-32af801c-71b3-43e8-a402-5a88c5727386 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Port 1be26c0b-03f2-4d2e-ae87-c02d7f33c781 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path get /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports DEBUG util.py:445: GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports {} DEBUG util.py:445: GOT:Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-9a0fe7db-6682-4d33-b51d-ecb1e60641ac DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path get /v1/volume DEBUG util.py:445: GET: /v1/volume {} DEBUG util.py:445: GOT:Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-db85b83d-9f25-468f-8d78-6f4fe6978c5d DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:volume:get\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path post /v1/volume/connectors DEBUG util.py:445: POST: /v1/volume/connectors {'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'type': 'ip', 'connector_id': '192.168.1.100'} DEBUG util.py:445: GOT:Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-bedfad1e-2871-452d-8dea-62be10ab9bb7 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:volume:create\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path get /v1/volume/connectors/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 DEBUG util.py:445: GET: /v1/volume/connectors/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 {} DEBUG util.py:445: GOT:Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-7cf25656-85ea-4399-a2c4-368c60c2a0a1 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Volume connector 1be26c0b-03f2-4d2e-ae87-c02d7f33c781 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path patch /v1/volume/connectors/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 DEBUG util.py:445: PATCH: /v1/volume/connectors/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 [{'op': 'replace', 'path': '/extra', 'value': {'test': 'testing'}}] DEBUG util.py:445: GOT:Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-1f5a7930-227d-4a9e-afbd-82353d032e15 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Volume connector 1be26c0b-03f2-4d2e-ae87-c02d7f33c781 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path patch /v1/volume/connectors/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 DEBUG util.py:445: PATCH: /v1/volume/connectors/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 [{'op': 'replace', 'path': '/extra', 'value': {'test': 'testing'}}] DEBUG util.py:445: GOT:Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-672a5563-1a19-478f-8eed-d87b71caa395 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Volume connector 1be26c0b-03f2-4d2e-ae87-c02d7f33c781 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path get /v1/volume/targets DEBUG util.py:445: GET: /v1/volume/targets {} DEBUG util.py:445: GOT:Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-467c34d3-4381-479c-a85b-1f71e5da59c9 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:volume:list\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path post /v1/volume/targets DEBUG util.py:445: POST: /v1/volume/targets {'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'volume_type': 'iscsi', 'boot_index': 4, 'volume_id': 'test-id'} DEBUG util.py:445: GOT:Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-7c3c9f85-6df0-4fdb-be6c-bc9002f8d398 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:volume:create\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path patch /v1/volume/targets/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 DEBUG util.py:445: PATCH: /v1/volume/targets/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 [{'op': 'replace', 'path': '/extra', 'value': {'test': 'testing'}}] DEBUG util.py:445: GOT:Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-136bc5b0-da2d-4930-96ec-b834fd4f87e2 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Volume target 1be26c0b-03f2-4d2e-ae87-c02d7f33c781 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path get /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume/connectors DEBUG util.py:445: GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume/connectors {} DEBUG util.py:445: GOT:Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-26c38732-181f-4d28-8f30-336d7cc2385d DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-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-f620b6c4-5805-4a5d-8b68-67246e0d16e3 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"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-aae989ea-82ec-4d5f-a863-6e7f25051436 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"baremetal:driver:get 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: {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00213_drivers_driver_name_get_observer [0.046417s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00231_drivers_vendor_passthru_put_observer [0.051192s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00234_nodes_bios_get_admin [0.064681s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00282_chassis_post_admin [0.044958s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00132_nodes_portgroups_get_observer [0.048228s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00242_conductors_get_observer [0.055838s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00139_ports_post_admin [0.050394s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00133_nodes_portgroups_detail_get_admin [0.045175s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00285_chassis_get_admin [0.052050s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00244_conductors_hostname_get_member [0.044408s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00144_ports_detail_get_observer [0.047462s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00137_ports_get_member [0.043441s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00286_chassis_get_member [0.045227s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00252_allocations_allocation_id_get_admin [0.046939s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00149_ports_port_id_patch_member [0.050585s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00287_chassis_get_observer [0.044509s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00142_ports_detail_get_admin [0.043318s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00254_allocations_allocation_id_get_observer [0.046435s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00151_ports_port_id_delete_admin [0.047970s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00145_ports_port_id_get_admin [0.045189s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00288_chassis_detail_get_admin [0.044798s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00257_allocations_allocation_id_patch_observer [0.048173s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00156_nodes_ports_get_observer [0.048797s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00147_ports_port_id_get_observer [0.046825s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00293_chassis_chassis_id_get_observer [0.043624s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00258_allocations_allocation_id_delete_admin [0.045989s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00148_ports_port_id_patch_admin [0.046760s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00260_allocations_allocation_id_delete_observer [0.048028s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00164_portgroups_ports_detail_get_member [0.051373s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00166_volume_get_admin [0.045721s] ... 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-c368dad9-da7c-4f0c-adbc-c5aaae070b9d DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"baremetal:driver:vendor_passthru 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-807f9c7a-00cd-4864-a1fe-bf3688e8afa2 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"baremetal:driver:vendor_passthru 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-d64b373a-527d-4952-ac9f-a7c8e970f694 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"baremetal:driver:vendor_passthru 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-719510d7-2160-45e2-ab11-0a11b95ddd32 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"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-7c0e07f4-978f-4464-bd88-c225d5200528 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"baremetal:conductor:get 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-33701dc0-8ea3-4969-adee-21098d642d73 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:allocation:create\", \"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-3abbadec-b3b6-4d36-be67-0a6574b5dc21 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:allocation:list\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path get /v1/deploy_templates/481ebef6-6ce8-4faf-940b-a0ae4535fe8b DEBUG util.py:445: GET: /v1/deploy_templates/481ebef6-6ce8-4faf-940b-a0ae4535fe8b {} DEBUG util.py:445: GOT:Response: 500 Internal Server Error DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-7992bebd-c2be-4f70-8c1b-60cd98b7fa59 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"baremetal:deploy_template:get 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/e91612f2-956e-4aa5-9f91-513971527edc DEBUG util.py:445: DELETE: /v1/deploy_templates/e91612f2-956e-4aa5-9f91-513971527edc DEBUG util.py:445: GOT:Response: 500 Internal Server Error DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-141cf901-1cf7-4347-ad6c-732bbd86bdd8 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"baremetal:deploy_template:delete 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-bde76dbb-099b-4f38-8414-cb02d941e7a0 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"baremetal:chassis:create 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-acbc14ca-eaf5-483a-b671-c981691e074d DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"baremetal:chassis:get 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-6bbaf830-a638-49db-9855-3c2b5f04c653 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"baremetal:chassis:get 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-e9b52352-ff6a-429c-be31-e64a650a1476 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"baremetal:chassis:get 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-04f30b93-6642-47a0-ac04-92a35df3a71e DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"baremetal:chassis:get 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-f0407440-0043-49de-b954-036fa5a40749 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"baremetal:chassis:get 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: {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00299_chassis_chassis_id_delete_observer [0.047435s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00301_node_history_get_member [0.047092s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00262_nodes_allocation_get_member [0.047301s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00167_volume_get_member [0.043629s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00303_node_history_get_entry_admin [0.054704s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00264_nodes_allocation_delete_admin [0.047107s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00169_volume_connectors_get_admin [0.046909s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00305_node_history_get_entry_observer [0.046967s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00265_nodes_allocation_delete_member [0.047220s] ... 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-ab03675a-e6bc-46cb-88ef-c8fe8653d6e7 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Portgroup 6eb02b44-18a3-4659-8c0b-8d2802581ae4 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path patch /v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4 DEBUG util.py:445: PATCH: /v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4 [{'op': 'replace', 'path': '/extra', 'value': {'test': 'testing'}}] DEBUG util.py:445: GOT:Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-db9ea40d-8eb3-47f4-9a6e-01c8a5726112 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Portgroup 6eb02b44-18a3-4659-8c0b-8d2802581ae4 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path delete /v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4 DEBUG util.py:445: DELETE: /v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4 DEBUG util.py:445: GOT:Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-4729f989-7833-4ca9-90a8-7ff3361706ab DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Portgroup 6eb02b44-18a3-4659-8c0b-8d2802581ae4 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path get /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups/detail DEBUG util.py:445: GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups/detail {} DEBUG util.py:445: GOT:Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-faf269d7-cd0a-4246-af8b-3c5d388706c0 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"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-7a20b4de-30fc-4dda-ae03-a5718375b6d2 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:port:list\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path get /v1/ports DEBUG util.py:445: GET: /v1/ports {} DEBUG util.py:445: GOT:Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-c5464913-aa9d-4355-9e12-c0a91aeb9bbb DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:port:list\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path post /v1/ports DEBUG util.py:445: POST: /v1/ports {'node_uuid': '68a552fb-dcd2-43bf-9302-e4c93287be16', 'address': '00:01:02:03:04:05'} DEBUG util.py:445: GOT:Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-0102e989-788d-4597-9f37-248179983f0b DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:port:create\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path get /v1/ports/detail DEBUG util.py:445: GET: /v1/ports/detail {} DEBUG util.py:445: GOT:Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-54faf9e6-9b63-4e95-a991-242fae1ee7d2 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:port:list\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path patch /v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 DEBUG util.py:445: PATCH: /v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 [{'op': 'replace', 'path': '/extra', 'value': {'test': 'testing'}}] DEBUG util.py:445: GOT:Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-4260f5e0-7574-419c-ac78-169c4d6941df DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Port 1be26c0b-03f2-4d2e-ae87-c02d7f33c781 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path delete /v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 DEBUG util.py:445: DELETE: /v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 DEBUG util.py:445: GOT:Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-ce0ca76e-5a68-41e7-b15e-27c0c0c2abd1 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Port 1be26c0b-03f2-4d2e-ae87-c02d7f33c781 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path get /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports DEBUG util.py:445: GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports {} DEBUG util.py:445: GOT:Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-ab63355b-d295-4540-8f7c-127ca4b129e2 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"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-20281f81-33eb-4b80-909e-24228ab256f2 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Portgroup 6eb02b44-18a3-4659-8c0b-8d2802581ae4 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path get /v1/volume DEBUG util.py:445: GET: /v1/volume {} DEBUG util.py:445: GOT:Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-c14f38e5-eaaa-458d-936a-e6f507745f0e DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:volume:get\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path get /v1/volume DEBUG util.py:445: GET: /v1/volume {} DEBUG util.py:445: GOT:Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-8f6f96fe-bbe4-40fb-8f0b-d6b81d489237 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:volume:get\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path get /v1/volume/connectors DEBUG util.py:445: GET: /v1/volume/connectors {} DEBUG util.py:445: GOT:Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-c1938dee-550d-443b-b112-e205d375a22f DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:volume:list\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path get /v1/volume/connectors DEBUG util.py:445: GET: /v1/volume/connectors {} DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00170_volume_connectors_get_member [0.045241s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00266_nodes_allocation_delete_observer [0.045389s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00159_nodes_ports_detail_get_observer [0.210446s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00173_volume_connectors_post_member [0.048104s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00002_nodes_post_admin [0.104356s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00160_portgroups_ports_get_admin [0.047459s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00179_volume_volume_connector_id_patch_member [0.049481s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00161_portgroups_ports_get_member [0.047896s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00270_deploy_templates_get_admin [0.079705s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00183_volume_volume_connector_id_delete_observer [0.047296s] ... 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-36dee950-2f3f-4e01-856b-a8d03ea5849c DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"baremetal:chassis:delete 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-99edf776-ce3b-4f40-8bbf-0049e0346339 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-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/7d08460a-d7ee-4053-a5d8-a4034619aedc DEBUG util.py:445: GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/history/7d08460a-d7ee-4053-a5d8-a4034619aedc {} DEBUG util.py:445: GOT:Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-af0bf02d-3eef-4342-9849-702ecfbce957 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-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/63cd749c-ceaa-49d6-aed6-0739c4801244 DEBUG util.py:445: GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/history/63cd749c-ceaa-49d6-aed6-0739c4801244 {} DEBUG util.py:445: GOT:Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-071d3431-4675-4912-9fe9-02887cba71ca DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_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-3dfa200c-6cbe-45ae-8059-b313f6164a88 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-3dfa200c-6cbe-45ae-8059-b313f6164a88 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path get /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 DEBUG util.py:445: GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 {} DEBUG util.py:445: GOT:Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-905915c7-4dce-417a-8277-fcac286e5450 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "created_at": "2024-05-14T11:54:33.981179+00:00", "updated_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_00006_nodes_get_node_member [0.061711s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00010_nodes_get_other_admin ... SKIPPED: Not implemented yet DEBUG util.py:445: GOT:Response: 500 Internal Server Error DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-7fdc699d-7f09-4667-ba95-4790cf608324 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"baremetal:driver:get 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-944a2cb9-398a-4b20-87b2-caf77f3e9314 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"baremetal:driver:vendor_passthru 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-6de21a63-c7d0-424c-aa4b-7fe30dfc0cf9 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"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-aba8831b-3802-49a6-8a90-594bd1f04dd4 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"baremetal:conductor:get 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-bee2c5c3-6618-407e-a3a4-52b33a19a877 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"baremetal:conductor:get requires a scope of ['system'], request was made with project scope.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path get /v1/allocations/847311bf-9adf-4fc6-9b34-bcea9a2090e3 DEBUG util.py:445: GET: /v1/allocations/847311bf-9adf-4fc6-9b34-bcea9a2090e3 {} DEBUG util.py:445: GOT:Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-dd79087b-5452-4001-b609-d8b63e40ed23 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Allocation 847311bf-9adf-4fc6-9b34-bcea9a2090e3 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path get /v1/allocations/787f5603-1bfc-461d-b775-be887a152c98 DEBUG util.py:445: GET: /v1/allocations/787f5603-1bfc-461d-b775-be887a152c98 {} DEBUG util.py:445: GOT:Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-0f52ba4c-13b7-491b-b922-3a354c6006a4 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Allocation 787f5603-1bfc-461d-b775-be887a152c98 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path patch /v1/allocations/b05b3a4c-bf63-4430-8370-bf6b968f798c DEBUG util.py:445: PATCH: /v1/allocations/b05b3a4c-bf63-4430-8370-bf6b968f798c [{'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-efa27d72-a165-493f-bab6-5cdd09690bbb DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Allocation b05b3a4c-bf63-4430-8370-bf6b968f798c could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path delete /v1/allocations/3488c2e5-738d-4bca-ad41-0818bca60de2 DEBUG util.py:445: DELETE: /v1/allocations/3488c2e5-738d-4bca-ad41-0818bca60de2 DEBUG util.py:445: GOT:Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-6a4f903e-e72a-420a-8b8a-558032808fae DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Allocation 3488c2e5-738d-4bca-ad41-0818bca60de2 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path delete /v1/allocations/3c37714b-2f0d-43db-851b-5df2972c7b89 DEBUG util.py:445: DELETE: /v1/allocations/3c37714b-2f0d-43db-851b-5df2972c7b89 DEBUG util.py:445: GOT:Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-e027e9e7-4e9f-43c9-9968-d48d0cae71a9 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Allocation 3c37714b-2f0d-43db-851b-5df2972c7b89 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-687f7d7e-d736-489a-810c-998b89e16e3f DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Resource could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path delete /v1/nodes/22e26c0b-03f2-4d2e-ae87-c02d7f33c000/allocation DEBUG util.py:445: DELETE: /v1/nodes/22e26c0b-03f2-4d2e-ae87-c02d7f33c000/allocation DEBUG util.py:445: GOT:Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-45117d87-d695-4435-a0c5-740906518fab DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 22e26c0b-03f2-4d2e-ae87-c02d7f33c000 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path 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-e955415e-8f1c-4d7a-8fa0-a98e3498cd48 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 22e26c0b-03f2-4d2e-ae87-c02d7f33c000 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path 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-1984d9ab-e6be-40f3-99da-7d88c06488ed DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 22e26c0b-03f2-4d2e-ae87-c02d7f33c000 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path get /v1/deploy_templates DEBUG util.py:445: GET: /v1/deploy_templates {} DEBUG util.py:445: GOT:Response: 500 Internal Server Error DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-9603a84f-62bc-4238-96f0-077412b2a42a DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"baremetal:deploy_template:get 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_00273_deploy_templates_deploy_template_id_get_admin [0.054453s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00186_volume_targets_get_observer [0.045733s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00163_portgroups_ports_detail_get_admin [0.068747s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00197_volume_volume_target_id_delete_member [0.049750s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00276_deploy_templates_deploy_template_id_patch_admin [0.071073s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00165_portgroups_ports_detail_get_observer [0.061128s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00199_nodes_volume_get_admin [0.058466s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00277_deploy_templates_deploy_template_id_patch_member [0.054696s] ... 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-905915c7-4dce-417a-8277-fcac286e5450 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "created_at": "2024-05-14T11:54:33.981179+00:00", "updated_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-8de9f67d-13d2-48c1-82ae-c46cf122f983 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"nodes": [{"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "created_at": "2024-05-14T11:54:34.072251+00:00", "updated_at": null, "automated_clean": null, "bios_interface": null, "boot_interface": null, "boot_mode": null, "clean_step": {}, "conductor_group": "", "console_enabled": false, "console_interface": null, "deploy_interface": null, "deploy_step": {}, "description": null, "driver": "fake-driverz", "driver_info": {"foo": "bar", "fake_password": "******"}, "driver_internal_info": {"private_state": "secret value"}, "extra": {}, "fault": null, "inspection_finished_at": null, "inspection_started_at": null, "inspect_interface": null, "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar"}, "instance_uuid": null, "last_error": null, "lessee": null, "maintenance": false, "maintenance_reason": null, "management_interface": null, "name": null, "network_data": {}, "network_interface": null, "owner": "z", "power_interface": null, "power_state": null, "properties": {"cpu_arch": "x86_64", "cpus": "8", "local_gb": "10", "memory_mb": "4096"}, "protected": false, "protected_reason": null, "provision_state": "available", "provision_updated_at": null, "raid_config": {}, "raid_interface": null, "rescue_interface": null, "reservation": null, "resource_class": null, "retired": false, "retired_reason": null, "secure_boot": null, "storage_interface": null, "target_power_state": null, "target_provision_state": null, "target_raid_config": {}, "traits": ["trait1"], "vendor_interface": null, "links": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "bookmark"}], "conductor": null, "allocation_uuid": null, "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume", "rel": "bookmark"}]}, {"uuid": "22e26c0b-03f2-4d2e-ae87-c02d7f33c000", "created_at": "2024-05-14T11:54:34.074484+00:00", "updated_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": [], "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": "c85ff2a1-aa79-4336-b2fe-31f7d0c8b2a0", "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/22e26c0b-03f2-4d2e-ae87-c02d7f33c000/ports", "rel": "self"}, {"href": "http://localhost/nodes/22e26c0b-03f2-4d2e-ae87-c02d7f33c000/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/22e26c0b-03f2-4d2e-ae87-c02d7f33c000/states", "rel": "self"}, {"href": "http://localhost/nodes/22e26c0b-03f2-4d2e-ae87-c02d7f33c000/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/22e26c0b-03f2-4d2e-ae87-c02d7f33c000/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/22e26c0b-03f2-4d2e-ae87-c02d7f33c000/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/22e26c0b-03f2-4d2e-ae87-c02d7f33c000/volume", "rel": "self"}, {"href": "http://localhost/nodes/22e26c0b-03f2-4d2e-ae87-c02d7f33c000/volume", "rel": "bookmark"}]}, {"uuid": "18a552fb-dcd2-43bf-9302-e4c93287be11", "created_at": "2024-05-14T11:54:34.086968+00:00", "updated_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: {2} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00011_nodes_detail_get_admin [0.055623s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00278_deploy_templates_deploy_template_id_patch_observer [0.044841s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00279_deploy_templates_deploy_template_id_delete_admin [0.044635s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00284_chassis_post_observer [0.044216s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00200_nodes_volume_get_member [0.045629s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00201_nodes_volume_get_observer [0.049898s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00202_nodes_volume_connectors_get_admin [0.052520s] ... 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-24ff323a-408b-4c39-91ea-7eb107723379 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:portgroup:create\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path get /v1/portgroups/detail DEBUG util.py:445: GET: /v1/portgroups/detail {} DEBUG util.py:445: GOT:Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-3b83d865-3958-4cf1-9822-b2be8c3b9022 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:portgroup:list\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path get /v1/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-f4ad45f3-52f6-4566-b0a6-0a86ef828918 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-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-90e3ec94-6a39-4885-83e9-769a20a53ae7 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-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-f0d26d0d-4def-4e69-a53f-546de0aa4efe DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"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-0f5b4a54-0859-4df4-abf4-bda9b1d1a739 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:port:list\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path get /v1/ports/detail DEBUG util.py:445: GET: /v1/ports/detail {} DEBUG util.py:445: GOT:Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-569f13b6-bbac-41a8-9ef0-c78cf8c67a44 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:port:list\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path get /v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 DEBUG util.py:445: GET: /v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 {} DEBUG util.py:445: GOT:Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-fe1d59ac-cd49-4e15-9dcc-82b7d2b545f3 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Port 1be26c0b-03f2-4d2e-ae87-c02d7f33c781 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path get /v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 DEBUG util.py:445: GET: /v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 {} DEBUG util.py:445: GOT:Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-0eb5987d-8eb0-4ee6-9e2e-34a7168b5326 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Port 1be26c0b-03f2-4d2e-ae87-c02d7f33c781 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path patch /v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 DEBUG util.py:445: PATCH: /v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 [{'op': 'replace', 'path': '/extra', 'value': {'test': 'testing'}}] DEBUG util.py:445: GOT:Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-00a7166d-e7da-4ed7-b1dd-bd06d1d1ee2e DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Port 1be26c0b-03f2-4d2e-ae87-c02d7f33c781 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path get /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports/detail DEBUG util.py:445: GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports/detail {} DEBUG util.py:445: GOT:Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-3dab1214-206a-4752-9fbc-bf08e92a699d DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"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-4838d255-09c9-4c13-852b-0656fb6f340a DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Portgroup 6eb02b44-18a3-4659-8c0b-8d2802581ae4 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path get /v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4/ports DEBUG util.py:445: GET: /v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4/ports {} DEBUG util.py:445: GOT:Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-e82b9e70-9d36-4a2a-919b-f32127d5c409 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Portgroup 6eb02b44-18a3-4659-8c0b-8d2802581ae4 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path get /v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4/ports/detail DEBUG util.py:445: GET: /v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4/ports/detail {} DEBUG util.py:445: GOT:Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-74be5253-d35f-482b-86c6-b5afa4c58017 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Portgroup 6eb02b44-18a3-4659-8c0b-8d2802581ae4 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path get /v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4/ports/detail DEBUG util.py:445: GET: /v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4/ports/detail {} DEBUG util.py:445: GOT:Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-37c2e93d-4dd4-45b1-8781-0cfe0bd08cd4 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Portgroup 6eb02b44-18a3-4659-8c0b-8d2802581ae4 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path get /v1/volume/connectors DEBUG util.py:445: GET: /v1/volume/connectors {} DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00171_volume_connectors_get_observer [0.089059s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00176_volume_volume_connector_id_get_member [0.061706s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00182_volume_volume_connector_id_delete_member [0.045931s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00292_chassis_chassis_id_get_member [0.044755s] ... 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-8de9f67d-13d2-48c1-82ae-c46cf122f983 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"nodes": [{"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "created_at": "2024-05-14T11:54:34.072251+00:00", "updated_at": null, "automated_clean": null, "bios_interface": null, "boot_interface": null, "boot_mode": null, "clean_step": {}, "conductor_group": "", "console_enabled": false, "console_interface": null, "deploy_interface": null, "deploy_step": {}, "description": null, "driver": "fake-driverz", "driver_info": {"foo": "bar", "fake_password": "******"}, "driver_internal_info": {"private_state": "secret value"}, "extra": {}, "fault": null, "inspection_finished_at": null, "inspection_started_at": null, "inspect_interface": null, "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar"}, "instance_uuid": null, "last_error": null, "lessee": null, "maintenance": false, "maintenance_reason": null, "management_interface": null, "name": null, "network_data": {}, "network_interface": null, "owner": "z", "power_interface": null, "power_state": null, "properties": {"cpu_arch": "x86_64", "cpus": "8", "local_gb": "10", "memory_mb": "4096"}, "protected": false, "protected_reason": null, "provision_state": "available", "provision_updated_at": null, "raid_config": {}, "raid_interface": null, "rescue_interface": null, "reservation": null, "resource_class": null, "retired": false, "retired_reason": null, "secure_boot": null, "storage_interface": null, "target_power_state": null, "target_provision_state": null, "target_raid_config": {}, "traits": ["trait1"], "vendor_interface": null, "links": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "bookmark"}], "conductor": null, "allocation_uuid": null, "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume", "rel": "bookmark"}]}, {"uuid": "22e26c0b-03f2-4d2e-ae87-c02d7f33c000", "created_at": "2024-05-14T11:54:34.074484+00:00", "updated_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": [], "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": "c85ff2a1-aa79-4336-b2fe-31f7d0c8b2a0", "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/22e26c0b-03f2-4d2e-ae87-c02d7f33c000/ports", "rel": "self"}, {"href": "http://localhost/nodes/22e26c0b-03f2-4d2e-ae87-c02d7f33c000/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/22e26c0b-03f2-4d2e-ae87-c02d7f33c000/states", "rel": "self"}, {"href": "http://localhost/nodes/22e26c0b-03f2-4d2e-ae87-c02d7f33c000/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/22e26c0b-03f2-4d2e-ae87-c02d7f33c000/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/22e26c0b-03f2-4d2e-ae87-c02d7f33c000/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/22e26c0b-03f2-4d2e-ae87-c02d7f33c000/volume", "rel": "self"}, {"href": "http://localhost/nodes/22e26c0b-03f2-4d2e-ae87-c02d7f33c000/volume", "rel": "bookmark"}]}, {"uuid": "18a552fb-dcd2-43bf-9302-e4c93287be11", "created_at": "2024-05-14T11:54:34.086968+00:00", "updated_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: 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-8c36d8d6-4f8f-4017-bc97-ab9f2d7a4443 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"nodes": [{"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "created_at": "2024-05-14T11:54:34.134264+00:00", "updated_at": null, "automated_clean": null, "bios_interface": null, "boot_interface": null, "boot_mode": null, "clean_step": {}, "conductor_group": "", "console_enabled": false, "console_interface": null, "deploy_interface": null, "deploy_step": {}, "description": null, "driver": "fake-driverz", "driver_info": {"foo": "bar", "fake_password": "******"}, "driver_internal_info": {"private_state": "secret value"}, "extra": {}, "fault": null, "inspection_finished_at": null, "inspection_started_at": null, "inspect_interface": null, "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar"}, "instance_uuid": null, "last_error": null, "lessee": null, "maintenance": false, "maintenance_reason": null, "management_interface": null, "name": null, "network_data": {}, "network_interface": null, "owner": "z", "power_interface": null, "power_state": null, "properties": {"cpu_arch": "x86_64", "cpus": "8", "local_gb": "10", "memory_mb": "4096"}, "protected": false, "protected_reason": null, "provision_state": "available", "provision_updated_at": null, "raid_config": {}, "raid_interface": null, "rescue_interface": null, "reservation": null, "resource_class": null, "retired": false, "retired_reason": null, "secure_boot": null, "storage_interface": null, "target_power_state": null, "target_provision_state": null, "target_raid_config": {}, "traits": ["trait1"], "vendor_interface": null, "links": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "bookmark"}], "conductor": null, "allocation_uuid": null, "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume", "rel": "bookmark"}]}, {"uuid": "22e26c0b-03f2-4d2e-ae87-c02d7f33c000", "created_at": "2024-05-14T11:54:34.136777+00:00", "updated_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": [], "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": "2ff4b2a6-49ea-4c72-8783-24d72f8508e9", "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/22e26c0b-03f2-4d2e-ae87-c02d7f33c000/ports", "rel": "self"}, {"href": "http://localhost/nodes/22e26c0b-03f2-4d2e-ae87-c02d7f33c000/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/22e26c0b-03f2-4d2e-ae87-c02d7f33c000/states", "rel": "self"}, {"href": "http://localhost/nodes/22e26c0b-03f2-4d2e-ae87-c02d7f33c000/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/22e26c0b-03f2-4d2e-ae87-c02d7f33c000/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/22e26c0b-03f2-4d2e-ae87-c02d7f33c000/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/22e26c0b-03f2-4d2e-ae87-c02d7f33c000/volume", "rel": "self"}, {"href": "http://localhost/nodes/22e26c0b-03f2-4d2e-ae87-c02d7f33c000/volume", "rel": "bookmark"}]}, {"uuid": "18a552fb-dcd2-43bf-9302-e4c93287be11", "created_at": "2024-05-14T11:54:34.149909+00:00", "updated_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: {2} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00012_nodes_detail_get_member [0.061886s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00207_nodes_volume_targets_get_observer [0.070621s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00185_volume_targets_get_member [0.074027s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00209_drivers_get_member [0.044648s] ... 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-8c36d8d6-4f8f-4017-bc97-ab9f2d7a4443 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"nodes": [{"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "created_at": "2024-05-14T11:54:34.134264+00:00", "updated_at": null, "automated_clean": null, "bios_interface": null, "boot_interface": null, "boot_mode": null, "clean_step": {}, "conductor_group": "", "console_enabled": false, "console_interface": null, "deploy_interface": null, "deploy_step": {}, "description": null, "driver": "fake-driverz", "driver_info": {"foo": "bar", "fake_password": "******"}, "driver_internal_info": {"private_state": "secret value"}, "extra": {}, "fault": null, "inspection_finished_at": null, "inspection_started_at": null, "inspect_interface": null, "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar"}, "instance_uuid": null, "last_error": null, "lessee": null, "maintenance": false, "maintenance_reason": null, "management_interface": null, "name": null, "network_data": {}, "network_interface": null, "owner": "z", "power_interface": null, "power_state": null, "properties": {"cpu_arch": "x86_64", "cpus": "8", "local_gb": "10", "memory_mb": "4096"}, "protected": false, "protected_reason": null, "provision_state": "available", "provision_updated_at": null, "raid_config": {}, "raid_interface": null, "rescue_interface": null, "reservation": null, "resource_class": null, "retired": false, "retired_reason": null, "secure_boot": null, "storage_interface": null, "target_power_state": null, "target_provision_state": null, "target_raid_config": {}, "traits": ["trait1"], "vendor_interface": null, "links": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "bookmark"}], "conductor": null, "allocation_uuid": null, "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume", "rel": "bookmark"}]}, {"uuid": "22e26c0b-03f2-4d2e-ae87-c02d7f33c000", "created_at": "2024-05-14T11:54:34.136777+00:00", "updated_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": [], "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": "2ff4b2a6-49ea-4c72-8783-24d72f8508e9", "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/22e26c0b-03f2-4d2e-ae87-c02d7f33c000/ports", "rel": "self"}, {"href": "http://localhost/nodes/22e26c0b-03f2-4d2e-ae87-c02d7f33c000/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/22e26c0b-03f2-4d2e-ae87-c02d7f33c000/states", "rel": "self"}, {"href": "http://localhost/nodes/22e26c0b-03f2-4d2e-ae87-c02d7f33c000/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/22e26c0b-03f2-4d2e-ae87-c02d7f33c000/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/22e26c0b-03f2-4d2e-ae87-c02d7f33c000/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/22e26c0b-03f2-4d2e-ae87-c02d7f33c000/volume", "rel": "self"}, {"href": "http://localhost/nodes/22e26c0b-03f2-4d2e-ae87-c02d7f33c000/volume", "rel": "bookmark"}]}, {"uuid": "18a552fb-dcd2-43bf-9302-e4c93287be11", "created_at": "2024-05-14T11:54:34.149909+00:00", "updated_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: {2} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00016_nodes_node_ident_get_reader [0.051708s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00017_nodes_node_ident_patch_admin [0.066033s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00023_nodes_node_ident_delete_member [0.050751s] ... 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-d973eed3-9a1f-4d5d-a593-80c7986d46a5 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "created_at": "2024-05-14T11:54:34.191134+00:00", "updated_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-d973eed3-9a1f-4d5d-a593-80c7986d46a5 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "created_at": "2024-05-14T11:54:34.191134+00:00", "updated_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-6aa00da9-4cf9-4b2a-b136-e28cc6d1028c DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-6aa00da9-4cf9-4b2a-b136-e28cc6d1028c DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path delete /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 DEBUG util.py:445: DELETE: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 DEBUG util.py:445: GOT:Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-dcd7c4e3-e67d-46ac-bc0c-575151e9a7ea DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:delete\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-dcd7c4e3-e67d-46ac-bc0c-575151e9a7ea DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:delete\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path delete /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 DEBUG util.py:445: DELETE: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00024_nodes_node_ident_delete_reader [0.052655s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00028_nodes_maintenance_put_admin [0.052037s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00214_drivers_properties_get_admin [0.044196s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00038_nodes_management_boot_device_get_member [0.052205s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00191_volume_volume_target_id_get_member [0.106130s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00218_drivers_raid_logical_disk_properties_get_member [0.045207s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00045_nodes_management_inject_nmi_put_reader [0.050890s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00294_chassis_chassis_id_patch_admin [0.195680s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00192_volume_volume_target_id_get_observer [0.056089s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00046_nodes_states_get_admin [0.049916s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00295_chassis_chassis_id_patch_member [0.044308s] ... 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-e3563b3a-b4f6-4edf-97b3-b33593ce54ec DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:volume:list\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path post /v1/volume/connectors DEBUG util.py:445: POST: /v1/volume/connectors {'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'type': 'ip', 'connector_id': '192.168.1.100'} DEBUG util.py:445: GOT:Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-23ebb9ea-2060-4729-bd5b-037ae8f35cd9 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:volume:create\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path patch /v1/volume/connectors/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 DEBUG util.py:445: PATCH: /v1/volume/connectors/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 [{'op': 'replace', 'path': '/extra', 'value': {'test': 'testing'}}] DEBUG util.py:445: GOT:Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-38b1c5ce-2b5f-47f2-8d7a-b53bbd4f6e8f DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Volume connector 1be26c0b-03f2-4d2e-ae87-c02d7f33c781 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path delete /v1/volume/connectors/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 DEBUG util.py:445: DELETE: /v1/volume/connectors/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 DEBUG util.py:445: GOT:Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-e69aac65-a36f-4418-bfc0-d25222fdb489 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Volume connector 1be26c0b-03f2-4d2e-ae87-c02d7f33c781 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path get /v1/volume/targets DEBUG util.py:445: GET: /v1/volume/targets {} DEBUG util.py:445: GOT:Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-392da1c4-444b-454b-88f4-2262d4ba8baa DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:volume:list\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path 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-38ceb88e-cc7f-4423-8c0f-bfa13d7bc5bb DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Volume target 1be26c0b-03f2-4d2e-ae87-c02d7f33c781 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path get /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume DEBUG util.py:445: GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume {} DEBUG util.py:445: GOT:Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-500e4025-c3a7-480d-b28f-b78676efe647 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:volume:get\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path get /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume DEBUG util.py:445: GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume {} DEBUG util.py:445: GOT:Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-e5adf5c0-2391-407c-acbf-f8a282c9173d DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:volume:get\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path get /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume DEBUG util.py:445: GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume {} DEBUG util.py:445: GOT:Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-cd0cba5e-ce85-4505-a8d0-083c84fd28ff DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:volume:get\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path get /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume/connectors DEBUG util.py:445: GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume/connectors {} DEBUG util.py:445: GOT:Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-585ca333-c8ee-4e51-8b76-4f3a2161da93 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-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-dd22d273-a6d3-4f94-8855-7314dc923912 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"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-5d495d1e-97ff-404d-8a86-bb630f845811 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"baremetal:driver:get 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-df12362a-f89e-40b8-a409-d5961ab3a146 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"baremetal:driver:get_properties 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-02dfb71e-39e8-4960-aeec-29249869a7cf DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"baremetal:driver:get_raid_logical_disk_properties 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: {0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00219_drivers_raid_logical_disk_properties_get_observer [0.044379s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00196_volume_volume_target_id_delete_admin [0.049623s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00224_drivers_vendor_passthru_get_member [0.068775s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00302_node_history_get_observer [0.075648s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00198_volume_volume_target_id_delete_observer [0.051035s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00047_nodes_states_get_member [0.085993s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00235_nodes_bios_get_member [0.049178s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00205_nodes_volume_targets_get_admin [0.053280s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00304_node_history_get_entry_member [0.058027s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00055_nodes_states_secure_boot_put_admin [0.050785s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00206_nodes_volume_targets_get_member [0.049694s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00056_nodes_states_secure_boot_put_member [0.049873s] ... ok DEBUG util.py:445: API ACL Testing Path get /v1/deploy_templates/c286e3a9-b69d-4e2a-a78b-9f9ef07997cd DEBUG util.py:445: GET: /v1/deploy_templates/c286e3a9-b69d-4e2a-a78b-9f9ef07997cd {} DEBUG util.py:445: GOT:Response: 500 Internal Server Error DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-d85aac57-0606-4371-b365-e526f2b20027 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"baremetal:deploy_template:get 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/9a3a8ed1-d679-4d7b-8c9c-65cedd5cb29e DEBUG util.py:445: PATCH: /v1/deploy_templates/9a3a8ed1-d679-4d7b-8c9c-65cedd5cb29e [{'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-28d0c223-ea49-4ca1-9df4-6e326cec960a DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"baremetal:deploy_template:update 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/9a939d67-69aa-4c11-bfbe-282d995381ae DEBUG util.py:445: PATCH: /v1/deploy_templates/9a939d67-69aa-4c11-bfbe-282d995381ae [{'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-38409844-25b2-44df-aeb6-84787c85425b DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"baremetal:deploy_template:update 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/e531f5e6-2fb3-4ddc-b1ac-1d88bf936110 DEBUG util.py:445: PATCH: /v1/deploy_templates/e531f5e6-2fb3-4ddc-b1ac-1d88bf936110 [{'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-035f03bd-46cc-4f63-ae9f-711054e4ac17 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"baremetal:deploy_template:update 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/26297fee-2771-49af-b7a4-20f9355c46cb DEBUG util.py:445: DELETE: /v1/deploy_templates/26297fee-2771-49af-b7a4-20f9355c46cb DEBUG util.py:445: GOT:Response: 500 Internal Server Error DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-81521a57-1e4b-4334-a354-aeb5b18c04a3 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"baremetal:deploy_template:delete 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-3099ca55-d9ae-4030-91a9-8dcc8230beee DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"baremetal:chassis:create 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-4e22c979-3a96-4433-84a1-fcc3cf5b58ce DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"baremetal:chassis:get 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-849d7acc-d932-4eaf-9ed2-d6470a7c7d25 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"baremetal:chassis:update 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-98b056f7-26e1-4353-8f43-4b0651b1e2ee DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"baremetal:chassis:update 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-9b1c8a1c-4414-47f3-85e3-27d43943df3e DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-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/e7d560ba-c0f5-4edb-9ded-196024035a6c DEBUG util.py:445: GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/history/e7d560ba-c0f5-4edb-9ded-196024035a6c {} DEBUG util.py:445: GOT:Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-d862da01-6a9c-4bde-83e5-9a24c3bd3853 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-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_00007_nodes_get_node_reader [0.052729s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00210_drivers_get_observer [0.051333s] ... 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-88b1bf2e-67cf-491f-8eac-6eecdddadd80 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:delete\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-88b1bf2e-67cf-491f-8eac-6eecdddadd80 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:delete\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path put /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/maintenance DEBUG util.py:445: PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/maintenance None DEBUG util.py:445: GOT:Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-19c6441f-b4cb-45c4-b330-d6334eb99016 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-19c6441f-b4cb-45c4-b330-d6334eb99016 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path get /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/management/boot_device DEBUG util.py:445: GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/management/boot_device {} DEBUG util.py:445: GOT:Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-3c288196-d7cb-43ee-9b2a-2af1c03f2ed9 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-3c288196-d7cb-43ee-9b2a-2af1c03f2ed9 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path put /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/management/inject_nmi DEBUG util.py:445: PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/management/inject_nmi {} DEBUG util.py:445: GOT:Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-0106093e-6637-4a93-89f6-32ac8ab68281 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:inject_nmi\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-0106093e-6637-4a93-89f6-32ac8ab68281 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:inject_nmi\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path get /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states DEBUG util.py:445: GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states {} DEBUG util.py:445: GOT:Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-425d9a12-df3d-4ea8-bd1b-b69a7363591f DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"console_enabled": false, "last_error": null, "power_state": null, "provision_state": "available", "target_power_state": null, "target_provision_state": null, "provision_updated_at": null, "raid_config": {}, "target_raid_config": {}, "boot_mode": null, "secure_boot": null} DEBUG util.py:445: ACL Test GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-425d9a12-df3d-4ea8-bd1b-b69a7363591f DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"console_enabled": false, "last_error": null, "power_state": null, "provision_state": "available", "target_power_state": null, "target_provision_state": null, "provision_updated_at": null, "raid_config": {}, "target_raid_config": {}, "boot_mode": null, "secure_boot": null} DEBUG util.py:445: API ACL Testing Path 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-81701ad5-285a-496b-92ae-88bcb987d453 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"console_enabled": false, "last_error": null, "power_state": null, "provision_state": "available", "target_power_state": null, "target_provision_state": null, "provision_updated_at": null, "raid_config": {}, "target_raid_config": {}, "boot_mode": null, "secure_boot": null} DEBUG util.py:445: ACL Test GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-81701ad5-285a-496b-92ae-88bcb987d453 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"console_enabled": false, "last_error": null, "power_state": null, "provision_state": "available", "target_power_state": null, "target_provision_state": null, "provision_updated_at": null, "raid_config": {}, "target_raid_config": {}, "boot_mode": null, "secure_boot": null} DEBUG util.py:445: API ACL Testing Path put /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/secure_boot DEBUG util.py:445: PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/secure_boot {'target': 'true'} DEBUG util.py:445: GOT:Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-77505e62-84ba-495d-9df3-dae25bf20203 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-77505e62-84ba-495d-9df3-dae25bf20203 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path put /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/secure_boot DEBUG util.py:445: PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/secure_boot {'target': 'true'} DEBUG util.py:445: GOT:Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-e5b6c380-d899-44fb-b263-87a1bd0d32d2 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-e5b6c380-d899-44fb-b263-87a1bd0d32d2 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path put /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/secure_boot DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00057_nodes_states_secure_boot_put_reader [0.067838s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00058_nodes_states_provision_put_admin [0.051274s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00241_conductors_get_member [0.186600s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00212_drivers_driver_name_get_member [0.069828s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00249_allocations_get_admin [0.052886s] ... 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-380c637c-e0e2-4ac7-b22c-08dab7dd8b9d DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "created_at": "2024-05-14T11:54:34.750227+00:00", "updated_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-380c637c-e0e2-4ac7-b22c-08dab7dd8b9d DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "created_at": "2024-05-14T11:54:34.750227+00:00", "updated_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-1177fcaf-955d-48d6-a6af-2b2fd49ae75d DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"nodes": [{"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "created_at": "2024-05-14T11:54:34.835048+00:00", "updated_at": null, "automated_clean": null, "bios_interface": null, "boot_interface": null, "boot_mode": null, "clean_step": {}, "conductor_group": "", "console_enabled": false, "console_interface": null, "deploy_interface": null, "deploy_step": {}, "description": null, "driver": "fake-driverz", "driver_info": {"foo": "bar", "fake_password": "******"}, "driver_internal_info": {"private_state": "secret value"}, "extra": {}, "fault": null, "inspection_finished_at": null, "inspection_started_at": null, "inspect_interface": null, "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar"}, "instance_uuid": null, "last_error": null, "lessee": null, "maintenance": false, "maintenance_reason": null, "management_interface": null, "name": null, "network_data": {}, "network_interface": null, "owner": "z", "power_interface": null, "power_state": null, "properties": {"cpu_arch": "x86_64", "cpus": "8", "local_gb": "10", "memory_mb": "4096"}, "protected": false, "protected_reason": null, "provision_state": "available", "provision_updated_at": null, "raid_config": {}, "raid_interface": null, "rescue_interface": null, "reservation": null, "resource_class": null, "retired": false, "retired_reason": null, "secure_boot": null, "storage_interface": null, "target_power_state": null, "target_provision_state": null, "target_raid_config": {}, "traits": ["trait1"], "vendor_interface": null, "links": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "bookmark"}], "conductor": null, "allocation_uuid": null, "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume", "rel": "bookmark"}]}, {"uuid": "22e26c0b-03f2-4d2e-ae87-c02d7f33c000", "created_at": "2024-05-14T11:54:34.838481+00:00", "updated_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": [], "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": "6e01a288-2d78-47a0-8928-0c94179f1474", "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/22e26c0b-03f2-4d2e-ae87-c02d7f33c000/ports", "rel": "self"}, {"href": "http://localhost/nodes/22e26c0b-03f2-4d2e-ae87-c02d7f33c000/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/22e26c0b-03f2-4d2e-ae87-c02d7f33c000/states", "rel": "self"}, {"href": "http://localhost/nodes/22e26c0b-03f2-4d2e-ae87-c02d7f33c000/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/22e26c0b-03f2-4d2e-ae87-c02d7f33c000/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/22e26c0b-03f2-4d2e-ae87-c02d7f33c000/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/22e26c0b-03f2-4d2e-ae87-c02d7f33c000/volume", "rel": "self"}, {"href": "http://localhost/nodes/22e26c0b-03f2-4d2e-ae87-c02d7f33c000/volume", "rel": "bookmark"}]}, {"uuid": "18a552fb-dcd2-43bf-9302-e4c93287be11", "created_at": "2024-05-14T11:54:34.851986+00:00", "updated_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: {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00013_nodes_detail_get_reader [0.091849s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00060_nodes_states_provision_put_reader [0.050023s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00215_drivers_properties_get_member [0.067732s] ... 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-1177fcaf-955d-48d6-a6af-2b2fd49ae75d DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"nodes": [{"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "created_at": "2024-05-14T11:54:34.835048+00:00", "updated_at": null, "automated_clean": null, "bios_interface": null, "boot_interface": null, "boot_mode": null, "clean_step": {}, "conductor_group": "", "console_enabled": false, "console_interface": null, "deploy_interface": null, "deploy_step": {}, "description": null, "driver": "fake-driverz", "driver_info": {"foo": "bar", "fake_password": "******"}, "driver_internal_info": {"private_state": "secret value"}, "extra": {}, "fault": null, "inspection_finished_at": null, "inspection_started_at": null, "inspect_interface": null, "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar"}, "instance_uuid": null, "last_error": null, "lessee": null, "maintenance": false, "maintenance_reason": null, "management_interface": null, "name": null, "network_data": {}, "network_interface": null, "owner": "z", "power_interface": null, "power_state": null, "properties": {"cpu_arch": "x86_64", "cpus": "8", "local_gb": "10", "memory_mb": "4096"}, "protected": false, "protected_reason": null, "provision_state": "available", "provision_updated_at": null, "raid_config": {}, "raid_interface": null, "rescue_interface": null, "reservation": null, "resource_class": null, "retired": false, "retired_reason": null, "secure_boot": null, "storage_interface": null, "target_power_state": null, "target_provision_state": null, "target_raid_config": {}, "traits": ["trait1"], "vendor_interface": null, "links": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "bookmark"}], "conductor": null, "allocation_uuid": null, "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume", "rel": "bookmark"}]}, {"uuid": "22e26c0b-03f2-4d2e-ae87-c02d7f33c000", "created_at": "2024-05-14T11:54:34.838481+00:00", "updated_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": [], "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": "6e01a288-2d78-47a0-8928-0c94179f1474", "chassis_uuid": null, "ports": [{"href": "http://localhost/v1/nodes/22e26c0b-03f2-4d2e-ae87-c02d7f33c000/ports", "rel": "self"}, {"href": "http://localhost/nodes/22e26c0b-03f2-4d2e-ae87-c02d7f33c000/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/22e26c0b-03f2-4d2e-ae87-c02d7f33c000/states", "rel": "self"}, {"href": "http://localhost/nodes/22e26c0b-03f2-4d2e-ae87-c02d7f33c000/states", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/22e26c0b-03f2-4d2e-ae87-c02d7f33c000/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/22e26c0b-03f2-4d2e-ae87-c02d7f33c000/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/22e26c0b-03f2-4d2e-ae87-c02d7f33c000/volume", "rel": "self"}, {"href": "http://localhost/nodes/22e26c0b-03f2-4d2e-ae87-c02d7f33c000/volume", "rel": "bookmark"}]}, {"uuid": "18a552fb-dcd2-43bf-9302-e4c93287be11", "created_at": "2024-05-14T11:54:34.851986+00:00", "updated_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: {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00020_nodes_node_ident_patch_member [0.076462s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00025_nodes_validate_get_admin [0.049943s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00063_nodes_states_raid_put_reader [0.050082s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00253_allocations_allocation_id_get_member [0.100913s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00027_nodes_validate_get_reader [0.050110s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00070_nodes_vendor_passthru_methods_get_member [0.049923s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00217_drivers_raid_logical_disk_properties_get_admin [0.108650s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00256_allocations_allocation_id_patch_member [0.070164s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00072_nodes_vendor_passthru_get_admin [0.049533s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00031_nodes_maintenance_delete_admin [0.061358s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00221_drivers_vendor_passthru_methods_get_member [0.042889s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00077_nodes_vendor_passthru_post_reader [0.051922s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00259_allocations_allocation_id_delete_member [0.051250s] ... 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-071e83fb-b628-4832-b006-02446e316ea9 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:volume:list\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path get /v1/volume/connectors/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 DEBUG util.py:445: GET: /v1/volume/connectors/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 {} DEBUG util.py:445: GOT:Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-bd59c66d-8918-40e1-a2d3-1c4de75b09bf DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Volume connector 1be26c0b-03f2-4d2e-ae87-c02d7f33c781 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path delete /v1/volume/connectors/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 DEBUG util.py:445: DELETE: /v1/volume/connectors/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 DEBUG util.py:445: GOT:Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-fb515c45-16d5-440d-8e5d-a953f9010275 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Volume connector 1be26c0b-03f2-4d2e-ae87-c02d7f33c781 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path get /v1/volume/targets DEBUG util.py:445: GET: /v1/volume/targets {} DEBUG util.py:445: GOT:Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-f5c76d60-0d7a-4b0d-b322-0ba991783344 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:volume:list\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path get /v1/volume/targets/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-3be0efdd-e190-4136-af6f-8586ff51ef06 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Volume target 1be26c0b-03f2-4d2e-ae87-c02d7f33c781 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path get /v1/volume/targets/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 DEBUG util.py:445: GET: /v1/volume/targets/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 {} DEBUG util.py:445: GOT:Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-a6c90cce-3f6e-4698-8304-a821a2e42cc2 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Volume target 1be26c0b-03f2-4d2e-ae87-c02d7f33c781 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path delete /v1/volume/targets/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 DEBUG util.py:445: DELETE: /v1/volume/targets/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 DEBUG util.py:445: GOT:Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-bb4d5b0c-e5f7-4d1d-94f9-dd05acab082b DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Volume target 1be26c0b-03f2-4d2e-ae87-c02d7f33c781 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path delete /v1/volume/targets/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 DEBUG util.py:445: DELETE: /v1/volume/targets/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 DEBUG util.py:445: GOT:Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-ca8bd549-44e6-4292-8b9f-15e3dfa137d2 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Volume target 1be26c0b-03f2-4d2e-ae87-c02d7f33c781 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path get /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume/targets DEBUG util.py:445: GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume/targets {} DEBUG util.py:445: GOT:Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-57733f04-b1d3-4db0-82c3-8fa1b1e99904 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-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-da0eb31a-73f1-424c-a11e-6c3f73b1cbf8 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"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-26ad8f17-0a62-41c4-b581-ff559aeeeab8 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"baremetal:driver:get 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-e8b1442f-9ebc-4390-9a8d-a2cc5f0a9c01 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"baremetal:driver:get 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-2c33a0bf-4e0b-4052-b95e-0f5a332d15f3 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"baremetal:driver:get_properties 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-8e60eba8-cf0a-4e71-885f-2d36f164f4a4 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"baremetal:driver:get_raid_logical_disk_properties 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-1bd1f19a-b6bd-4925-a3fc-29b90d3b679f DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"baremetal:driver:vendor_passthru requires a scope of ['system'], request was made with project scope.\", \"debuginfo\": null}"} DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00222_drivers_vendor_passthru_methods_get_observer [0.044853s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00036_nodes_management_boot_device_put_reader [0.067880s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00225_drivers_vendor_passthru_get_observer [0.043578s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00078_nodes_vendor_passthru_put_admin [0.049826s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00261_nodes_allocation_get_admin [0.051913s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00040_nodes_management_boot_device_supported_get_admin [0.058994s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00226_drivers_vendor_passthru_post_admin [0.053827s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00269_deploy_templates_post_observer [0.052992s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00044_nodes_management_inject_nmi_put_member [0.048963s] ... ok 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-37106f92-6ecf-4aa5-8a64-6b5e9d9654cb DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:set_secure_boot\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-37106f92-6ecf-4aa5-8a64-6b5e9d9654cb DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:set_secure_boot\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path put /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/provision DEBUG util.py:445: PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/provision {'target': 'deploy'} DEBUG util.py:445: GOT:Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-5edff78a-ecb6-4036-ab6c-fa0bf48b0f3f DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-5edff78a-ecb6-4036-ab6c-fa0bf48b0f3f DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path put /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/provision DEBUG util.py:445: PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/provision {'target': 'deploy'} DEBUG util.py:445: GOT:Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-26cbd86e-eef6-4390-a569-f11b51a1afe2 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:set_provision_state\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-26cbd86e-eef6-4390-a569-f11b51a1afe2 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:set_provision_state\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path put /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/raid DEBUG util.py:445: PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/raid {'target_raid_config': {'logical_disks': [{'size_gb': 500, 'is_root_volume': True, 'raid_level': 1}]}} DEBUG util.py:445: GOT:Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-2f334ef9-cc1c-4a92-84d1-3c22eb17426d DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:set_raid_state\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-2f334ef9-cc1c-4a92-84d1-3c22eb17426d DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:set_raid_state\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path get /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/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-ab4ee2bf-cdcd-46be-ae05-d43159a1aa65 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:vendor_passthru\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-ab4ee2bf-cdcd-46be-ae05-d43159a1aa65 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:vendor_passthru\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path get /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/vendor_passthru?method=test DEBUG util.py:445: GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/vendor_passthru?method=test {} DEBUG util.py:445: GOT:Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-dba5738f-98b6-4664-beb0-750711133069 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-dba5738f-98b6-4664-beb0-750711133069 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path post /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/vendor_passthru?method=test DEBUG util.py:445: POST: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/vendor_passthru?method=test None DEBUG util.py:445: GOT:Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-398c0c1c-71ac-4f71-89a7-760590efb4a9 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:vendor_passthru\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-398c0c1c-71ac-4f71-89a7-760590efb4a9 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:vendor_passthru\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path put /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/vendor_passthru?method=test DEBUG util.py:445: PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/vendor_passthru?method=test None DEBUG util.py:445: GOT:Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-a4d522eb-21e9-40cb-95ac-d7a4e00c708a DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-a4d522eb-21e9-40cb-95ac-d7a4e00c708a DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path put /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/vendor_passthru?method=test DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00079_nodes_vendor_passthru_put_member [0.051630s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00081_nodes_vendor_passthru_delete_admin [0.052792s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00048_nodes_states_get_reader [0.049083s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00229_drivers_vendor_passthru_put_admin [0.047363s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00271_deploy_templates_get_member [0.082980s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00230_drivers_vendor_passthru_put_member [0.054791s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00102_nodes_vifs_post_admin [0.049714s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00236_nodes_bios_get_observer [0.049073s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00272_deploy_templates_get_observer [0.077798s] ... 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: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-24433da2-4081-413b-a1c9-a315a1a84945 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-24433da2-4081-413b-a1c9-a315a1a84945 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path get /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/validate DEBUG util.py:445: GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/validate {} DEBUG util.py:445: GOT:Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-ec2d95dd-f564-4eb9-b192-326b30dd605c DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-ec2d95dd-f564-4eb9-b192-326b30dd605c DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path get /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/validate DEBUG util.py:445: GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/validate {} DEBUG util.py:445: GOT:Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-d87fb3ac-e35f-4b54-8d2d-1009389732bc DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:validate\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-d87fb3ac-e35f-4b54-8d2d-1009389732bc DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:validate\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path delete /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/maintenance DEBUG util.py:445: DELETE: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/maintenance DEBUG util.py:445: GOT:Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-58301dba-2f54-482a-8302-5314d8eee9dd DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-58301dba-2f54-482a-8302-5314d8eee9dd DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path put /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/management/boot_device DEBUG util.py:445: PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/management/boot_device {'boot_device': 'pxe'} DEBUG util.py:445: GOT:Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-22b35a27-0075-4cc3-a2be-37bd011019fa DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:set_boot_device\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-22b35a27-0075-4cc3-a2be-37bd011019fa DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:set_boot_device\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path get /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/management/boot_device/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-4c7c8ea5-c6f9-4ae0-83b1-20b55782d129 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-4c7c8ea5-c6f9-4ae0-83b1-20b55782d129 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path put /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/management/inject_nmi DEBUG util.py:445: PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/management/inject_nmi {} DEBUG util.py:445: GOT:Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-6cd06204-4850-4b25-9586-f3bf53a97874 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-6cd06204-4850-4b25-9586-f3bf53a97874 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path get /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states DEBUG util.py:445: GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states {} DEBUG util.py:445: GOT:Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-8130ddb1-f912-4017-96a7-ec04b8144785 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"console_enabled": false, "last_error": null, "power_state": null, "provision_state": "available", "target_power_state": null, "target_provision_state": null, "provision_updated_at": null, "raid_config": {}, "target_raid_config": {}, "boot_mode": null, "secure_boot": null} DEBUG util.py:445: ACL Test GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-8130ddb1-f912-4017-96a7-ec04b8144785 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"console_enabled": false, "last_error": null, "power_state": null, "provision_state": "available", "target_power_state": null, "target_provision_state": null, "provision_updated_at": null, "raid_config": {}, "target_raid_config": {}, "boot_mode": null, "secure_boot": null} DEBUG util.py:445: API ACL Testing Path put /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/boot_mode DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00052_nodes_states_boot_mode_put_admin [0.048306s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00053_nodes_states_boot_mode_put_member [0.048238s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00106_nodes_vifs_node_vif_ident_delete_member [0.048757s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00237_nodes_bios_bios_setting_get_admin [0.047953s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00112_portgroups_get_admin [0.048302s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00281_deploy_templates_deploy_template_id_delete_observer [0.052441s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00054_nodes_states_boot_mode_put_reader [0.048028s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00239_nodes_bios_bios_setting_get_observer [0.057602s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00115_portgroups_post_admin [0.060097s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00283_chassis_post_member [0.045363s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00059_nodes_states_provision_put_member [0.048276s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00243_conductors_hostname_get_admin [0.046952s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00289_chassis_detail_get_member [0.051053s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00069_nodes_vendor_passthru_methods_get_admin [0.047793s] ... ok 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-a4dc0a09-a8a7-4d1a-beca-a67154a912d0 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:vendor_passthru\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-a4dc0a09-a8a7-4d1a-beca-a67154a912d0 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:vendor_passthru\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path delete /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/vendor_passthru?method=test DEBUG util.py:445: DELETE: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/vendor_passthru?method=test DEBUG util.py:445: GOT:Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-64f2a864-61e8-4fd1-9663-5aea7be8e92f DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-64f2a864-61e8-4fd1-9663-5aea7be8e92f DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path post /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/vifs DEBUG util.py:445: POST: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/vifs {'id': 'ee21d58f-5de2-4956-85ff-33935ea1ca00'} DEBUG util.py:445: GOT:Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-cbc9b559-43b9-454b-9a74-780cb9460902 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-cbc9b559-43b9-454b-9a74-780cb9460902 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path delete /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/vifs/ee21d58f-5de2-4956-85ff-33935ea1ca00 DEBUG util.py:445: DELETE: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/vifs/ee21d58f-5de2-4956-85ff-33935ea1ca00 DEBUG util.py:445: GOT:Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-a4af3d54-528d-4003-ad11-766d1992fcf4 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-a4af3d54-528d-4003-ad11-766d1992fcf4 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path get /v1/portgroups DEBUG util.py:445: GET: /v1/portgroups {} DEBUG util.py:445: GOT:Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-01c911e6-79da-4d39-b496-1306f446a1e9 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"portgroups": [{"uuid": "6eb02b44-18a3-4659-8c0b-8d2802581ae4", "address": "52:54:00:cf:2d:31", "name": "fooname", "links": [{"href": "http://localhost/v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4", "rel": "self"}, {"href": "http://localhost/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4", "rel": "bookmark"}]}]} DEBUG util.py:445: ACL Test GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-01c911e6-79da-4d39-b496-1306f446a1e9 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"portgroups": [{"uuid": "6eb02b44-18a3-4659-8c0b-8d2802581ae4", "address": "52:54:00:cf:2d:31", "name": "fooname", "links": [{"href": "http://localhost/v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4", "rel": "self"}, {"href": "http://localhost/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4", "rel": "bookmark"}]}]} DEBUG util.py:445: API ACL Testing Path post /v1/portgroups DEBUG util.py:445: POST: /v1/portgroups {'node_uuid': '18a552fb-dcd2-43bf-9302-e4c93287be11'} DEBUG util.py:445: GOT:Response: 201 Created DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Location: http://localhost/v1/portgroups/8a76a560-597e-49db-b29f-ed9272ad9573 DEBUG util.py:445: Openstack-Request-Id: req-bc23518e-ee30-4426-9f60-79dbd99de5e2 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"uuid": "8a76a560-597e-49db-b29f-ed9272ad9573", "created_at": "2024-05-14T11:54:35.514727+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/8a76a560-597e-49db-b29f-ed9272ad9573", "rel": "self"}, {"href": "http://localhost/portgroups/8a76a560-597e-49db-b29f-ed9272ad9573", "rel": "bookmark"}], "node_uuid": "18a552fb-dcd2-43bf-9302-e4c93287be11", "ports": [{"href": "http://localhost/v1/portgroups/8a76a560-597e-49db-b29f-ed9272ad9573/ports", "rel": "self"}, {"href": "http://localhost/portgroups/8a76a560-597e-49db-b29f-ed9272ad9573/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/8a76a560-597e-49db-b29f-ed9272ad9573 DEBUG util.py:445: Openstack-Request-Id: req-bc23518e-ee30-4426-9f60-79dbd99de5e2 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"uuid": "8a76a560-597e-49db-b29f-ed9272ad9573", "created_at": "2024-05-14T11:54:35.514727+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/8a76a560-597e-49db-b29f-ed9272ad9573", "rel": "self"}, {"href": "http://localhost/portgroups/8a76a560-597e-49db-b29f-ed9272ad9573", "rel": "bookmark"}], "node_uuid": "18a552fb-dcd2-43bf-9302-e4c93287be11", "ports": [{"href": "http://localhost/v1/portgroups/8a76a560-597e-49db-b29f-ed9272ad9573/ports", "rel": "self"}, {"href": "http://localhost/portgroups/8a76a560-597e-49db-b29f-ed9272ad9573/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: {2} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00120_portgroups_detail_get_reader [0.050689s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00073_nodes_vendor_passthru_get_member [0.048371s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00130_nodes_portgroups_get_admin [0.054968s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00245_conductors_hostname_get_observer [0.077096s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00247_allocations_post_member ... SKIPPED: This endpoint's behavior supports allocation creation as a member with the new Role Based Access Control changes. Thus this test cannot both ensure prior and post-change behavior as it is actually valid moving forward. DEBUG util.py:445: GOT:Response: 500 Internal Server Error DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-0af5402d-7d52-443e-958a-07434d9c7b6e DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"baremetal:driver:get_raid_logical_disk_properties 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-5c5a0a4b-f318-4664-87b1-23d16aba6c12 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"baremetal:driver:vendor_passthru 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-6adc2799-77b6-4d49-b240-3746e94e533e DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"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-14bb3645-3dc6-407a-8a59-7d1ad9b8d433 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"baremetal:conductor:get 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-46d35b01-19ea-4b4f-820e-d6580580391b DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:allocation:list\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path get /v1/allocations/e7231677-0473-4299-b030-f30e481f3e99 DEBUG util.py:445: GET: /v1/allocations/e7231677-0473-4299-b030-f30e481f3e99 {} DEBUG util.py:445: GOT:Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-14695094-9c6b-4adb-b839-06c7608963ed DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Allocation e7231677-0473-4299-b030-f30e481f3e99 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path patch /v1/allocations/38304862-5f47-45fe-904e-2d4b99449611 DEBUG util.py:445: PATCH: /v1/allocations/38304862-5f47-45fe-904e-2d4b99449611 [{'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-fd41f57a-7ac1-4c1f-9613-70f1b0f19402 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Allocation 38304862-5f47-45fe-904e-2d4b99449611 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path delete /v1/allocations/0ec962d5-7eb9-4032-a382-697e5a5532b9 DEBUG util.py:445: DELETE: /v1/allocations/0ec962d5-7eb9-4032-a382-697e5a5532b9 DEBUG util.py:445: GOT:Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-79cebbe0-a8d9-476e-9bdd-b217877ec354 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Allocation 0ec962d5-7eb9-4032-a382-697e5a5532b9 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-32461c87-0e4d-44a1-969a-8de077273d66 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Resource could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path post /v1/deploy_templates DEBUG util.py:445: POST: /v1/deploy_templates {'name': 'CUSTOM_TEST_TEMPLATE', 'steps': [{'interface': 'deploy', 'step': 'noop', 'args': {}, 'priority': 0}]} DEBUG util.py:445: GOT:Response: 500 Internal Server Error DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-8f3fdf27-da2e-43b2-87ed-b3d887c3c130 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"baremetal:deploy_template:create 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-8113805d-29e1-4b8b-8bb2-43fadb6ec744 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"baremetal:deploy_template:get 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-1225f24c-cf14-4d19-99f2-67ad634721db DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"baremetal:deploy_template:get 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/a4e0e91e-e033-4e84-bf21-27321818f4b1 DEBUG util.py:445: DELETE: /v1/deploy_templates/a4e0e91e-e033-4e84-bf21-27321818f4b1 DEBUG util.py:445: GOT:Response: 500 Internal Server Error DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-321b7865-71dd-4735-b96c-207d1aad78fa DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"baremetal:deploy_template:delete 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-d6634b3a-7701-4a0f-8ea4-79a91eb0c8b4 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"baremetal:chassis:create 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-c34e4474-c0e7-49a7-8962-a6d2af42d940 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"baremetal:chassis:get requires a scope of ['system'], request was made with project scope.\", \"debuginfo\": null}"} DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00290_chassis_detail_get_observer [0.052870s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00291_chassis_chassis_id_get_admin [0.046441s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00074_nodes_vendor_passthru_get_reader [0.050498s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00131_nodes_portgroups_get_member [0.084589s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00296_chassis_chassis_id_patch_observer [0.049006s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00075_nodes_vendor_passthru_post_admin [0.050868s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00248_allocations_post_observer [0.055042s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00140_ports_post_member [0.053286s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00250_allocations_get_member [0.046177s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00298_chassis_chassis_id_delete_member [0.044710s] ... ok 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-ddd01eb6-1769-4383-b54b-2ec6efdbacbf DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-ddd01eb6-1769-4383-b54b-2ec6efdbacbf DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path put /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/boot_mode DEBUG util.py:445: PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/boot_mode {'target': 'uefi'} DEBUG util.py:445: GOT:Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-14c3d777-7f9e-48a3-9a03-0c853684ee68 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-14c3d777-7f9e-48a3-9a03-0c853684ee68 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path put /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/boot_mode DEBUG util.py:445: PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/boot_mode {'target': 'uefi'} DEBUG util.py:445: GOT:Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-49369ce2-3a3d-450f-a7d9-c7b47f478c66 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:set_boot_mode\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-49369ce2-3a3d-450f-a7d9-c7b47f478c66 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:set_boot_mode\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path put /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/provision DEBUG util.py:445: PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/provision {'target': 'deploy'} DEBUG util.py:445: GOT:Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-b646e0d3-445b-44c2-acc8-edfb3b2512f7 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-b646e0d3-445b-44c2-acc8-edfb3b2512f7 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path get /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/vendor_passthru/methods DEBUG util.py:445: GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/vendor_passthru/methods {} DEBUG util.py:445: GOT:Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-adb31364-fba2-4843-bd39-43d1443768e8 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-adb31364-fba2-4843-bd39-43d1443768e8 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path get /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/vendor_passthru?method=test DEBUG util.py:445: GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/vendor_passthru?method=test {} DEBUG util.py:445: GOT:Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-3c8141a8-da44-48d0-837b-0f20402d1db1 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:vendor_passthru\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-3c8141a8-da44-48d0-837b-0f20402d1db1 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:vendor_passthru\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path get /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/vendor_passthru?method=test DEBUG util.py:445: GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/vendor_passthru?method=test {} DEBUG util.py:445: GOT:Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-c595d0c7-e3fa-4f6d-8c58-08179cb67821 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:vendor_passthru\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-c595d0c7-e3fa-4f6d-8c58-08179cb67821 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:vendor_passthru\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path post /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/vendor_passthru?method=test DEBUG util.py:445: POST: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/vendor_passthru?method=test None DEBUG util.py:445: GOT:Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-994b2a1c-ec15-491b-852b-fbdf06015611 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-994b2a1c-ec15-491b-852b-fbdf06015611 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path get /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/traits DEBUG util.py:445: GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/traits {} DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00085_nodes_traits_get_member [0.051027s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00143_ports_detail_get_member [0.051380s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00255_allocations_allocation_id_patch_admin [0.056117s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00086_nodes_traits_get_reader [0.052691s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00300_node_history_get_admin [0.074803s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00263_nodes_allocation_get_observer [0.047407s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00001_values ... SKIPPED: These are fake reference values for YAML templating DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00087_nodes_traits_put_admin [0.050319s] ... 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-f3a755c6-7a8d-433a-a9c1-548462d5e83c DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"portgroups": [{"uuid": "6eb02b44-18a3-4659-8c0b-8d2802581ae4", "created_at": "2024-05-14T11:54:35.545231+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-f3a755c6-7a8d-433a-a9c1-548462d5e83c DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"portgroups": [{"uuid": "6eb02b44-18a3-4659-8c0b-8d2802581ae4", "created_at": "2024-05-14T11:54:35.545231+00:00", "updated_at": null, "address": "52:54:00:cf:2d:31", "extra": {}, "internal_info": {"bar": "buzz"}, "mode": "active-backup", "name": "fooname", "properties": {}, "standalone_ports_supported": true, "links": [{"href": "http://localhost/v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4", "rel": "self"}, {"href": "http://localhost/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4", "rel": "bookmark"}], "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "ports": [{"href": "http://localhost/v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4/ports", "rel": "self"}, {"href": "http://localhost/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4/ports", "rel": "bookmark"}]}]} DEBUG util.py:445: API ACL Testing Path get /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups DEBUG util.py:445: GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups {} DEBUG util.py:445: GOT:Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-fdcde603-b4ae-4694-87de-531f11fde71e DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"portgroups": [{"uuid": "6eb02b44-18a3-4659-8c0b-8d2802581ae4", "address": "52:54:00:cf:2d:31", "name": "fooname", "links": [{"href": "http://localhost/v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4", "rel": "self"}, {"href": "http://localhost/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4", "rel": "bookmark"}]}]} DEBUG util.py:445: ACL Test GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-fdcde603-b4ae-4694-87de-531f11fde71e DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"portgroups": [{"uuid": "6eb02b44-18a3-4659-8c0b-8d2802581ae4", "address": "52:54:00:cf:2d:31", "name": "fooname", "links": [{"href": "http://localhost/v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4", "rel": "self"}, {"href": "http://localhost/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4", "rel": "bookmark"}]}]} DEBUG util.py:445: API ACL Testing Path get /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups 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-e3671ec1-23cd-44f8-957a-180d9e4d81b9 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"portgroups": [{"uuid": "6eb02b44-18a3-4659-8c0b-8d2802581ae4", "address": "52:54:00:cf:2d:31", "name": "fooname", "links": [{"href": "http://localhost/v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4", "rel": "self"}, {"href": "http://localhost/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4", "rel": "bookmark"}]}]} DEBUG util.py:445: ACL Test GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-e3671ec1-23cd-44f8-957a-180d9e4d81b9 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"portgroups": [{"uuid": "6eb02b44-18a3-4659-8c0b-8d2802581ae4", "address": "52:54:00:cf:2d:31", "name": "fooname", "links": [{"href": "http://localhost/v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4", "rel": "self"}, {"href": "http://localhost/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4", "rel": "bookmark"}]}]} DEBUG util.py:445: API ACL Testing Path post /v1/ports DEBUG util.py:445: POST: /v1/ports {'node_uuid': '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-52473ebd-37ec-4736-a764-667550edeae7 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:port:create\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-52473ebd-37ec-4736-a764-667550edeae7 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:port:create\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path get /v1/ports/detail DEBUG util.py:445: GET: /v1/ports/detail {} DEBUG util.py:445: GOT:Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-5d71a3e5-9d8a-499e-b08b-e1e080d7cd5f DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"ports": [{"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2024-05-14T11:54:35.790338+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-5d71a3e5-9d8a-499e-b08b-e1e080d7cd5f DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"ports": [{"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2024-05-14T11:54:35.790338+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-0a4aa4a3-3087-4abd-97cf-3dbeb9725472 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 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.TestRBACScopedRequests.test_system_scoped_00148_ports_port_id_patch_admin [0.056421s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00149_ports_port_id_patch_member [0.055207s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00095_nodes_traits_trait_put_reader [0.050896s] ... ok DEBUG util.py:445: API ACL Testing Path get /v1/drivers/fake-driverz/vendor_passthru/methods DEBUG util.py:445: GET: /v1/drivers/fake-driverz/vendor_passthru/methods {} DEBUG util.py:445: GOT:Response: 500 Internal Server Error DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-d03c4564-f217-4ecf-838c-f85ef83c5415 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"baremetal:driver:vendor_passthru 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-de14b97d-e975-4d36-9b81-841fbf094ed4 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"baremetal:driver:vendor_passthru 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-e79a8474-c4bb-41bc-9502-2b8b626246c0 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"baremetal:driver:vendor_passthru 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-83577931-2e71-4cd6-9007-2daad0f80d9e DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"baremetal:driver:vendor_passthru 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-f04627b2-b01e-44d1-bc7b-f8ed1f4cbed7 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"baremetal:driver:vendor_passthru 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-ca910c63-ec46-4c27-9ebd-f20cefe4e8e0 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-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-60e4c6b4-c366-4cf4-a5b3-fdc127ac2ca8 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-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-cb1bb841-4c2d-4ff5-a4f4-b4f6504e638c DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"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-c13f7a4e-9e10-41e0-bd07-1437b3dba8db DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"baremetal:conductor:get 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-b0998857-068f-49bf-a03c-4ef8c7b9a015 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"baremetal:conductor:get 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-7ccf8e09-d7b0-418a-bb93-857f14667324 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:allocation:create\", \"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-659c2657-8f38-4f5d-8ffe-22a051007b51 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:allocation:list\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path patch /v1/allocations/9b96dd39-fe69-4cf8-9e34-6983ca6cbc99 DEBUG util.py:445: PATCH: /v1/allocations/9b96dd39-fe69-4cf8-9e34-6983ca6cbc99 [{'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-3b252e50-199a-406c-a488-3f50a449b353 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Allocation 9b96dd39-fe69-4cf8-9e34-6983ca6cbc99 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-86d8a48a-7c29-48b0-bb12-5c41693e2be6 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Resource could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path post /v1/deploy_templates DEBUG util.py:445: POST: /v1/deploy_templates {'name': 'CUSTOM_TEST_TEMPLATE', 'steps': [{'interface': 'deploy', 'step': 'noop', 'args': {}, 'priority': 0}]} DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00267_deploy_templates_post_admin [0.047375s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00097_nodes_traits_trait_delete_member [0.050277s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00268_deploy_templates_post_member [0.052363s] ... ok DEBUG util.py:445: API ACL Testing Path get /v1/chassis/detail DEBUG util.py:445: GET: /v1/chassis/detail {} DEBUG util.py:445: GOT:Response: 500 Internal Server Error DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-0db0ac77-ce53-45a3-a3b4-d1c2440ab026 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"baremetal:chassis:get 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-e8520258-dc68-4b1d-a925-d596fca3701b DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"baremetal:chassis:get 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-392c8a54-1291-4cdf-8d67-cbf0dbb4ac98 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"baremetal:chassis:update 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-33df2fa7-e2c3-417a-a6f6-440f6749b9c0 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"baremetal:chassis:delete 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-721c6bf2-d727-4bb0-b767-52ea9232fc58 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-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-5c4c68c5-a115-4437-9ebf-2f20cfd8bc5e DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "created_at": "2024-05-14T11:54:35.931737+00:00", "updated_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: {0} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00005_nodes_get_node_admin [0.056408s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00008_nodes_get_node_other_admin ... SKIPPED: Not implemented yet DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00155_nodes_ports_get_member [0.104851s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00100_nodes_vifs_get_member [0.049843s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00275_deploy_templates_deploy_template_id_get_observer [0.057143s] ... 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-5c4c68c5-a115-4437-9ebf-2f20cfd8bc5e DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "created_at": "2024-05-14T11:54:35.931737+00:00", "updated_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-f43416ab-7af9-4b1a-ba84-f1866171728b DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "created_at": "2024-05-14T11:54:36.024959+00:00", "updated_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: {0} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00015_nodes_node_ident_get_member [0.050739s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACScoped.test_scoped_canary_00297_chassis_chassis_id_delete_admin [0.046538s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00103_nodes_vifs_post_member [0.049955s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00156_nodes_ports_get_reader [0.072814s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00029_nodes_maintenance_put_member [0.049252s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00105_nodes_vifs_node_vif_ident_delete_admin [0.050042s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00032_nodes_maintenance_delete_member [0.049016s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00003_nodes_post_member [0.061949s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00157_nodes_ports_detail_get_admin [0.055457s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00107_nodes_vifs_node_vif_ident_delete_reader [0.050498s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00033_nodes_maintenance_delete_reader [0.051230s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00004_nodes_post_reader [0.060616s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00160_portgroups_ports_get_admin [0.054084s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00110_nodes_management_indicators_component_ind_ident_get_allow ... SKIPPED: Not implemented yet DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00042_nodes_management_boot_device_supported_get_reader [0.052689s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00009_nodes_get_admin [0.049076s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00164_portgroups_ports_detail_get_member [0.052384s] ... 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-5a2ed28b-afbc-4ced-b592-54706bdb7dcc DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"traits": ["trait1"]} DEBUG util.py:445: ACL Test GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-5a2ed28b-afbc-4ced-b592-54706bdb7dcc DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"traits": ["trait1"]} DEBUG util.py:445: API ACL Testing Path 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-be9d300a-dbee-4807-928f-7bf0e5402753 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"traits": ["trait1"]} DEBUG util.py:445: ACL Test GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-be9d300a-dbee-4807-928f-7bf0e5402753 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"traits": ["trait1"]} DEBUG util.py:445: API ACL Testing Path put /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/traits DEBUG util.py:445: PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/traits {'traits': ['CUSTOM_TRAIT1', 'HW_CPU_X86_VMX']} DEBUG util.py:445: GOT:Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-ed4b31a6-9b87-4d85-accd-4e9fb76818d0 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-ed4b31a6-9b87-4d85-accd-4e9fb76818d0 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path put /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/traits/CUSTOM_TRAIT2 DEBUG util.py:445: PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/traits/CUSTOM_TRAIT2 None DEBUG util.py:445: GOT:Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-421d6628-bf64-4ca5-92e9-e890d2f44e37 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:traits:set\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-421d6628-bf64-4ca5-92e9-e890d2f44e37 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:traits:set\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path delete /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/traits/trait DEBUG util.py:445: DELETE: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/traits/trait DEBUG util.py:445: GOT:Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-34cbe9ce-c0c5-486c-b4d4-a928086bf5dd DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-34cbe9ce-c0c5-486c-b4d4-a928086bf5dd DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path get /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/vifs DEBUG util.py:445: GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/vifs {} DEBUG util.py:445: GOT:Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-a259470c-5c23-41d0-b9f2-fc8ead06a685 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-a259470c-5c23-41d0-b9f2-fc8ead06a685 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path post /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/vifs DEBUG util.py:445: POST: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/vifs {'id': 'ee21d58f-5de2-4956-85ff-33935ea1ca00'} DEBUG util.py:445: GOT:Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-c20f7e04-f779-48ac-bc96-fb423f58309d DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-c20f7e04-f779-48ac-bc96-fb423f58309d DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path delete /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/vifs/ee21d58f-5de2-4956-85ff-33935ea1ca00 DEBUG util.py:445: DELETE: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/vifs/ee21d58f-5de2-4956-85ff-33935ea1ca00 DEBUG util.py:445: GOT:Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-f735d2c5-4d1a-4a77-8bcc-84a862ce00e4 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-f735d2c5-4d1a-4a77-8bcc-84a862ce00e4 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path delete /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/vifs/ee21d58f-5de2-4956-85ff-33935ea1ca00 DEBUG util.py:445: DELETE: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/vifs/ee21d58f-5de2-4956-85ff-33935ea1ca00 DEBUG util.py:445: GOT:Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-b03e4fe1-abaf-42f6-8fc1-1da25a201430 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:vif:detach\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-b03e4fe1-abaf-42f6-8fc1-1da25a201430 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:vif:detach\", \"debuginfo\": null}"} DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00114_portgroups_get_reader [0.077533s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00165_portgroups_ports_detail_get_reader [0.051007s] ... 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-40b2faa1-3990-4838-880e-e7cfe8417443 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"baremetal:deploy_template:create 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-7513cb4c-8603-47a7-839c-dc50c325aa78 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"baremetal:deploy_template:create 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/da2faa00-a21d-437b-8b5d-501d190e2e65 DEBUG util.py:445: GET: /v1/deploy_templates/da2faa00-a21d-437b-8b5d-501d190e2e65 {} DEBUG util.py:445: GOT:Response: 500 Internal Server Error DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-33e2fec7-1c7c-437c-b3c7-9ec7a885d365 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"baremetal:deploy_template:get 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-3209d899-9af1-4af8-839c-b40bbd5f042e DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"baremetal:chassis:delete requires a scope of ['system'], request was made with project scope.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path post /v1/nodes DEBUG util.py:445: POST: /v1/nodes {'name': 'node', 'driver': 'fake-driverz'} DEBUG util.py:445: GOT:Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-e78b4b86-81a8-4b55-9727-fea9a9a827fe DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:create\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-e78b4b86-81a8-4b55-9727-fea9a9a827fe DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:create\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path 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-ad65945a-7f20-483f-8115-93b2bea96547 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:create\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-ad65945a-7f20-483f-8115-93b2bea96547 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:create\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path get /v1/nodes DEBUG util.py:445: GET: /v1/nodes {} DEBUG util.py:445: GOT:Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-63199b21-46b8-452e-b75c-9c00c7993881 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"nodes": [{"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "instance_uuid": null, "maintenance": false, "power_state": null, "provision_state": "available", "name": null, "links": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "bookmark"}]}, {"uuid": "22e26c0b-03f2-4d2e-ae87-c02d7f33c000", "instance_uuid": null, "maintenance": false, "power_state": null, "provision_state": "available", "name": null, "links": [{"href": "http://localhost/v1/nodes/22e26c0b-03f2-4d2e-ae87-c02d7f33c000", "rel": "self"}, {"href": "http://localhost/nodes/22e26c0b-03f2-4d2e-ae87-c02d7f33c000", "rel": "bookmark"}]}, {"uuid": "18a552fb-dcd2-43bf-9302-e4c93287be11", "instance_uuid": null, "maintenance": false, "power_state": null, "provision_state": "available", "name": null, "links": [{"href": "http://localhost/v1/nodes/18a552fb-dcd2-43bf-9302-e4c93287be11", "rel": "self"}, {"href": "http://localhost/nodes/18a552fb-dcd2-43bf-9302-e4c93287be11", "rel": "bookmark"}]}]} DEBUG util.py:445: ACL Test GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-63199b21-46b8-452e-b75c-9c00c7993881 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"nodes": [{"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "instance_uuid": null, "maintenance": false, "power_state": null, "provision_state": "available", "name": null, "links": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "bookmark"}]}, {"uuid": "22e26c0b-03f2-4d2e-ae87-c02d7f33c000", "instance_uuid": null, "maintenance": false, "power_state": null, "provision_state": "available", "name": null, "links": [{"href": "http://localhost/v1/nodes/22e26c0b-03f2-4d2e-ae87-c02d7f33c000", "rel": "self"}, {"href": "http://localhost/nodes/22e26c0b-03f2-4d2e-ae87-c02d7f33c000", "rel": "bookmark"}]}, {"uuid": "18a552fb-dcd2-43bf-9302-e4c93287be11", "instance_uuid": null, "maintenance": false, "power_state": null, "provision_state": "available", "name": null, "links": [{"href": "http://localhost/v1/nodes/18a552fb-dcd2-43bf-9302-e4c93287be11", "rel": "self"}, {"href": "http://localhost/nodes/18a552fb-dcd2-43bf-9302-e4c93287be11", "rel": "bookmark"}]}]} DEBUG util.py:445: API ACL Testing Path get /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 DEBUG util.py:445: GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 {} DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00014_nodes_node_ident_get_admin [0.050398s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00050_nodes_states_power_put_member [0.051726s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00116_portgroups_post_member [0.050431s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00018_system_admin_can_patch_chassis [0.063239s] ... 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-f43416ab-7af9-4b1a-ba84-f1866171728b DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "created_at": "2024-05-14T11:54:36.024959+00:00", "updated_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/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-d3092477-e957-4aa2-8232-6f58c66af85e DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-d3092477-e957-4aa2-8232-6f58c66af85e DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path delete /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/maintenance DEBUG util.py:445: DELETE: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/maintenance DEBUG util.py:445: GOT:Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-5058c61f-63a4-4d1b-9fc7-c21adb5ec429 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-5058c61f-63a4-4d1b-9fc7-c21adb5ec429 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path delete /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/maintenance DEBUG util.py:445: DELETE: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/maintenance DEBUG util.py:445: GOT:Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-0b0005dd-4686-425c-9d54-e65d7ae84b98 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:clear_maintenance\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-0b0005dd-4686-425c-9d54-e65d7ae84b98 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:clear_maintenance\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path 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-ef157bd3-9491-43b1-bc8c-c13c4374194c DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:get_boot_device\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-ef157bd3-9491-43b1-bc8c-c13c4374194c DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:get_boot_device\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path put /v1/nodes/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-48927818-b348-47bf-80a5-a7ef16b576ba DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-48927818-b348-47bf-80a5-a7ef16b576ba DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path put /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/power DEBUG util.py:445: PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/power {'target': 'power on'} DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00051_nodes_states_power_put_reader [0.069792s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00064_nodes_states_console_get_admin [0.054693s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00019_system_member_can_patch_conductor_group [0.064121s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00121_portgroups_portgroup_ident_get_admin [0.052758s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00123_portgroups_portgroup_ident_get_reader [0.051264s] ... 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-0a4aa4a3-3087-4abd-97cf-3dbeb9725472 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path patch /v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 DEBUG util.py:445: PATCH: /v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 [{'op': 'replace', 'path': '/extra', 'value': {'test': 'testing'}}] DEBUG util.py:445: GOT:Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-2a7cb616-a920-4d6f-b57f-0bb87333bb03 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-2a7cb616-a920-4d6f-b57f-0bb87333bb03 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path get /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports DEBUG util.py:445: GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports {} DEBUG util.py:445: GOT:Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-48426337-5717-4f1c-a8ad-2ef42246312a DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"ports": [{"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "address": "52:54:00:cf:2d:31", "links": [{"href": "http://localhost/v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "self"}, {"href": "http://localhost/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "bookmark"}]}]} DEBUG util.py:445: ACL Test GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-48426337-5717-4f1c-a8ad-2ef42246312a DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"ports": [{"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "address": "52:54:00:cf:2d:31", "links": [{"href": "http://localhost/v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "self"}, {"href": "http://localhost/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "bookmark"}]}]} DEBUG util.py:445: API ACL Testing Path get /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports 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-6c099698-046a-4c2d-9812-3f2393eebec2 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"ports": [{"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "address": "52:54:00:cf:2d:31", "links": [{"href": "http://localhost/v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "self"}, {"href": "http://localhost/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "bookmark"}]}]} DEBUG util.py:445: ACL Test GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-6c099698-046a-4c2d-9812-3f2393eebec2 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"ports": [{"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "address": "52:54:00:cf:2d:31", "links": [{"href": "http://localhost/v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "self"}, {"href": "http://localhost/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "bookmark"}]}]} DEBUG util.py:445: API ACL Testing Path get /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports/detail DEBUG util.py:445: GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports/detail {} DEBUG util.py:445: GOT:Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-40c457d0-554f-4944-a4ab-644394119d81 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"ports": [{"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2024-05-14T11:54:36.130583+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-40c457d0-554f-4944-a4ab-644394119d81 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"ports": [{"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2024-05-14T11:54:36.130583+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-991c0d63-b20f-4590-9d89-8431c0db42be DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"ports": []} DEBUG util.py:445: ACL Test GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-991c0d63-b20f-4590-9d89-8431c0db42be DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"ports": []} DEBUG util.py:445: API ACL Testing Path get /v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4/ports/detail DEBUG util.py:445: GET: /v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4/ports/detail {} DEBUG util.py:445: GOT:Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-f19e54f0-3186-4b69-b72b-452f2b34ab62 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"ports": []} DEBUG util.py:445: ACL Test GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-f19e54f0-3186-4b69-b72b-452f2b34ab62 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"ports": []} DEBUG util.py:445: API ACL Testing Path get /v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4/ports/detail DEBUG util.py:445: GET: /v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4/ports/detail {} DEBUG util.py:445: GOT:Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-0bc6976d-4026-4d5d-a916-4fc8172e78a5 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"ports": []} DEBUG util.py:445: ACL Test GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-0bc6976d-4026-4d5d-a916-4fc8172e78a5 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"ports": []} DEBUG util.py:445: API ACL Testing Path get /v1/volume DEBUG util.py:445: GET: /v1/volume {} DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00166_volume_get_admin [0.084152s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00171_volume_connectors_get_reader [0.061355s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00124_portgroups_portgroup_ident_patch_admin [0.050715s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00067_nodes_states_console_put_member [0.073803s] ... 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-1b46371a-bcb4-4450-a5c9-416c2341940a DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "created_at": "2024-05-14T11:54:36.278568+00:00", "updated_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-1b46371a-bcb4-4450-a5c9-416c2341940a DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "created_at": "2024-05-14T11:54:36.278568+00:00", "updated_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-c0ef195b-311d-4993-be6b-11255fbd7b33 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-c0ef195b-311d-4993-be6b-11255fbd7b33 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path patch /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 DEBUG util.py:445: PATCH: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 [{'op': 'replace', 'path': '/conductor_group', 'value': 'DC04-ROW39'}] DEBUG util.py:445: GOT:Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-7f017409-6691-40c2-9e29-8428a473a34e DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-7f017409-6691-40c2-9e29-8428a473a34e DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path patch /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 DEBUG util.py:445: PATCH: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 [{'op': 'replace', 'path': '/extra', 'value': {'test': 'testing'}}] DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00021_nodes_node_ident_patch_reader [0.070686s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00022_nodes_node_ident_delete_admin [0.047547s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00071_nodes_vendor_passthru_methods_get_reader [0.062500s] ... ok DEBUG util.py:445: API ACL Testing Path get /v1/portgroups DEBUG util.py:445: GET: /v1/portgroups {} DEBUG util.py:445: GOT:Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-c50852d9-470f-4334-bfd0-c865187ceb55 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"portgroups": [{"uuid": "6eb02b44-18a3-4659-8c0b-8d2802581ae4", "address": "52:54:00:cf:2d:31", "name": "fooname", "links": [{"href": "http://localhost/v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4", "rel": "self"}, {"href": "http://localhost/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4", "rel": "bookmark"}]}]} DEBUG util.py:445: ACL Test GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-c50852d9-470f-4334-bfd0-c865187ceb55 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"portgroups": [{"uuid": "6eb02b44-18a3-4659-8c0b-8d2802581ae4", "address": "52:54:00:cf:2d:31", "name": "fooname", "links": [{"href": "http://localhost/v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4", "rel": "self"}, {"href": "http://localhost/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4", "rel": "bookmark"}]}]} DEBUG util.py:445: API ACL Testing Path post /v1/portgroups DEBUG util.py:445: POST: /v1/portgroups {'node_uuid': '18a552fb-dcd2-43bf-9302-e4c93287be11'} DEBUG util.py:445: GOT:Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-bf676287-b7af-41f4-a1c7-d1b13c090082 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:portgroup:create\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-bf676287-b7af-41f4-a1c7-d1b13c090082 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:portgroup:create\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path get /v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4 DEBUG util.py:445: GET: /v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4 {} DEBUG util.py:445: GOT:Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-42de761f-64b1-4eee-a2fa-c13ff0ab3ebf DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"uuid": "6eb02b44-18a3-4659-8c0b-8d2802581ae4", "created_at": "2024-05-14T11:54:36.384819+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-42de761f-64b1-4eee-a2fa-c13ff0ab3ebf DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"uuid": "6eb02b44-18a3-4659-8c0b-8d2802581ae4", "created_at": "2024-05-14T11:54:36.384819+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-89d82137-7611-4818-b2ae-488809bf83d5 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"uuid": "6eb02b44-18a3-4659-8c0b-8d2802581ae4", "created_at": "2024-05-14T11:54:36.437226+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-89d82137-7611-4818-b2ae-488809bf83d5 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"uuid": "6eb02b44-18a3-4659-8c0b-8d2802581ae4", "created_at": "2024-05-14T11:54:36.437226+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-d0bb203b-ccb9-44db-9e62-42be495f4b4f DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-d0bb203b-ccb9-44db-9e62-42be495f4b4f DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path patch /v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4 DEBUG util.py:445: PATCH: /v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4 [{'op': 'replace', 'path': '/extra', 'value': {'test': 'testing'}}] DEBUG util.py:445: GOT:Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-e5c15047-fb85-4654-bfeb-429508f14e83 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00125_portgroups_portgroup_ident_patch_member [0.051828s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00127_portgroups_portgroup_ident_delete_admin [0.048008s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00082_nodes_vendor_passthru_delete_member [0.054466s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00026_nodes_validate_get_member [0.073276s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00128_portgroups_portgroup_ident_delete_member [0.048921s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00030_nodes_maintenance_put_reader [0.046713s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00083_nodes_vendor_passthru_delete_reader [0.049330s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00177_volume_volume_connector_id_get_reader [0.219914s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00134_nodes_portgroups_detail_get_member [0.051807s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00034_nodes_management_boot_device_put_admin [0.048227s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00084_nodes_traits_get_admin [0.052032s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00178_volume_volume_connector_id_patch_admin [0.053400s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00137_ports_get_member [0.048864s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00035_nodes_management_boot_device_put_member [0.047835s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00089_nodes_traits_put_reader [0.050429s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00189_volume_targets_post_reader [0.051960s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00138_ports_get_reader [0.049937s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00037_nodes_management_boot_device_get_admin [0.047920s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00141_ports_post_reader [0.049644s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00039_nodes_management_boot_device_get_reader [0.048974s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00193_volume_volume_target_id_patch_admin [0.075871s] ... 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-5b45aee8-9d61-47f5-9fde-76ede7a58180 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:set_power_state\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-5b45aee8-9d61-47f5-9fde-76ede7a58180 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:set_power_state\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path 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-94289c5c-7b21-4412-a02b-dccc0eff33f0 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:get_console\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-94289c5c-7b21-4412-a02b-dccc0eff33f0 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:get_console\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path put /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/console DEBUG util.py:445: PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/console {'enabled': True} DEBUG util.py:445: GOT:Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-43859e73-a6d0-446b-8599-ca581a15ff26 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-43859e73-a6d0-446b-8599-ca581a15ff26 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path get /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/vendor_passthru/methods DEBUG util.py:445: GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/vendor_passthru/methods {} DEBUG util.py:445: GOT:Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-6878bfd5-505f-48e5-9b88-ed224007d870 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:vendor_passthru\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-6878bfd5-505f-48e5-9b88-ed224007d870 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:vendor_passthru\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path delete /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/vendor_passthru?method=test DEBUG util.py:445: DELETE: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/vendor_passthru?method=test DEBUG util.py:445: GOT:Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-62bf8116-ce43-40c8-8031-84ef2b683ec1 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:vendor_passthru\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-62bf8116-ce43-40c8-8031-84ef2b683ec1 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:vendor_passthru\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path delete /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/vendor_passthru?method=test DEBUG util.py:445: DELETE: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/vendor_passthru?method=test DEBUG util.py:445: GOT:Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-95a88b28-7597-448e-9e58-1a6d5bb3f8f8 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:vendor_passthru\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-95a88b28-7597-448e-9e58-1a6d5bb3f8f8 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:vendor_passthru\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path get /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/traits DEBUG util.py:445: GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/traits {} DEBUG util.py:445: GOT:Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-65d4caa0-0c51-41b2-92a3-5a8464e19a0b DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"traits": ["trait1"]} DEBUG util.py:445: ACL Test GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-65d4caa0-0c51-41b2-92a3-5a8464e19a0b DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"traits": ["trait1"]} DEBUG util.py:445: API ACL Testing Path put /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/traits DEBUG util.py:445: PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/traits {'traits': ['CUSTOM_TRAIT1', 'HW_CPU_X86_VMX']} DEBUG util.py:445: GOT:Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-3ee95d8a-821c-432a-b0c7-f2dfae6dbe97 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:traits:set\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-3ee95d8a-821c-432a-b0c7-f2dfae6dbe97 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:traits:set\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path delete /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/traits/trait DEBUG util.py:445: DELETE: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/traits/trait DEBUG util.py:445: GOT:Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-968f7743-514d-4236-aa84-752d1e1c3e1f DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00090_nodes_traits_delete_admin [0.050486s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00093_nodes_traits_trait_put_admin [0.074424s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00094_nodes_traits_trait_put_member [0.050814s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00096_nodes_traits_trait_delete_admin [0.049061s] ... 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-f9e69f51-3b60-4b15-aeb4-3e95772d8a85 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:update_extra\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-f9e69f51-3b60-4b15-aeb4-3e95772d8a85 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:update_extra\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path delete /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 DEBUG util.py:445: DELETE: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 DEBUG util.py:445: GOT:Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-e92c2cae-2c0b-4b15-88fd-82b4256375e6 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-e92c2cae-2c0b-4b15-88fd-82b4256375e6 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path get /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/validate DEBUG util.py:445: GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/validate {} DEBUG util.py:445: GOT:Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-7a0d9ece-55d5-4c5c-a91e-a86e4e8a796e DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-7a0d9ece-55d5-4c5c-a91e-a86e4e8a796e DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path put /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/maintenance DEBUG util.py:445: PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/maintenance None DEBUG util.py:445: GOT:Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-d4cb5c16-f2ca-45c3-b5cb-5d15462e7264 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:set_maintenance\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-d4cb5c16-f2ca-45c3-b5cb-5d15462e7264 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:set_maintenance\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path put /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/management/boot_device DEBUG util.py:445: PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/management/boot_device {'boot_device': 'pxe'} DEBUG util.py:445: GOT:Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-8c48719f-1bc0-46c7-9af7-214f90019835 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-8c48719f-1bc0-46c7-9af7-214f90019835 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path put /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/management/boot_device DEBUG util.py:445: PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/management/boot_device {'boot_device': 'pxe'} DEBUG util.py:445: GOT:Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-6be77a12-88de-498f-89a0-86efd6ec63b4 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-6be77a12-88de-498f-89a0-86efd6ec63b4 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path get /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/management/boot_device DEBUG util.py:445: GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/management/boot_device {} DEBUG util.py:445: GOT:Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-28434269-1422-49f7-92ca-7a5efd61c2fe DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-28434269-1422-49f7-92ca-7a5efd61c2fe DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path get /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/management/boot_device DEBUG util.py:445: GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/management/boot_device {} DEBUG util.py:445: GOT:Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-d9b4f294-8560-4b5a-9afa-0289d5bb69fb DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:get_boot_device\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-d9b4f294-8560-4b5a-9afa-0289d5bb69fb DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:get_boot_device\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path get /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/management/boot_device/supported DEBUG util.py:445: GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/management/boot_device/supported {} DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00041_nodes_management_boot_device_supported_get_member [0.064802s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00043_nodes_management_inject_nmi_put_admin [0.054065s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00049_nodes_states_power_put_admin [0.058507s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00098_nodes_traits_trait_delete_reader [0.051409s] ... 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-e5c15047-fb85-4654-bfeb-429508f14e83 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path delete /v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4 DEBUG util.py:445: DELETE: /v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4 DEBUG util.py:445: GOT:Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-87e9abeb-2f7f-4a44-820b-ec5e594c7aa3 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-87e9abeb-2f7f-4a44-820b-ec5e594c7aa3 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path delete /v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4 DEBUG util.py:445: DELETE: /v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4 DEBUG util.py:445: GOT:Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-c8595086-4670-4f48-ae5a-dff414b81126 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:portgroup:delete\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-c8595086-4670-4f48-ae5a-dff414b81126 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:portgroup:delete\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path get /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups/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-d846d568-069d-4145-bbe5-75eab15ab840 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"portgroups": [{"uuid": "6eb02b44-18a3-4659-8c0b-8d2802581ae4", "created_at": "2024-05-14T11:54:36.687416+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-d846d568-069d-4145-bbe5-75eab15ab840 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"portgroups": [{"uuid": "6eb02b44-18a3-4659-8c0b-8d2802581ae4", "created_at": "2024-05-14T11:54:36.687416+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-e6792a2e-9ed1-4e27-9298-7e18896b4dae DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"ports": [{"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "address": "52:54:00:cf:2d:31", "links": [{"href": "http://localhost/v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "self"}, {"href": "http://localhost/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "bookmark"}]}]} DEBUG util.py:445: ACL Test GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-e6792a2e-9ed1-4e27-9298-7e18896b4dae DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"ports": [{"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "address": "52:54:00:cf:2d:31", "links": [{"href": "http://localhost/v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "self"}, {"href": "http://localhost/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "bookmark"}]}]} DEBUG util.py:445: API ACL Testing Path get /v1/ports DEBUG util.py:445: GET: /v1/ports {} DEBUG util.py:445: GOT:Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-0adef31d-35c2-4ee9-a0f0-256ad2057356 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"ports": [{"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "address": "52:54:00:cf:2d:31", "links": [{"href": "http://localhost/v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "self"}, {"href": "http://localhost/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "bookmark"}]}]} DEBUG util.py:445: ACL Test GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-0adef31d-35c2-4ee9-a0f0-256ad2057356 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"ports": [{"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "address": "52:54:00:cf:2d:31", "links": [{"href": "http://localhost/v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "self"}, {"href": "http://localhost/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "bookmark"}]}]} DEBUG util.py:445: API ACL Testing Path post /v1/ports DEBUG util.py:445: POST: /v1/ports {'node_uuid': '68a552fb-dcd2-43bf-9302-e4c93287be16', 'address': '00:01:02:03:04:05'} DEBUG util.py:445: GOT:Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-50a4aff5-a868-4729-a3db-9a655d36d6de DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:port:create\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-50a4aff5-a868-4729-a3db-9a655d36d6de DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:port:create\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path get /v1/ports/detail DEBUG util.py:445: GET: /v1/ports/detail {} DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00142_ports_detail_get_admin [0.048933s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00153_ports_port_id_delete_reader [0.061165s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00158_nodes_ports_detail_get_member [0.070405s] ... 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-a33f59ab-4eb0-4054-b23f-8ae64df55aad DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"links": [{"href": "http://localhost/v1/volume/", "rel": "self"}, {"href": "http://localhost/volume/", "rel": "bookmark"}], "connectors": [{"href": "http://localhost/v1/volume/connectors", "rel": "self"}, {"href": "http://localhost/volume/connectors", "rel": "bookmark"}], "targets": [{"href": "http://localhost/v1/volume/targets", "rel": "self"}, {"href": "http://localhost/volume/targets", "rel": "bookmark"}]} DEBUG util.py:445: ACL Test GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-a33f59ab-4eb0-4054-b23f-8ae64df55aad DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"links": [{"href": "http://localhost/v1/volume/", "rel": "self"}, {"href": "http://localhost/volume/", "rel": "bookmark"}], "connectors": [{"href": "http://localhost/v1/volume/connectors", "rel": "self"}, {"href": "http://localhost/volume/connectors", "rel": "bookmark"}], "targets": [{"href": "http://localhost/v1/volume/targets", "rel": "self"}, {"href": "http://localhost/volume/targets", "rel": "bookmark"}]} DEBUG util.py:445: API ACL Testing Path get /v1/volume/connectors DEBUG util.py:445: GET: /v1/volume/connectors {} DEBUG util.py:445: GOT:Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-6ae980c8-e673-430a-8c0b-edca2a5dd132 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"connectors": [{"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "connector_id": "iqn.2012-06.com.example:initiator", "type": "iqn", "links": [{"href": "http://localhost/v1/volume/connectors/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "self"}, {"href": "http://localhost/volume/connectors/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "bookmark"}], "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123"}]} DEBUG util.py:445: ACL Test GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-6ae980c8-e673-430a-8c0b-edca2a5dd132 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"connectors": [{"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "connector_id": "iqn.2012-06.com.example:initiator", "type": "iqn", "links": [{"href": "http://localhost/v1/volume/connectors/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "self"}, {"href": "http://localhost/volume/connectors/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "bookmark"}], "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123"}]} DEBUG util.py:445: API ACL Testing Path get /v1/volume/connectors/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-766b3399-2aed-451b-8626-c4f63cd3303d DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2024-05-14T11:54:36.494269+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-766b3399-2aed-451b-8626-c4f63cd3303d DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2024-05-14T11:54:36.494269+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-694363b9-bac8-4b6f-a273-cb6684a0ca07 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-694363b9-bac8-4b6f-a273-cb6684a0ca07 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path post /v1/volume/targets DEBUG util.py:445: POST: /v1/volume/targets {'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'volume_type': 'iscsi', 'boot_index': 1, 'volume_id': 'test-id'} DEBUG util.py:445: GOT:Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-3bce7179-0a8d-4c78-8ead-8dcd5195a3ec DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:volume:create\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-3bce7179-0a8d-4c78-8ead-8dcd5195a3ec DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:volume:create\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path patch /v1/volume/targets/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 DEBUG util.py:445: PATCH: /v1/volume/targets/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 [{'op': 'replace', 'path': '/extra', 'value': {'test': 'testing'}}] DEBUG util.py:445: GOT:Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-889384f3-f776-44ed-8044-c56425f08c4a DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-889384f3-f776-44ed-8044-c56425f08c4a DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path delete /v1/volume/targets/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 DEBUG util.py:445: DELETE: /v1/volume/targets/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 DEBUG util.py:445: GOT:Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-d9818aab-34fb-4c0e-839c-9f4107dcb4d9 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:volume:delete\", \"debuginfo\": null}"} DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00197_volume_volume_target_id_delete_reader [0.052731s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00203_nodes_volume_connectors_get_reader [0.070935s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00207_drivers_get_admin [0.047578s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00209_drivers_get_reader [0.057289s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00061_nodes_states_raid_put_admin [0.057608s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00109_nodes_management_indicators_component_get_allow ... SKIPPED: Not implemented yet DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00172_volume_connectors_post_admin [0.062885s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00216_drivers_raid_logical_disk_properties_get_admin [0.050833s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00118_portgroups_detail_get_admin [0.061781s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00062_nodes_states_raid_put_member [0.057518s] ... 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-eed3dd04-514f-4c51-a7cd-9df32b0b94c2 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"ports": [{"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2024-05-14T11:54:36.888881+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-eed3dd04-514f-4c51-a7cd-9df32b0b94c2 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"ports": [{"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2024-05-14T11:54:36.888881+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: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-fefbf0ad-bb05-416a-ab52-3b399fda0843 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:port:delete\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-fefbf0ad-bb05-416a-ab52-3b399fda0843 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:port:delete\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path get /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports/detail DEBUG util.py:445: GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports/detail {} DEBUG util.py:445: GOT:Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-5c05f0ac-d450-4402-a333-a1233ecb0648 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"ports": [{"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2024-05-14T11:54:37.014222+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-5c05f0ac-d450-4402-a333-a1233ecb0648 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"ports": [{"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2024-05-14T11:54:37.014222+00:00", "updated_at": null, "address": "52:54:00:cf:2d:31", "extra": {}, "internal_info": {"tenant_vif_port_id": "ee21d58f-5de2-4956-85ff-33935ea1ca00"}, "is_smartnic": false, "local_link_connection": {"switch_id": "0a:1b:2c:3d:4e:5f", "port_id": "Ethernet3/1", "switch_info": "switch1"}, "physical_network": null, "pxe_enabled": true, "links": [{"href": "http://localhost/v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "self"}, {"href": "http://localhost/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "bookmark"}], "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "portgroup_uuid": null}]} DEBUG util.py:445: API ACL Testing Path post /v1/volume/connectors DEBUG util.py:445: POST: /v1/volume/connectors {'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'type': 'ip', 'connector_id': '192.168.1.100'} DEBUG util.py:445: GOT:Response: 201 Created DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Location: http://localhost/v1/volume/connectors/ad933363-4fe9-475c-9c2d-662231068647 DEBUG util.py:445: Openstack-Request-Id: req-b795211b-d5e2-4660-aeb7-b6f9a2b829f0 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"uuid": "ad933363-4fe9-475c-9c2d-662231068647", "created_at": "2024-05-14T11:54:37.103120+00:00", "updated_at": null, "connector_id": "192.168.1.100", "extra": {}, "type": "ip", "links": [{"href": "http://localhost/v1/volume/connectors/ad933363-4fe9-475c-9c2d-662231068647", "rel": "self"}, {"href": "http://localhost/volume/connectors/ad933363-4fe9-475c-9c2d-662231068647", "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/ad933363-4fe9-475c-9c2d-662231068647 DEBUG util.py:445: Openstack-Request-Id: req-b795211b-d5e2-4660-aeb7-b6f9a2b829f0 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"uuid": "ad933363-4fe9-475c-9c2d-662231068647", "created_at": "2024-05-14T11:54:37.103120+00:00", "updated_at": null, "connector_id": "192.168.1.100", "extra": {}, "type": "ip", "links": [{"href": "http://localhost/v1/volume/connectors/ad933363-4fe9-475c-9c2d-662231068647", "rel": "self"}, {"href": "http://localhost/volume/connectors/ad933363-4fe9-475c-9c2d-662231068647", "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-039bbe6a-1973-4a0a-a508-77a59579f5a5 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2024-05-14T11:54:37.138886+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: {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00175_volume_volume_connector_id_get_admin [0.054769s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00217_drivers_raid_logical_disk_properties_get_member [0.049370s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00065_nodes_states_console_get_member [0.053790s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00180_volume_volume_connector_id_patch_reader [0.076614s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00066_nodes_states_console_put_admin [0.054115s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00221_drivers_vendor_passthru_methods_get_reader [0.048948s] ... 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-968f7743-514d-4236-aa84-752d1e1c3e1f DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path put /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/traits/CUSTOM_TRAIT2 DEBUG util.py:445: PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/traits/CUSTOM_TRAIT2 None DEBUG util.py:445: GOT:Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-585f406f-acc4-40cb-bdbd-0d56c63b3ba2 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-585f406f-acc4-40cb-bdbd-0d56c63b3ba2 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path put /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/traits/CUSTOM_TRAIT2 DEBUG util.py:445: PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/traits/CUSTOM_TRAIT2 None DEBUG util.py:445: GOT:Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-e2b36304-4093-438c-846b-4b664dbba055 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-e2b36304-4093-438c-846b-4b664dbba055 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path delete /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/traits/trait DEBUG util.py:445: DELETE: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/traits/trait DEBUG util.py:445: GOT:Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-6024969d-0d59-4f93-9c78-13acc2f9edff DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-6024969d-0d59-4f93-9c78-13acc2f9edff DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path delete /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/traits/trait DEBUG util.py:445: DELETE: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/traits/trait DEBUG util.py:445: GOT:Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-f67a6815-321a-4170-a798-c79c2b26479b DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:traits:delete\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-f67a6815-321a-4170-a798-c79c2b26479b DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:traits:delete\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path 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-ac17712b-aae2-4b9e-9eb1-6db00ad80c2c DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"portgroups": [{"uuid": "6eb02b44-18a3-4659-8c0b-8d2802581ae4", "created_at": "2024-05-14T11:54:37.140537+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-ac17712b-aae2-4b9e-9eb1-6db00ad80c2c DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"portgroups": [{"uuid": "6eb02b44-18a3-4659-8c0b-8d2802581ae4", "created_at": "2024-05-14T11:54:37.140537+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-afdff69f-d4df-42a9-a1c4-36d561426d48 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"portgroups": [{"uuid": "6eb02b44-18a3-4659-8c0b-8d2802581ae4", "created_at": "2024-05-14T11:54:37.190676+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_00119_portgroups_detail_get_member [0.060977s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00222_drivers_vendor_passthru_get_admin [0.048791s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00122_portgroups_portgroup_ident_get_member [0.079527s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00183_volume_volume_connector_id_delete_reader [0.058547s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00068_nodes_states_console_put_reader [0.057996s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00224_drivers_vendor_passthru_get_reader [0.047573s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00184_volume_targets_get_admin [0.050722s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00126_portgroups_portgroup_ident_patch_reader [0.052606s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00132_nodes_portgroups_get_reader [0.055011s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00187_volume_targets_post_admin [0.053925s] ... 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-b97316cb-2f6a-4be3-82fc-23831e8d5734 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-b97316cb-2f6a-4be3-82fc-23831e8d5734 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path put /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/management/inject_nmi DEBUG util.py:445: PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/management/inject_nmi {} DEBUG util.py:445: GOT:Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-b855aa11-6e75-454a-b73e-d064f4d52699 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-b855aa11-6e75-454a-b73e-d064f4d52699 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path put /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/power DEBUG util.py:445: PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/power {'target': 'power on'} DEBUG util.py:445: GOT:Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-07d10566-5923-4a0b-a3f9-e73d48a5e13c DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-07d10566-5923-4a0b-a3f9-e73d48a5e13c DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path put /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/raid DEBUG util.py:445: PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/raid {'target_raid_config': {'logical_disks': [{'size_gb': 500, 'is_root_volume': True, 'raid_level': 1}]}} DEBUG util.py:445: GOT:Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-c9821dd9-f1e4-4174-9605-cd248799f7b5 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-c9821dd9-f1e4-4174-9605-cd248799f7b5 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path put /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/raid DEBUG util.py:445: PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/raid {'target_raid_config': {'logical_disks': [{'size_gb': 500, 'is_root_volume': True, 'raid_level': 1}]}} DEBUG util.py:445: GOT:Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-8ad6a96c-fbee-4591-98cd-e55b48738332 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-8ad6a96c-fbee-4591-98cd-e55b48738332 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path get /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/console DEBUG util.py:445: GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/console {} DEBUG util.py:445: GOT:Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-bdba81b6-df71-41e9-8b70-93323a7fe2fa DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-bdba81b6-df71-41e9-8b70-93323a7fe2fa DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path put /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/console DEBUG util.py:445: PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/console {'enabled': True} DEBUG util.py:445: GOT:Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-b145333d-d933-4c56-a00b-9efdc811ab00 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-b145333d-d933-4c56-a00b-9efdc811ab00 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path put /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/console DEBUG util.py:445: PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/console {'enabled': True} DEBUG util.py:445: GOT:Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-90ee6803-1dce-4baf-893d-cfbba79fe53d DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:set_console_state\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-90ee6803-1dce-4baf-893d-cfbba79fe53d DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:set_console_state\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path 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: {1} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00076_nodes_vendor_passthru_post_member [0.048075s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00080_nodes_vendor_passthru_put_reader [0.047981s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00188_volume_targets_post_member [0.053434s] ... 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-d9818aab-34fb-4c0e-839c-9f4107dcb4d9 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:volume:delete\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path get /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume/connectors DEBUG util.py:445: GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume/connectors {} DEBUG util.py:445: GOT:Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-6d686271-0bfa-49ff-b200-66fd5c765411 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"connectors": [{"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "connector_id": "iqn.2012-06.com.example:initiator", "type": "iqn", "links": [{"href": "http://localhost/v1/volume/connectors/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "self"}, {"href": "http://localhost/volume/connectors/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "bookmark"}], "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123"}]} DEBUG util.py:445: ACL Test GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-6d686271-0bfa-49ff-b200-66fd5c765411 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"connectors": [{"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "connector_id": "iqn.2012-06.com.example:initiator", "type": "iqn", "links": [{"href": "http://localhost/v1/volume/connectors/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "self"}, {"href": "http://localhost/volume/connectors/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "bookmark"}], "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123"}]} DEBUG util.py:445: API ACL Testing Path get /v1/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-6add2db4-570d-4c66-ba63-1bb2bacbbfbe DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"drivers": []} DEBUG util.py:445: ACL Test GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-6add2db4-570d-4c66-ba63-1bb2bacbbfbe DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"drivers": []} DEBUG util.py:445: API ACL Testing Path get /v1/drivers DEBUG util.py:445: GET: /v1/drivers {} DEBUG util.py:445: GOT:Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-5931414f-e29a-4e69-8cc1-ff2c43c23e7d DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"drivers": []} DEBUG util.py:445: ACL Test GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-5931414f-e29a-4e69-8cc1-ff2c43c23e7d DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"drivers": []} DEBUG util.py:445: API ACL Testing Path get /v1/drivers/fake-driverz/raid/logical_disk_properties DEBUG util.py:445: GET: /v1/drivers/fake-driverz/raid/logical_disk_properties {} DEBUG util.py:445: GOT:Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-75b852ac-e2b2-4e93-a771-7680ca3fa825 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"No conductors registered.\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-75b852ac-e2b2-4e93-a771-7680ca3fa825 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"No conductors registered.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path get /v1/drivers/fake-driverz/raid/logical_disk_properties DEBUG util.py:445: GET: /v1/drivers/fake-driverz/raid/logical_disk_properties {} DEBUG util.py:445: GOT:Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-f3b65345-5425-4ebb-9331-c2bfe2ace653 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"No conductors registered.\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-f3b65345-5425-4ebb-9331-c2bfe2ace653 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"No conductors registered.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path get /v1/drivers/fake-driverz/vendor_passthru/methods DEBUG util.py:445: GET: /v1/drivers/fake-driverz/vendor_passthru/methods {} DEBUG util.py:445: GOT:Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-fc2b21b2-e3b2-47d7-a41d-3cdef8b40a32 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:driver:vendor_passthru\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-fc2b21b2-e3b2-47d7-a41d-3cdef8b40a32 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:driver:vendor_passthru\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path get /v1/drivers/fake-driverz/vendor_passthru?method=test DEBUG util.py:445: GET: /v1/drivers/fake-driverz/vendor_passthru?method=test {} DEBUG util.py:445: GOT:Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-ac80aac8-97cc-4d6b-9e59-6d8e47748339 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"No conductors registered.\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-ac80aac8-97cc-4d6b-9e59-6d8e47748339 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"No conductors registered.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path get /v1/drivers/fake-driverz/vendor_passthru?method=test DEBUG util.py:445: GET: /v1/drivers/fake-driverz/vendor_passthru?method=test {} DEBUG util.py:445: GOT:Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-22bf1739-3ba0-48f1-8791-15c6410b00b8 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:driver:vendor_passthru\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-22bf1739-3ba0-48f1-8791-15c6410b00b8 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:driver:vendor_passthru\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path delete /v1/drivers/fake-driverz/vendor_passthru?method=test DEBUG util.py:445: DELETE: /v1/drivers/fake-driverz/vendor_passthru?method=test DEBUG util.py:445: GOT:Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-efae86f0-8918-4ae2-b0e5-22c621062281 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"No conductors registered.\", \"debuginfo\": null}"} DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00231_drivers_vendor_passthru_delete_admin [0.072289s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00233_nodes_bios_get_admin [0.054009s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00136_ports_get_admin [0.068082s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00088_nodes_traits_put_member [0.076493s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00235_nodes_bios_get_reader [0.052366s] ... 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-039bbe6a-1973-4a0a-a508-77a59579f5a5 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2024-05-14T11:54:37.138886+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: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-03240bf0-9c0e-4eef-8f18-3ce20bddda1c DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:volume:update\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-03240bf0-9c0e-4eef-8f18-3ce20bddda1c DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:volume:update\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path delete /v1/volume/connectors/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 DEBUG util.py:445: DELETE: /v1/volume/connectors/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 DEBUG util.py:445: GOT:Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-fa21962b-f588-4ef0-a30f-446c30ec6d20 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:volume:delete\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-fa21962b-f588-4ef0-a30f-446c30ec6d20 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:volume:delete\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path get /v1/volume/targets DEBUG util.py:445: GET: /v1/volume/targets {} DEBUG util.py:445: GOT:Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-5e8b8c32-8d8a-4583-9086-122e1b7f0910 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"targets": [{"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "boot_index": 0, "volume_id": "12345678", "volume_type": "iscsi", "links": [{"href": "http://localhost/v1/volume/targets/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "self"}, {"href": "http://localhost/volume/targets/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "bookmark"}], "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123"}]} DEBUG util.py:445: ACL Test GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-5e8b8c32-8d8a-4583-9086-122e1b7f0910 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"targets": [{"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "boot_index": 0, "volume_id": "12345678", "volume_type": "iscsi", "links": [{"href": "http://localhost/v1/volume/targets/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "self"}, {"href": "http://localhost/volume/targets/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "bookmark"}], "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123"}]} DEBUG util.py:445: API ACL Testing Path post /v1/volume/targets DEBUG util.py:445: POST: /v1/volume/targets {'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'volume_type': 'iscsi', 'boot_index': 1, 'volume_id': 'test-id'} DEBUG util.py:445: GOT:Response: 201 Created DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Location: http://localhost/v1/volume/targets/fac3b02e-464c-43c2-975f-010776d62c2e DEBUG util.py:445: Openstack-Request-Id: req-0a0f23e1-a516-48f3-9768-5f758fde5ef2 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"uuid": "fac3b02e-464c-43c2-975f-010776d62c2e", "created_at": "2024-05-14T11:54:37.399030+00:00", "updated_at": null, "boot_index": 1, "extra": {}, "properties": {}, "volume_id": "test-id", "volume_type": "iscsi", "links": [{"href": "http://localhost/v1/volume/targets/fac3b02e-464c-43c2-975f-010776d62c2e", "rel": "self"}, {"href": "http://localhost/volume/targets/fac3b02e-464c-43c2-975f-010776d62c2e", "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/fac3b02e-464c-43c2-975f-010776d62c2e DEBUG util.py:445: Openstack-Request-Id: req-0a0f23e1-a516-48f3-9768-5f758fde5ef2 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"uuid": "fac3b02e-464c-43c2-975f-010776d62c2e", "created_at": "2024-05-14T11:54:37.399030+00:00", "updated_at": null, "boot_index": 1, "extra": {}, "properties": {}, "volume_id": "test-id", "volume_type": "iscsi", "links": [{"href": "http://localhost/v1/volume/targets/fac3b02e-464c-43c2-975f-010776d62c2e", "rel": "self"}, {"href": "http://localhost/volume/targets/fac3b02e-464c-43c2-975f-010776d62c2e", "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/b90e8d2f-9fb7-4889-8ff4-f9d98c579791 DEBUG util.py:445: Openstack-Request-Id: req-9595db60-1521-4cd3-8f7f-894d8e160626 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"uuid": "b90e8d2f-9fb7-4889-8ff4-f9d98c579791", "created_at": "2024-05-14T11:54:37.452479+00:00", "updated_at": null, "boot_index": 2, "extra": {}, "properties": {}, "volume_id": "test-id2", "volume_type": "iscsi", "links": [{"href": "http://localhost/v1/volume/targets/b90e8d2f-9fb7-4889-8ff4-f9d98c579791", "rel": "self"}, {"href": "http://localhost/volume/targets/b90e8d2f-9fb7-4889-8ff4-f9d98c579791", "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/b90e8d2f-9fb7-4889-8ff4-f9d98c579791 DEBUG util.py:445: Openstack-Request-Id: req-9595db60-1521-4cd3-8f7f-894d8e160626 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"uuid": "b90e8d2f-9fb7-4889-8ff4-f9d98c579791", "created_at": "2024-05-14T11:54:37.452479+00:00", "updated_at": null, "boot_index": 2, "extra": {}, "properties": {}, "volume_id": "test-id2", "volume_type": "iscsi", "links": [{"href": "http://localhost/v1/volume/targets/b90e8d2f-9fb7-4889-8ff4-f9d98c579791", "rel": "self"}, {"href": "http://localhost/volume/targets/b90e8d2f-9fb7-4889-8ff4-f9d98c579791", "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: {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00195_volume_volume_target_id_delete_admin [0.052404s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00244_conductors_hostname_get_reader [0.047311s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00199_nodes_volume_get_member [0.073288s] ... 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-afdff69f-d4df-42a9-a1c4-36d561426d48 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"portgroups": [{"uuid": "6eb02b44-18a3-4659-8c0b-8d2802581ae4", "created_at": "2024-05-14T11:54:37.190676+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-7bbb869f-98e5-4837-9eff-d226a5f107e7 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"uuid": "6eb02b44-18a3-4659-8c0b-8d2802581ae4", "created_at": "2024-05-14T11:54:37.270050+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-7bbb869f-98e5-4837-9eff-d226a5f107e7 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"uuid": "6eb02b44-18a3-4659-8c0b-8d2802581ae4", "created_at": "2024-05-14T11:54:37.270050+00:00", "updated_at": null, "address": "52:54:00:cf:2d:31", "extra": {}, "internal_info": {"bar": "buzz"}, "mode": "active-backup", "name": "fooname", "properties": {}, "standalone_ports_supported": true, "links": [{"href": "http://localhost/v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4", "rel": "self"}, {"href": "http://localhost/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4", "rel": "bookmark"}], "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "ports": [{"href": "http://localhost/v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4/ports", "rel": "self"}, {"href": "http://localhost/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4/ports", "rel": "bookmark"}]} DEBUG util.py:445: API ACL Testing Path patch /v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4 DEBUG util.py:445: PATCH: /v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4 [{'op': 'replace', 'path': '/extra', 'value': {'test': 'testing'}}] DEBUG util.py:445: GOT:Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-ee0007e4-465f-4aa4-8d5f-aed52807d3ad DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:portgroup:update\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-ee0007e4-465f-4aa4-8d5f-aed52807d3ad DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:portgroup:update\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path get /v1/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-ad2a44b3-f7be-4c5a-8e34-3fc14a2bad3a DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"portgroups": [{"uuid": "6eb02b44-18a3-4659-8c0b-8d2802581ae4", "address": "52:54:00:cf:2d:31", "name": "fooname", "links": [{"href": "http://localhost/v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4", "rel": "self"}, {"href": "http://localhost/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4", "rel": "bookmark"}]}]} DEBUG util.py:445: ACL Test GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-ad2a44b3-f7be-4c5a-8e34-3fc14a2bad3a DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"portgroups": [{"uuid": "6eb02b44-18a3-4659-8c0b-8d2802581ae4", "address": "52:54:00:cf:2d:31", "name": "fooname", "links": [{"href": "http://localhost/v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4", "rel": "self"}, {"href": "http://localhost/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4", "rel": "bookmark"}]}]} DEBUG util.py:445: API ACL Testing Path get /v1/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-0be3e75b-2fe7-4127-84ea-8452c2f20de3 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"ports": [{"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "address": "52:54:00:cf:2d:31", "links": [{"href": "http://localhost/v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "self"}, {"href": "http://localhost/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "bookmark"}]}]} DEBUG util.py:445: ACL Test GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-0be3e75b-2fe7-4127-84ea-8452c2f20de3 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"ports": [{"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "address": "52:54:00:cf:2d:31", "links": [{"href": "http://localhost/v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "self"}, {"href": "http://localhost/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "bookmark"}]}]} DEBUG util.py:445: API ACL Testing Path get /v1/ports/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-66a40dbc-d547-405e-9344-677a1e7cef05 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2024-05-14T11:54:37.508477+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_00145_ports_port_id_get_admin [0.053433s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00146_ports_port_id_get_member [0.078743s] ... ok DEBUG util.py:443: /usr/lib/python3.9/site-packages/oslo_policy/policy.py:1075: UserWarning: Policy baremetal:allocation:create_pre_rbac failed scope check. The token used to make the request was system scoped but the policy requires ['project'] scope. This behavior may change in the future where using the intended scope is required DEBUG util.py:443: warnings.warn(msg) DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00245_allocations_post_admin [0.059119s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00202_nodes_volume_connectors_get_member [0.056734s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00147_ports_port_id_get_reader [0.051653s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00211_drivers_driver_name_get_member [0.046540s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00251_allocations_allocation_id_get_admin [0.050760s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00091_nodes_traits_delete_member [0.185171s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00151_ports_port_id_delete_admin [0.051379s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00092_nodes_traits_delete_reader [0.047479s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00213_drivers_properties_get_admin [0.057599s] ... 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-efae86f0-8918-4ae2-b0e5-22c621062281 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"No conductors registered.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path get /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/bios DEBUG util.py:445: GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/bios {} DEBUG util.py:445: GOT:Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-3f04d835-2a4e-49dc-ab83-fbd36d1e1cb7 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"bios": [{"created_at": "2024-05-14T11:54:37.447667+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-3f04d835-2a4e-49dc-ab83-fbd36d1e1cb7 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"bios": [{"created_at": "2024-05-14T11:54:37.447667+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-5ad7fe32-ed03-4fb7-ba8a-081724199f8c DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"bios": [{"created_at": "2024-05-14T11:54:37.501055+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-5ad7fe32-ed03-4fb7-ba8a-081724199f8c DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"bios": [{"created_at": "2024-05-14T11:54:37.501055+00:00", "updated_at": null, "name": "FAKE_SETTING", "value": "FAKE_SETTING", "links": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/bios/FAKE_SETTING", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/bios/FAKE_SETTING", "rel": "bookmark"}]}]} DEBUG util.py:445: API ACL Testing Path get /v1/conductors/test-conductor-node DEBUG util.py:445: GET: /v1/conductors/test-conductor-node {} DEBUG util.py:445: GOT:Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-cb6d1bae-bb2a-4852-bc7f-712887b7f410 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"created_at": "2024-05-14T11:54:37.548648+00:00", "updated_at": "2024-05-14T11:54:37.549404+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-cb6d1bae-bb2a-4852-bc7f-712887b7f410 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"created_at": "2024-05-14T11:54:37.548648+00:00", "updated_at": "2024-05-14T11:54:37.549404+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-63f5a8cd-0b4d-46de-b596-2569e0d25e61 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-63f5a8cd-0b4d-46de-b596-2569e0d25e61 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path get /v1/allocations/6c73df97-990d-4395-8bea-e8fe24d6ead5 DEBUG util.py:445: GET: /v1/allocations/6c73df97-990d-4395-8bea-e8fe24d6ead5 {} DEBUG util.py:445: GOT:Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-df8ab5d7-dbf0-4bad-b859-d915a59f3c52 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"uuid": "6c73df97-990d-4395-8bea-e8fe24d6ead5", "created_at": "2024-05-14T11:54:37.646409+00:00", "updated_at": null, "candidate_nodes": [], "extra": {}, "last_error": null, "name": null, "owner": null, "resource_class": "CUSTOM_TEST", "state": "allocating", "traits": [], "links": [{"href": "http://localhost/v1/allocations/6c73df97-990d-4395-8bea-e8fe24d6ead5", "rel": "self"}, {"href": "http://localhost/allocations/6c73df97-990d-4395-8bea-e8fe24d6ead5", "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-df8ab5d7-dbf0-4bad-b859-d915a59f3c52 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"uuid": "6c73df97-990d-4395-8bea-e8fe24d6ead5", "created_at": "2024-05-14T11:54:37.646409+00:00", "updated_at": null, "candidate_nodes": [], "extra": {}, "last_error": null, "name": null, "owner": null, "resource_class": "CUSTOM_TEST", "state": "allocating", "traits": [], "links": [{"href": "http://localhost/v1/allocations/6c73df97-990d-4395-8bea-e8fe24d6ead5", "rel": "self"}, {"href": "http://localhost/allocations/6c73df97-990d-4395-8bea-e8fe24d6ead5", "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-88487c5d-c9a6-47fa-8066-0e7597079189 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"uuid": "0fae759b-8d6a-41a7-9c3f-879db7d06d4f", "created_at": "2024-05-14T11:54:37.698282+00:00", "updated_at": null, "candidate_nodes": [], "extra": {}, "last_error": null, "name": null, "owner": null, "resource_class": "CUSTOM_TEST", "state": "allocating", "traits": [], "links": [{"href": "http://localhost/v1/allocations/0fae759b-8d6a-41a7-9c3f-879db7d06d4f", "rel": "self"}, {"href": "http://localhost/allocations/0fae759b-8d6a-41a7-9c3f-879db7d06d4f", "rel": "bookmark"}], "node_uuid": "22e26c0b-03f2-4d2e-ae87-c02d7f33c000"} DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00262_nodes_allocation_get_reader [0.051955s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00154_nodes_ports_get_admin [0.055630s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00265_nodes_allocation_delete_reader [0.050004s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00099_nodes_vifs_get_admin [0.048358s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00214_drivers_properties_get_member [0.060335s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00267_deploy_templates_post_member [0.053008s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00101_nodes_vifs_get_reader [0.055219s] ... 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-66a40dbc-d547-405e-9344-677a1e7cef05 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2024-05-14T11:54:37.508477+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-041bad25-2bc2-4771-9e4b-36a983f24dac DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2024-05-14T11:54:37.585154+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-041bad25-2bc2-4771-9e4b-36a983f24dac DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2024-05-14T11:54:37.585154+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-83f6eef1-a07f-44f3-a147-dc7ac31565a2 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2024-05-14T11:54:37.639313+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-83f6eef1-a07f-44f3-a147-dc7ac31565a2 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2024-05-14T11:54:37.639313+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-812393d6-e0ba-48ff-9c65-ec5e09dd8722 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-812393d6-e0ba-48ff-9c65-ec5e09dd8722 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path get /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports DEBUG util.py:445: GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports {} DEBUG util.py:445: GOT:Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-b293cfd0-2ba5-4d21-98a5-d27ddb95af5d DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"ports": [{"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "address": "52:54:00:cf:2d:31", "links": [{"href": "http://localhost/v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "self"}, {"href": "http://localhost/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "bookmark"}]}]} DEBUG util.py:445: ACL Test GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-b293cfd0-2ba5-4d21-98a5-d27ddb95af5d DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"ports": [{"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "address": "52:54:00:cf:2d:31", "links": [{"href": "http://localhost/v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "self"}, {"href": "http://localhost/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "bookmark"}]}]} DEBUG util.py:445: API ACL Testing Path get /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports/detail DEBUG util.py:445: GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports/detail {} DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00159_nodes_ports_detail_get_reader [0.056213s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00104_nodes_vifs_post_reader [0.050122s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00273_deploy_templates_deploy_template_id_get_member [0.049023s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00163_portgroups_ports_detail_get_admin [0.080755s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00108_nodes_management_indicators_get_allow ... SKIPPED: Not implemented yet DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00279_deploy_templates_deploy_template_id_delete_member [0.051143s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00167_volume_get_member [0.048255s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00111_nodes_management_indicators_component_ind_ident_put_allow ... SKIPPED: Not implemented yet DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00282_chassis_post_member [0.048713s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00215_drivers_properties_get_reader [0.181405s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00173_volume_connectors_post_member [0.055049s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00290_chassis_chassis_id_get_admin [0.047942s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00174_volume_connectors_post_reader [0.051855s] ... 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-4d16d06c-a3c9-4a37-a8cb-bec0717bcd35 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:vendor_passthru\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-4d16d06c-a3c9-4a37-a8cb-bec0717bcd35 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:vendor_passthru\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path put /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/vendor_passthru?method=test DEBUG util.py:445: PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/vendor_passthru?method=test None DEBUG util.py:445: GOT:Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-002d7ea7-0673-4961-bf12-06ab2056d3f6 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:vendor_passthru\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-002d7ea7-0673-4961-bf12-06ab2056d3f6 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:vendor_passthru\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path put /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/traits 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-c4e0e5e5-7c7a-44db-97b4-8a1c731a52c8 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-c4e0e5e5-7c7a-44db-97b4-8a1c731a52c8 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path delete /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/traits/trait DEBUG util.py:445: DELETE: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/traits/trait DEBUG util.py:445: GOT:Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-a111e2f8-e3e2-4f85-9afe-0f6deef5ace7 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-a111e2f8-e3e2-4f85-9afe-0f6deef5ace7 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path delete /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/traits/trait DEBUG util.py:445: DELETE: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/traits/trait DEBUG util.py:445: GOT:Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-cdf8b6e9-9c40-4b07-b912-f99c8bd74ae6 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:traits:delete\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-cdf8b6e9-9c40-4b07-b912-f99c8bd74ae6 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:traits:delete\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path 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-219f325d-edf3-4b2b-9ff1-80cc3b88894e DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-219f325d-edf3-4b2b-9ff1-80cc3b88894e DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path get /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/vifs DEBUG util.py:445: GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/vifs {} DEBUG util.py:445: GOT:Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-1b22414c-80a3-4fba-8388-7e3e8cfcc466 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-1b22414c-80a3-4fba-8388-7e3e8cfcc466 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path post /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/vifs DEBUG util.py:445: POST: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/vifs {'id': 'ee21d58f-5de2-4956-85ff-33935ea1ca00'} DEBUG util.py:445: GOT:Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-37b290cd-b892-4b5f-b31e-b5852ff3a6dc DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:vif:attach\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-37b290cd-b892-4b5f-b31e-b5852ff3a6dc DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:vif:attach\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path get /v1/portgroups DEBUG util.py:445: GET: /v1/portgroups {} DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00113_portgroups_get_member [0.050261s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00117_portgroups_post_reader [0.074597s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00129_portgroups_portgroup_ident_delete_reader [0.050902s] ... 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-5eacc0c4-d337-40e2-ba9a-756919c73612 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"ports": [{"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2024-05-14T11:54:37.800124+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-5eacc0c4-d337-40e2-ba9a-756919c73612 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"ports": [{"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2024-05-14T11:54:37.800124+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-972462d4-ffec-45f3-b00d-cc57142e9d08 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"ports": []} DEBUG util.py:445: ACL Test GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-972462d4-ffec-45f3-b00d-cc57142e9d08 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"ports": []} DEBUG util.py:445: API ACL Testing Path get /v1/volume DEBUG util.py:445: GET: /v1/volume {} DEBUG util.py:445: GOT:Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-a2d81bcf-5ce3-4f9c-82a5-d63895028603 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"links": [{"href": "http://localhost/v1/volume/", "rel": "self"}, {"href": "http://localhost/volume/", "rel": "bookmark"}], "connectors": [{"href": "http://localhost/v1/volume/connectors", "rel": "self"}, {"href": "http://localhost/volume/connectors", "rel": "bookmark"}], "targets": [{"href": "http://localhost/v1/volume/targets", "rel": "self"}, {"href": "http://localhost/volume/targets", "rel": "bookmark"}]} DEBUG util.py:445: ACL Test GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-a2d81bcf-5ce3-4f9c-82a5-d63895028603 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"links": [{"href": "http://localhost/v1/volume/", "rel": "self"}, {"href": "http://localhost/volume/", "rel": "bookmark"}], "connectors": [{"href": "http://localhost/v1/volume/connectors", "rel": "self"}, {"href": "http://localhost/volume/connectors", "rel": "bookmark"}], "targets": [{"href": "http://localhost/v1/volume/targets", "rel": "self"}, {"href": "http://localhost/volume/targets", "rel": "bookmark"}]} DEBUG util.py:445: API ACL Testing Path post /v1/volume/connectors DEBUG util.py:445: POST: /v1/volume/connectors {'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'type': 'ip', 'connector_id': '192.168.1.100'} DEBUG util.py:445: GOT:Response: 201 Created DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Location: http://localhost/v1/volume/connectors/d3c0d529-a031-4b6b-afb8-939de3dd5a7f DEBUG util.py:445: Openstack-Request-Id: req-c85a3fd3-2448-4396-a88c-18d4b139fb3f DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"uuid": "d3c0d529-a031-4b6b-afb8-939de3dd5a7f", "created_at": "2024-05-14T11:54:38.010311+00:00", "updated_at": null, "connector_id": "192.168.1.100", "extra": {}, "type": "ip", "links": [{"href": "http://localhost/v1/volume/connectors/d3c0d529-a031-4b6b-afb8-939de3dd5a7f", "rel": "self"}, {"href": "http://localhost/volume/connectors/d3c0d529-a031-4b6b-afb8-939de3dd5a7f", "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/d3c0d529-a031-4b6b-afb8-939de3dd5a7f DEBUG util.py:445: Openstack-Request-Id: req-c85a3fd3-2448-4396-a88c-18d4b139fb3f DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"uuid": "d3c0d529-a031-4b6b-afb8-939de3dd5a7f", "created_at": "2024-05-14T11:54:38.010311+00:00", "updated_at": null, "connector_id": "192.168.1.100", "extra": {}, "type": "ip", "links": [{"href": "http://localhost/v1/volume/connectors/d3c0d529-a031-4b6b-afb8-939de3dd5a7f", "rel": "self"}, {"href": "http://localhost/volume/connectors/d3c0d529-a031-4b6b-afb8-939de3dd5a7f", "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-32d870b9-2ac1-4c56-aa15-0eb95266cee9 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:volume:create\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-32d870b9-2ac1-4c56-aa15-0eb95266cee9 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:volume:create\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path get /v1/volume/connectors/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 DEBUG util.py:445: GET: /v1/volume/connectors/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 {} DEBUG util.py:445: GOT:Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-5e926715-5111-4e65-a3f1-6344bdb29ae2 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2024-05-14T11:54:38.101532+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: {0} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00176_volume_volume_connector_id_get_member [0.059756s] ... 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-fc8c511f-bd9d-4bb0-9464-d343b3560370 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-fc8c511f-bd9d-4bb0-9464-d343b3560370 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path get /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume DEBUG util.py:445: GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume {} DEBUG util.py:445: GOT:Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-47f96286-9fc5-48e6-9099-e2c9fd47dd29 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"links": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume/", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume/", "rel": "bookmark"}], "connectors": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume/connectors", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume/connectors", "rel": "bookmark"}], "targets": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume/targets", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume/targets", "rel": "bookmark"}]} DEBUG util.py:445: ACL Test GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-47f96286-9fc5-48e6-9099-e2c9fd47dd29 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"links": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume/", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume/", "rel": "bookmark"}], "connectors": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume/connectors", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume/connectors", "rel": "bookmark"}], "targets": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume/targets", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume/targets", "rel": "bookmark"}]} DEBUG util.py:445: API ACL Testing Path get /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume/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-704fc4d2-075e-4c5b-9056-d31817172afa DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"connectors": [{"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "connector_id": "iqn.2012-06.com.example:initiator", "type": "iqn", "links": [{"href": "http://localhost/v1/volume/connectors/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "self"}, {"href": "http://localhost/volume/connectors/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "bookmark"}], "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123"}]} DEBUG util.py:445: ACL Test GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-704fc4d2-075e-4c5b-9056-d31817172afa DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"connectors": [{"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "connector_id": "iqn.2012-06.com.example:initiator", "type": "iqn", "links": [{"href": "http://localhost/v1/volume/connectors/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "self"}, {"href": "http://localhost/volume/connectors/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "bookmark"}], "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123"}]} DEBUG util.py:445: API ACL Testing Path get /v1/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-8ed74d63-cfb1-4081-805a-99e17de65cd9 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Could not find the following driver(s) or hardware type(s): fake-driverz.\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-8ed74d63-cfb1-4081-805a-99e17de65cd9 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Could not find the following driver(s) or hardware type(s): fake-driverz.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path get /v1/drivers/fake-driverz/properties DEBUG util.py:445: GET: /v1/drivers/fake-driverz/properties {} DEBUG util.py:445: GOT:Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-af4c2bd1-1da0-43a0-8a7e-a27f1a12de28 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"No conductors registered.\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-af4c2bd1-1da0-43a0-8a7e-a27f1a12de28 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"No conductors registered.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path get /v1/drivers/fake-driverz/properties DEBUG util.py:445: GET: /v1/drivers/fake-driverz/properties {} DEBUG util.py:445: GOT:Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-6eb31ba1-cff1-44e3-a66e-7d988ca954af DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"No conductors registered.\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-6eb31ba1-cff1-44e3-a66e-7d988ca954af DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"No conductors registered.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path get /v1/drivers/fake-driverz/properties DEBUG util.py:445: GET: /v1/drivers/fake-driverz/properties {} DEBUG util.py:445: GOT:Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-8847de04-302a-4d2a-a43d-5ad86e394bc0 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"No conductors registered.\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-8847de04-302a-4d2a-a43d-5ad86e394bc0 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"No conductors registered.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path get /v1/drivers/fake-driverz/vendor_passthru/methods DEBUG util.py:445: GET: /v1/drivers/fake-driverz/vendor_passthru/methods {} DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00220_drivers_vendor_passthru_methods_get_member [0.045504s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00223_drivers_vendor_passthru_get_member [0.051790s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00225_drivers_vendor_passthru_post_admin [0.064148s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00226_drivers_vendor_passthru_post_member [0.044132s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00179_volume_volume_connector_id_patch_member [0.100161s] ... 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-88487c5d-c9a6-47fa-8066-0e7597079189 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"uuid": "0fae759b-8d6a-41a7-9c3f-879db7d06d4f", "created_at": "2024-05-14T11:54:37.698282+00:00", "updated_at": null, "candidate_nodes": [], "extra": {}, "last_error": null, "name": null, "owner": null, "resource_class": "CUSTOM_TEST", "state": "allocating", "traits": [], "links": [{"href": "http://localhost/v1/allocations/0fae759b-8d6a-41a7-9c3f-879db7d06d4f", "rel": "self"}, {"href": "http://localhost/allocations/0fae759b-8d6a-41a7-9c3f-879db7d06d4f", "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-4e2b7855-38e3-47fe-a5b9-b53b8b329bb9 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:allocation:delete\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-4e2b7855-38e3-47fe-a5b9-b53b8b329bb9 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:allocation:delete\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path post /v1/deploy_templates DEBUG util.py:445: POST: /v1/deploy_templates {'name': 'CUSTOM_TEST_TEMPLATE', 'steps': [{'interface': 'deploy', 'step': 'noop', 'args': {}, 'priority': 0}]} DEBUG util.py:445: GOT:Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-4b85d349-e47c-4158-b9d7-35d96d2c3aae DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:deploy_template:create\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-4b85d349-e47c-4158-b9d7-35d96d2c3aae DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:deploy_template:create\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path get /v1/deploy_templates/559bff2a-4a37-4583-83b1-8f419e002b34 DEBUG util.py:445: GET: /v1/deploy_templates/559bff2a-4a37-4583-83b1-8f419e002b34 {} DEBUG util.py:445: GOT:Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-80662280-e490-420b-bbb8-d3aeb1b51b3e DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"uuid": "559bff2a-4a37-4583-83b1-8f419e002b34", "created_at": "2024-05-14T11:54:37.862491+00:00", "updated_at": null, "name": "CUSTOM_DT1", "extra": {}, "links": [{"href": "http://localhost/v1/deploy_templates/559bff2a-4a37-4583-83b1-8f419e002b34", "rel": "self"}, {"href": "http://localhost/deploy_templates/559bff2a-4a37-4583-83b1-8f419e002b34", "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-80662280-e490-420b-bbb8-d3aeb1b51b3e DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"uuid": "559bff2a-4a37-4583-83b1-8f419e002b34", "created_at": "2024-05-14T11:54:37.862491+00:00", "updated_at": null, "name": "CUSTOM_DT1", "extra": {}, "links": [{"href": "http://localhost/v1/deploy_templates/559bff2a-4a37-4583-83b1-8f419e002b34", "rel": "self"}, {"href": "http://localhost/deploy_templates/559bff2a-4a37-4583-83b1-8f419e002b34", "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/beaa61d5-528d-499a-9686-69df0c030a06 DEBUG util.py:445: DELETE: /v1/deploy_templates/beaa61d5-528d-499a-9686-69df0c030a06 DEBUG util.py:445: GOT:Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-36ba4b97-8d0f-4573-ace8-dbcc72172141 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:deploy_template:delete\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-36ba4b97-8d0f-4573-ace8-dbcc72172141 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:deploy_template:delete\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path post /v1/chassis DEBUG util.py:445: POST: /v1/chassis {'description': 'test-chassis'} DEBUG util.py:445: GOT:Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-ca3d25ac-4dec-4471-b370-e72910814ec6 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:chassis:create\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-ca3d25ac-4dec-4471-b370-e72910814ec6 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:chassis:create\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path get /v1/chassis/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-9db5cafc-e19b-4039-9566-297dc983a28f DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"uuid": "e74c40e0-d825-11e2-a28f-0800200c9a66", "created_at": "2024-05-14T11:54:38.009431+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-9db5cafc-e19b-4039-9566-297dc983a28f DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"uuid": "e74c40e0-d825-11e2-a28f-0800200c9a66", "created_at": "2024-05-14T11:54:38.009431+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: {2} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00294_chassis_chassis_id_patch_member [0.049892s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00298_chassis_chassis_id_delete_reader [0.056092s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00300_node_history_get_member [0.049461s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00133_nodes_portgroups_detail_get_admin [0.088808s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00227_drivers_vendor_passthru_post_reader [0.045934s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00301_node_history_get_reader [0.084321s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_functions.TestFunctionDefinition.test_set_arg_types [0.011976s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00228_drivers_vendor_passthru_put_admin [0.045928s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_hooks.TestContextHook.test_context_hook_public_api [0.022576s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_hooks.TestNoExceptionTracebackHook.test_hook_exception_success [0.017462s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00182_volume_volume_connector_id_delete_member [0.096770s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00135_nodes_portgroups_detail_get_reader [0.087316s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00237_nodes_bios_bios_setting_get_member [0.049902s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_hooks.TestNoExceptionTracebackHook.test_hook_on_serverfault_debug_tracebacks [0.017484s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_hooks.TestNoExceptionTracebackHook.test_hook_without_traceback [0.019366s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_hooks.TestNoExceptionTracebackHook.test_hook_without_traceback_debug [0.016790s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_method.TestExpose.test_post_body [0.017761s] ... 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-03fef842-15c7-4afa-8214-909569cff4c6 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:driver:vendor_passthru\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-03fef842-15c7-4afa-8214-909569cff4c6 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:driver:vendor_passthru\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path get /v1/drivers/fake-driverz/vendor_passthru?method=test DEBUG util.py:445: GET: /v1/drivers/fake-driverz/vendor_passthru?method=test {} DEBUG util.py:445: GOT:Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-4b71712c-71ff-4e1d-8ea8-e2e0a1126f83 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:driver:vendor_passthru\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-4b71712c-71ff-4e1d-8ea8-e2e0a1126f83 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:driver:vendor_passthru\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path post /v1/drivers/fake-driverz/vendor_passthru?method=test DEBUG util.py:445: POST: /v1/drivers/fake-driverz/vendor_passthru?method=test None DEBUG util.py:445: GOT:Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-4c6d47f2-e5b0-4c9e-aea1-dee7da9770e0 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"No conductors registered.\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-4c6d47f2-e5b0-4c9e-aea1-dee7da9770e0 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"No conductors registered.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path post /v1/drivers/fake-driverz/vendor_passthru?method=test DEBUG util.py:445: POST: /v1/drivers/fake-driverz/vendor_passthru?method=test None DEBUG util.py:445: GOT:Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-2b23c466-7a33-4533-9ecf-a81d2458532b DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:driver:vendor_passthru\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-2b23c466-7a33-4533-9ecf-a81d2458532b DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:driver:vendor_passthru\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path post /v1/drivers/fake-driverz/vendor_passthru?method=test DEBUG util.py:445: POST: /v1/drivers/fake-driverz/vendor_passthru?method=test None DEBUG util.py:445: GOT:Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-f7723488-a4c7-4982-8d61-76109264cf4c DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:driver:vendor_passthru\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-f7723488-a4c7-4982-8d61-76109264cf4c DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:driver:vendor_passthru\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path put /v1/drivers/fake-driverz/vendor_passthru?method=test DEBUG util.py:445: PUT: /v1/drivers/fake-driverz/vendor_passthru?method=test None DEBUG util.py:445: GOT:Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-acf307a6-df35-4065-8f3b-583c96f17d8c DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"No conductors registered.\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-acf307a6-df35-4065-8f3b-583c96f17d8c DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"No conductors registered.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path get /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/bios/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-662fbab6-08b8-4ee6-98ec-f1a91439016c DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"FAKE_SETTING": {"created_at": "2024-05-14T11:54:38.315948+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-662fbab6-08b8-4ee6-98ec-f1a91439016c DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"FAKE_SETTING": {"created_at": "2024-05-14T11:54:38.315948+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-f5c4ba67-6e8f-4fc0-a6c1-4de0fb4bd783 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"conductors": [{"hostname": "test-conductor-node", "conductor_group": "", "links": [{"href": "http://localhost/v1/conductors/test-conductor-node", "rel": "self"}, {"href": "http://localhost/conductors/test-conductor-node", "rel": "bookmark"}], "alive": true}]} DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00241_conductors_get_reader [0.046678s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_method.TestExpose.test_response_204 [0.017039s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00185_volume_targets_get_member [0.098569s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00248_allocations_get_admin [0.059484s] ... ok 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-cd8f3b37-3b32-441c-b0d6-1c32d7ed8778 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"uuid": "e74c40e0-d825-11e2-a28f-0800200c9a66", "created_at": "2024-05-14T11:54:38.057437+00:00", "updated_at": "2024-05-14T11:54:38.078791+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-cd8f3b37-3b32-441c-b0d6-1c32d7ed8778 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"uuid": "e74c40e0-d825-11e2-a28f-0800200c9a66", "created_at": "2024-05-14T11:54:38.057437+00:00", "updated_at": "2024-05-14T11:54:38.078791+00:00", "description": "meow", "extra": {}, "links": [{"href": "http://localhost/v1/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66", "rel": "self"}, {"href": "http://localhost/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66", "rel": "bookmark"}], "nodes": [[{"href": "http://localhost/v1/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66/nodes", "rel": "self"}, {"href": "http://localhost/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66/nodes", "rel": "bookmark"}]]} DEBUG util.py:445: API ACL Testing Path delete /v1/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66 DEBUG util.py:445: DELETE: /v1/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66 DEBUG util.py:445: GOT:Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-15ff0e87-5875-47c1-8248-f17efc10fe23 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:chassis:delete\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-15ff0e87-5875-47c1-8248-f17efc10fe23 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:chassis:delete\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path get /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/history DEBUG util.py:445: GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/history {} DEBUG util.py:445: GOT:Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-14cdf896-24d4-4af3-ad00-d001ca245a90 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"history": [{"uuid": "9495c7f9-2ed4-413b-b932-df96d55ba173", "created_at": "2024-05-14T11:54:38.171462+00:00", "severity": "ERROR", "event": "Something is wrong", "links": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/history/9495c7f9-2ed4-413b-b932-df96d55ba173", "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-14cdf896-24d4-4af3-ad00-d001ca245a90 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"history": [{"uuid": "9495c7f9-2ed4-413b-b932-df96d55ba173", "created_at": "2024-05-14T11:54:38.171462+00:00", "severity": "ERROR", "event": "Something is wrong", "links": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/history/9495c7f9-2ed4-413b-b932-df96d55ba173", "rel": "self"}]}]} DEBUG util.py:445: API ACL Testing Path get /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/history DEBUG util.py:445: GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/history {} DEBUG util.py:445: GOT:Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-0c377e5f-4163-4e5c-bef2-030c76aa61b3 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"history": [{"uuid": "6ddfc9e3-6790-46d6-993d-2981b27dedfc", "created_at": "2024-05-14T11:54:38.255895+00:00", "severity": "ERROR", "event": "Something is wrong", "links": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/history/6ddfc9e3-6790-46d6-993d-2981b27dedfc", "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-0c377e5f-4163-4e5c-bef2-030c76aa61b3 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"history": [{"uuid": "6ddfc9e3-6790-46d6-993d-2981b27dedfc", "created_at": "2024-05-14T11:54:38.255895+00:00", "severity": "ERROR", "event": "Something is wrong", "links": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/history/6ddfc9e3-6790-46d6-993d-2981b27dedfc", "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-6ab9537d-e370-4f66-b741-156f3f90bed0 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-3d3cdcdb-2c72-4d5a-b530-ea7b06b1c84e 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-18.3.1.dev11/ironic/api/method.py\\\", line 42, in callfunction\\n result = f(self, *args, **kwargs)\\n\\n File \\\"/builddir/build/BUILD/ironic-18.3.1.dev11/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-3d8c0271-3efd-4b53-87b6-637908cb115e DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Error message without traceback \\n but \\n multiline\", \"debuginfo\": null}"} DEBUG util.py:445: GET: / {} DEBUG util.py:445: GOT:Response: 500 Internal Server Error DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-97f834c2-96ed-48ba-bc01-a8478f4160e1 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-f554da52-677b-47da-8b32-1aea514799cd DEBUG util.py:445: {"three": "three", "four": "four", "five": "five"} DEBUG util.py:445: GET: /v1/things/no_content {} DEBUG util.py:445: GOT:Response: 204 No Content DEBUG util.py:445: Openstack-Request-Id: req-1daa812f-4f89-44d2-adb1-176abbbadc3f DEBUG util.py:445: GET: /v1/things/response_custom_status {} DEBUG util.py:445: {2} ironic.tests.unit.api.test_method.TestExpose.test_response_custom_status [0.017261s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_middleware.TestBasicAuthMiddleware.test_authenticated [0.021911s] ... 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-fb4e295c-4444-4b51-af4c-0f25bd847315 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"portgroups": [{"uuid": "6eb02b44-18a3-4659-8c0b-8d2802581ae4", "address": "52:54:00:cf:2d:31", "name": "fooname", "links": [{"href": "http://localhost/v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4", "rel": "self"}, {"href": "http://localhost/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4", "rel": "bookmark"}]}]} DEBUG util.py:445: ACL Test GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-fb4e295c-4444-4b51-af4c-0f25bd847315 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"portgroups": [{"uuid": "6eb02b44-18a3-4659-8c0b-8d2802581ae4", "address": "52:54:00:cf:2d:31", "name": "fooname", "links": [{"href": "http://localhost/v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4", "rel": "self"}, {"href": "http://localhost/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4", "rel": "bookmark"}]}]} DEBUG util.py:445: API ACL Testing Path post /v1/portgroups DEBUG util.py:445: POST: /v1/portgroups {'node_uuid': '18a552fb-dcd2-43bf-9302-e4c93287be11'} DEBUG util.py:445: GOT:Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-96759a39-27fc-4932-bde2-40756972d005 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:portgroup:create\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-96759a39-27fc-4932-bde2-40756972d005 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:portgroup:create\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path 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-d641b635-f2a9-4571-ac5f-e95e22397dc5 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:portgroup:delete\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-d641b635-f2a9-4571-ac5f-e95e22397dc5 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:portgroup:delete\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path get /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups/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-0eb1527d-0c31-4ed1-8670-99e783df9a0c DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"portgroups": [{"uuid": "6eb02b44-18a3-4659-8c0b-8d2802581ae4", "created_at": "2024-05-14T11:54:38.185186+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-0eb1527d-0c31-4ed1-8670-99e783df9a0c DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"portgroups": [{"uuid": "6eb02b44-18a3-4659-8c0b-8d2802581ae4", "created_at": "2024-05-14T11:54:38.185186+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-dfb10fe5-751a-4bd3-b507-611c3dcd4f4b DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"portgroups": [{"uuid": "6eb02b44-18a3-4659-8c0b-8d2802581ae4", "created_at": "2024-05-14T11:54:38.296985+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-dfb10fe5-751a-4bd3-b507-611c3dcd4f4b DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"portgroups": [{"uuid": "6eb02b44-18a3-4659-8c0b-8d2802581ae4", "created_at": "2024-05-14T11:54:38.296985+00:00", "updated_at": null, "address": "52:54:00:cf:2d:31", "extra": {}, "internal_info": {"bar": "buzz"}, "mode": "active-backup", "name": "fooname", "properties": {}, "standalone_ports_supported": true, "links": [{"href": "http://localhost/v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4", "rel": "self"}, {"href": "http://localhost/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4", "rel": "bookmark"}], "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "ports": [{"href": "http://localhost/v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4/ports", "rel": "self"}, {"href": "http://localhost/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4/ports", "rel": "bookmark"}]}]} DEBUG util.py:445: API ACL Testing Path post /v1/ports DEBUG util.py:445: POST: /v1/ports {'node_uuid': '68a552fb-dcd2-43bf-9302-e4c93287be16', 'address': '00:01:02:03:04:05'} DEBUG util.py:445: GOT:Response: 400 Bad Request DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-9c670801-d6bf-4471-a32d-8ecaf3d7b1d9 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 68a552fb-dcd2-43bf-9302-e4c93287be16 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00139_ports_post_admin [0.049324s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00144_ports_detail_get_reader [0.049926s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_middleware.TestBasicAuthMiddleware.test_not_authenticated [0.022404s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00150_ports_port_id_patch_reader [0.049922s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_root.TestRoot.test_no_html_errors2 [0.017043s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.api.test_root.TestV1Root.test_get_v1_root [0.016559s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00152_ports_port_id_delete_member [0.049693s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.cmd.test_conductor.ConductorStartTestCase.test_warn_about_unsafe_shred_parameters_zeros [0.019292s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00190_volume_volume_target_id_get_admin [0.112813s] ... 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: {2} ironic.tests.unit.cmd.test_dbsync.DbSyncTestCase.test_upgrade_and_version [0.028118s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00255_allocations_allocation_id_patch_member [0.116780s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00161_portgroups_ports_get_member [0.050311s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.cmd.test_dbsync.OnlineMigrationTestCase.test__run_migration_functions_2 [0.017271s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00191_volume_volume_target_id_get_member [0.050490s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.cmd.test_dbsync.OnlineMigrationTestCase.test__run_migration_functions_2_onedone [0.017065s] ... 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.017289s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00259_allocations_allocation_id_delete_reader [0.062716s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00162_portgroups_ports_get_reader [0.050086s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.cmd.test_dbsync.OnlineMigrationTestCase.test__run_migration_functions_two_calls_done [0.017458s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.cmd.test_dbsync.OnlineMigrationTestCase.test__run_online_data_migrations_invalid_option2 [0.015834s] ... 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-5e926715-5111-4e65-a3f1-6344bdb29ae2 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2024-05-14T11:54:38.101532+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-af2b9fca-5754-49cd-bb5c-bd27468f6d80 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-af2b9fca-5754-49cd-bb5c-bd27468f6d80 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path delete /v1/volume/connectors/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 DEBUG util.py:445: DELETE: /v1/volume/connectors/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 DEBUG util.py:445: GOT:Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-0a701731-92e2-4886-b18c-1f246f2a009f DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-0a701731-92e2-4886-b18c-1f246f2a009f DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path get /v1/volume/targets DEBUG util.py:445: GET: /v1/volume/targets {} DEBUG util.py:445: GOT:Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-be12f26c-30ea-4318-8e07-5381696093f9 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"targets": [{"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "boot_index": 0, "volume_id": "12345678", "volume_type": "iscsi", "links": [{"href": "http://localhost/v1/volume/targets/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "self"}, {"href": "http://localhost/volume/targets/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "bookmark"}], "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123"}]} DEBUG util.py:445: ACL Test GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-be12f26c-30ea-4318-8e07-5381696093f9 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"targets": [{"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "boot_index": 0, "volume_id": "12345678", "volume_type": "iscsi", "links": [{"href": "http://localhost/v1/volume/targets/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "self"}, {"href": "http://localhost/volume/targets/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "bookmark"}], "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123"}]} DEBUG util.py:445: API ACL Testing Path get /v1/volume/targets/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 DEBUG util.py:445: GET: /v1/volume/targets/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 {} DEBUG util.py:445: GOT:Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-9625dc19-1822-4dd9-aea5-806b75aecc42 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2024-05-14T11:54:38.489165+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-9625dc19-1822-4dd9-aea5-806b75aecc42 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2024-05-14T11:54:38.489165+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-af430ba9-e531-4492-abb3-b95aa4e29eec DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2024-05-14T11:54:38.565009+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-af430ba9-e531-4492-abb3-b95aa4e29eec DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2024-05-14T11:54:38.565009+00:00", "updated_at": null, "boot_index": 0, "extra": {}, "properties": {"target_iqn": "iqn.foo"}, "volume_id": "12345678", "volume_type": "iscsi", "links": [{"href": "http://localhost/v1/volume/targets/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "self"}, {"href": "http://localhost/volume/targets/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "bookmark"}], "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123"} DEBUG util.py:445: API ACL Testing Path patch /v1/volume/targets/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 DEBUG util.py:445: PATCH: /v1/volume/targets/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 [{'op': 'replace', 'path': '/extra', 'value': {'test': 'testing'}}] DEBUG util.py:445: GOT:Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-12b6ec88-c01f-4ad9-970a-c5a81e080bca DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:volume:update\", \"debuginfo\": null}"} DEBUG util.py:445: {2} ironic.tests.unit.cmd.test_dbsync.OnlineMigrationTestCase.test__run_online_data_migrations_notdone [0.015313s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00168_volume_get_reader [0.045737s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.cmd.test_status.TestUpgradeChecks.test__check_obj_versions_bad [0.015795s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00194_volume_volume_target_id_patch_reader [0.048722s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.common.test_args.ValidateDecoratorTest.test_decorated_function [0.011978s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.common.test_args.ValidateDecoratorTest.test_mac_address [0.011505s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.common.test_args.ValidateDecoratorTest.test_mandatory [0.011401s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00264_nodes_allocation_delete_member [0.087940s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.common.test_args.ValidateDecoratorTest.test_mixed_unvalidated [0.011206s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.common.test_args.ValidateDecoratorTest.test_string [0.022497s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00266_deploy_templates_post_admin [0.053166s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.common.test_args.ValidateDecoratorTest.test_unexpected_args [0.023066s] ... ok DEBUG util.py:445: ACL Test GOT Response: 400 Bad Request DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-9c670801-d6bf-4471-a32d-8ecaf3d7b1d9 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 68a552fb-dcd2-43bf-9302-e4c93287be16 could not be found.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path get /v1/ports/detail DEBUG util.py:445: GET: /v1/ports/detail {} DEBUG util.py:445: GOT:Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-6e57a37a-d897-4672-bff9-2ae9da0b7b96 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"ports": [{"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2024-05-14T11:54:38.399084+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-6e57a37a-d897-4672-bff9-2ae9da0b7b96 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"ports": [{"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2024-05-14T11:54:38.399084+00:00", "updated_at": null, "address": "52:54:00:cf:2d:31", "extra": {}, "internal_info": {"tenant_vif_port_id": "ee21d58f-5de2-4956-85ff-33935ea1ca00"}, "is_smartnic": false, "local_link_connection": {"switch_id": "0a:1b:2c:3d:4e:5f", "port_id": "Ethernet3/1", "switch_info": "switch1"}, "physical_network": null, "pxe_enabled": true, "links": [{"href": "http://localhost/v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "self"}, {"href": "http://localhost/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "bookmark"}], "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "portgroup_uuid": null}]} DEBUG util.py:445: API ACL Testing Path patch /v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 DEBUG util.py:445: PATCH: /v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 [{'op': 'replace', 'path': '/extra', 'value': {'test': 'testing'}}] DEBUG util.py:445: GOT:Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-3d113734-fd8c-458b-8e35-ca0b90f22021 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:port:update\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-3d113734-fd8c-458b-8e35-ca0b90f22021 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:port:update\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path delete /v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 DEBUG util.py:445: DELETE: /v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 DEBUG util.py:445: GOT:Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-f86700c8-6b7d-4e16-b7b2-9becc7d320cf DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:port:delete\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-f86700c8-6b7d-4e16-b7b2-9becc7d320cf DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:port:delete\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path get /v1/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-53bcd56b-61d9-4fa4-ada2-19c3eb7195f1 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"ports": []} DEBUG util.py:445: ACL Test GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-53bcd56b-61d9-4fa4-ada2-19c3eb7195f1 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"ports": []} DEBUG util.py:445: API ACL Testing Path get /v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4/ports DEBUG util.py:445: GET: /v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4/ports {} DEBUG util.py:445: GOT:Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-c87cb094-bcc5-41d6-a72c-f2bcc67b19b2 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"ports": []} DEBUG util.py:445: ACL Test GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-c87cb094-bcc5-41d6-a72c-f2bcc67b19b2 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"ports": []} DEBUG util.py:445: API ACL Testing Path get /v1/volume DEBUG util.py:445: GET: /v1/volume {} DEBUG util.py:445: GOT:Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-f5c0fb42-8f10-439f-86a3-347bf769eab7 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"links": [{"href": "http://localhost/v1/volume/", "rel": "self"}, {"href": "http://localhost/volume/", "rel": "bookmark"}], "connectors": [{"href": "http://localhost/v1/volume/connectors", "rel": "self"}, {"href": "http://localhost/volume/connectors", "rel": "bookmark"}], "targets": [{"href": "http://localhost/v1/volume/targets", "rel": "self"}, {"href": "http://localhost/volume/targets", "rel": "bookmark"}]} DEBUG util.py:445: ACL Test GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-f5c0fb42-8f10-439f-86a3-347bf769eab7 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"links": [{"href": "http://localhost/v1/volume/", "rel": "self"}, {"href": "http://localhost/volume/", "rel": "bookmark"}], "connectors": [{"href": "http://localhost/v1/volume/connectors", "rel": "self"}, {"href": "http://localhost/volume/connectors", "rel": "bookmark"}], "targets": [{"href": "http://localhost/v1/volume/targets", "rel": "self"}, {"href": "http://localhost/volume/targets", "rel": "bookmark"}]} DEBUG util.py:445: API ACL Testing Path get /v1/volume/connectors DEBUG util.py:445: GET: /v1/volume/connectors {} DEBUG util.py:445: GOT:Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-914bb8d2-69d7-416f-acce-d8e308a101e3 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"connectors": [{"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "connector_id": "iqn.2012-06.com.example:initiator", "type": "iqn", "links": [{"href": "http://localhost/v1/volume/connectors/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "self"}, {"href": "http://localhost/volume/connectors/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "bookmark"}], "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123"}]} DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00169_volume_connectors_get_admin [0.047687s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00170_volume_connectors_get_member [0.048771s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.common.test_args.ValidateDecoratorTest.test_uuid [0.013751s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.common.test_args.ValidateDictTest.test_dict_valid_colon_key_name [0.011703s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.common.test_args.ValidateSchemaTest.test_schema [0.013574s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00181_volume_volume_connector_id_delete_admin [0.048129s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00196_volume_volume_target_id_delete_member [0.187170s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.common.test_cinder.TestCinderActions.test_attach_volumes [0.034664s] ... 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-f5c4ba67-6e8f-4fc0-a6c1-4de0fb4bd783 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"conductors": [{"hostname": "test-conductor-node", "conductor_group": "", "links": [{"href": "http://localhost/v1/conductors/test-conductor-node", "rel": "self"}, {"href": "http://localhost/conductors/test-conductor-node", "rel": "bookmark"}], "alive": true}]} DEBUG util.py:445: API ACL Testing Path get /v1/allocations DEBUG util.py:445: GET: /v1/allocations {} DEBUG util.py:445: GOT:Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-6744ed62-421a-403b-a1dc-84634f16a577 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"allocations": [{"uuid": "c7161ae0-cc44-444f-9d55-b56502ebdf91", "created_at": "2024-05-14T11:54:38.399941+00:00", "updated_at": null, "candidate_nodes": [], "extra": {}, "last_error": null, "name": null, "owner": null, "resource_class": "CUSTOM_TEST", "state": "allocating", "traits": [], "links": [{"href": "http://localhost/v1/allocations/c7161ae0-cc44-444f-9d55-b56502ebdf91", "rel": "self"}, {"href": "http://localhost/allocations/c7161ae0-cc44-444f-9d55-b56502ebdf91", "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-6744ed62-421a-403b-a1dc-84634f16a577 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"allocations": [{"uuid": "c7161ae0-cc44-444f-9d55-b56502ebdf91", "created_at": "2024-05-14T11:54:38.399941+00:00", "updated_at": null, "candidate_nodes": [], "extra": {}, "last_error": null, "name": null, "owner": null, "resource_class": "CUSTOM_TEST", "state": "allocating", "traits": [], "links": [{"href": "http://localhost/v1/allocations/c7161ae0-cc44-444f-9d55-b56502ebdf91", "rel": "self"}, {"href": "http://localhost/allocations/c7161ae0-cc44-444f-9d55-b56502ebdf91", "rel": "bookmark"}], "node_uuid": "22e26c0b-03f2-4d2e-ae87-c02d7f33c000"}]} DEBUG util.py:445: API ACL Testing Path patch /v1/allocations/b83b638c-8994-41a5-b1fc-0c18eb2d0c56 DEBUG util.py:445: PATCH: /v1/allocations/b83b638c-8994-41a5-b1fc-0c18eb2d0c56 [{'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-8e0f9011-98b0-4ebf-afc4-07a01a8a2a30 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"uuid": "b83b638c-8994-41a5-b1fc-0c18eb2d0c56", "created_at": "2024-05-14T11:54:38.479164+00:00", "updated_at": "2024-05-14T11:54:38.548589+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/b83b638c-8994-41a5-b1fc-0c18eb2d0c56", "rel": "self"}, {"href": "http://localhost/allocations/b83b638c-8994-41a5-b1fc-0c18eb2d0c56", "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-8e0f9011-98b0-4ebf-afc4-07a01a8a2a30 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"uuid": "b83b638c-8994-41a5-b1fc-0c18eb2d0c56", "created_at": "2024-05-14T11:54:38.479164+00:00", "updated_at": "2024-05-14T11:54:38.548589+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/b83b638c-8994-41a5-b1fc-0c18eb2d0c56", "rel": "self"}, {"href": "http://localhost/allocations/b83b638c-8994-41a5-b1fc-0c18eb2d0c56", "rel": "bookmark"}], "node_uuid": "22e26c0b-03f2-4d2e-ae87-c02d7f33c000"} DEBUG util.py:445: API ACL Testing Path delete /v1/allocations/8b44be15-c1d1-481f-9840-71d0911e691b DEBUG util.py:445: DELETE: /v1/allocations/8b44be15-c1d1-481f-9840-71d0911e691b DEBUG util.py:445: GOT:Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-86d20886-fe60-488e-b4a8-240303856d9f DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:allocation:delete\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-86d20886-fe60-488e-b4a8-240303856d9f DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:allocation:delete\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path 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-dd90c40d-ec84-4f6c-9540-c81366d9e5c7 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-dd90c40d-ec84-4f6c-9540-c81366d9e5c7 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path post /v1/deploy_templates DEBUG util.py:445: POST: /v1/deploy_templates {'name': 'CUSTOM_TEST_TEMPLATE', 'steps': [{'interface': 'deploy', 'step': 'noop', 'args': {}, 'priority': 0}]} DEBUG util.py:445: GOT:Response: 201 Created DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Location: http://localhost/v1/deploy_templates/122bb323-b485-420a-bd21-b0c9e41fa6e4 DEBUG util.py:445: Openstack-Request-Id: req-aafbe3fc-c038-48d7-bd8d-19f404f14bfc DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"uuid": "122bb323-b485-420a-bd21-b0c9e41fa6e4", "created_at": "2024-05-14T11:54:38.759914+00:00", "updated_at": null, "name": "CUSTOM_TEST_TEMPLATE", "extra": {}, "links": [{"href": "http://localhost/v1/deploy_templates/122bb323-b485-420a-bd21-b0c9e41fa6e4", "rel": "self"}, {"href": "http://localhost/deploy_templates/122bb323-b485-420a-bd21-b0c9e41fa6e4", "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/122bb323-b485-420a-bd21-b0c9e41fa6e4 DEBUG util.py:445: Openstack-Request-Id: req-aafbe3fc-c038-48d7-bd8d-19f404f14bfc DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"uuid": "122bb323-b485-420a-bd21-b0c9e41fa6e4", "created_at": "2024-05-14T11:54:38.759914+00:00", "updated_at": null, "name": "CUSTOM_TEST_TEMPLATE", "extra": {}, "links": [{"href": "http://localhost/v1/deploy_templates/122bb323-b485-420a-bd21-b0c9e41fa6e4", "rel": "self"}, {"href": "http://localhost/deploy_templates/122bb323-b485-420a-bd21-b0c9e41fa6e4", "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: {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00269_deploy_templates_get_admin [0.056167s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00186_volume_targets_get_reader [0.048860s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.common.test_cinder.TestCinderActions.test_attach_volumes_client_init_failure [0.031438s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00200_nodes_volume_get_reader [0.049562s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.common.test_cinder.TestCinderClient.test_get_client [0.015309s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00281_chassis_post_admin [0.077238s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.common.test_cinder.TestCinderUtils.test__create_metadata_dictionary [0.022766s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00192_volume_volume_target_id_get_reader [0.049691s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.common.test_context.RequestContextTestCase.test_thread_with_context [0.014009s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00201_nodes_volume_connectors_get_admin [0.054015s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00286_chassis_get_reader [0.047424s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.common.test_driver_factory.CheckAndUpdateNodeInterfacesTestCase.test_create_node_dynamic_driver_interfaces_set [0.020135s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00198_nodes_volume_get_admin [0.045348s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.common.test_driver_factory.CheckAndUpdateNodeInterfacesTestCase.test_create_node_invalid_network_interface [0.018211s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.common.test_driver_factory.CheckAndUpdateNodeInterfacesTestCase.test_create_node_valid_network_interface_instance_info_override [0.018133s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00205_nodes_volume_targets_get_member [0.053706s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.common.test_driver_factory.CheckAndUpdateNodeInterfacesTestCase.test_no_network_interface_default_from_conf [0.018756s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00287_chassis_detail_get_admin [0.048681s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00210_drivers_driver_name_get_admin [0.047413s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.common.test_driver_factory.DefaultInterfaceTestCase.test_calculated_with_one [0.029168s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00295_chassis_chassis_id_patch_reader [0.045972s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.common.test_driver_factory.DefaultInterfaceTestCase.test_calculated_with_unsupported [0.018098s] ... 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-914bb8d2-69d7-416f-acce-d8e308a101e3 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"connectors": [{"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "connector_id": "iqn.2012-06.com.example:initiator", "type": "iqn", "links": [{"href": "http://localhost/v1/volume/connectors/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "self"}, {"href": "http://localhost/volume/connectors/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "bookmark"}], "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123"}]} DEBUG util.py:445: API ACL Testing Path get /v1/volume/connectors DEBUG util.py:445: GET: /v1/volume/connectors {} DEBUG util.py:445: GOT:Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-40d2117e-b13c-417b-a2af-6bbfc00d4aad DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"connectors": [{"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "connector_id": "iqn.2012-06.com.example:initiator", "type": "iqn", "links": [{"href": "http://localhost/v1/volume/connectors/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "self"}, {"href": "http://localhost/volume/connectors/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "bookmark"}], "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123"}]} DEBUG util.py:445: ACL Test GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-40d2117e-b13c-417b-a2af-6bbfc00d4aad DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"connectors": [{"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "connector_id": "iqn.2012-06.com.example:initiator", "type": "iqn", "links": [{"href": "http://localhost/v1/volume/connectors/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "self"}, {"href": "http://localhost/volume/connectors/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "bookmark"}], "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123"}]} DEBUG util.py:445: API ACL Testing Path 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-5a27b812-525d-40ed-8247-6143782c8565 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-5a27b812-525d-40ed-8247-6143782c8565 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path get /v1/volume/targets DEBUG util.py:445: GET: /v1/volume/targets {} DEBUG util.py:445: GOT:Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-6661774a-e744-47bb-a9eb-f8c6e67b8092 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"targets": [{"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "boot_index": 0, "volume_id": "12345678", "volume_type": "iscsi", "links": [{"href": "http://localhost/v1/volume/targets/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "self"}, {"href": "http://localhost/volume/targets/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "bookmark"}], "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123"}]} DEBUG util.py:445: ACL Test GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-6661774a-e744-47bb-a9eb-f8c6e67b8092 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"targets": [{"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "boot_index": 0, "volume_id": "12345678", "volume_type": "iscsi", "links": [{"href": "http://localhost/v1/volume/targets/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "self"}, {"href": "http://localhost/volume/targets/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "bookmark"}], "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123"}]} DEBUG util.py:445: API ACL Testing Path get /v1/volume/targets/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 DEBUG util.py:445: GET: /v1/volume/targets/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 {} DEBUG util.py:445: GOT:Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-185f862e-f325-40a8-9ecb-bd120b682c4a DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2024-05-14T11:54:38.893319+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-185f862e-f325-40a8-9ecb-bd120b682c4a DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "created_at": "2024-05-14T11:54:38.893319+00:00", "updated_at": null, "boot_index": 0, "extra": {}, "properties": {"target_iqn": "iqn.foo"}, "volume_id": "12345678", "volume_type": "iscsi", "links": [{"href": "http://localhost/v1/volume/targets/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "self"}, {"href": "http://localhost/volume/targets/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "bookmark"}], "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123"} DEBUG util.py:445: API ACL Testing Path get /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/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-eac58967-e30f-4230-bbb4-518f1d310533 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"links": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume/", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume/", "rel": "bookmark"}], "connectors": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume/connectors", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume/connectors", "rel": "bookmark"}], "targets": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume/targets", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume/targets", "rel": "bookmark"}]} DEBUG util.py:445: ACL Test GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-eac58967-e30f-4230-bbb4-518f1d310533 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"links": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume/", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume/", "rel": "bookmark"}], "connectors": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume/connectors", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume/connectors", "rel": "bookmark"}], "targets": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume/targets", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume/targets", "rel": "bookmark"}]} DEBUG util.py:445: API ACL Testing Path get /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume/targets DEBUG util.py:445: GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume/targets {} DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00204_nodes_volume_targets_get_admin [0.053620s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00206_nodes_volume_targets_get_reader [0.054097s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.common.test_driver_factory.DefaultInterfaceTestCase.test_check_exception_IncompatibleInterface [0.024266s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00212_drivers_driver_name_get_reader [0.049121s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.common.test_driver_factory.DriverLoadTestCase.test_driver_duplicated_entry [0.015685s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.common.test_driver_factory.HardwareTypeLoadTestCase.test_build_driver_for_task_configured_defaults [0.026066s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00208_drivers_get_member [0.045423s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.common.test_driver_factory.HardwareTypeLoadTestCase.test_get_hardware_type_existing [0.014893s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.common.test_driver_factory.HardwareTypeLoadTestCase.test_no_storage_interface [0.017237s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.common.test_driver_factory.HardwareTypeLoadTestCase.test_no_storage_interface_default_from_conf [0.017393s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.common.test_driver_factory.HardwareTypeLoadTestCase.test_none_storage_interface [0.016734s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00219_drivers_vendor_passthru_methods_get_admin [0.047237s] ... 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-361679cd-fb17-491a-9888-8f704363e681 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"deploy_templates": [{"uuid": "6db0d1fe-78ba-45e9-b396-3871103528a1", "name": "CUSTOM_DT1", "links": [{"href": "http://localhost/v1/deploy_templates/6db0d1fe-78ba-45e9-b396-3871103528a1", "rel": "self"}, {"href": "http://localhost/deploy_templates/6db0d1fe-78ba-45e9-b396-3871103528a1", "rel": "bookmark"}]}]} DEBUG util.py:445: ACL Test GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-361679cd-fb17-491a-9888-8f704363e681 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"deploy_templates": [{"uuid": "6db0d1fe-78ba-45e9-b396-3871103528a1", "name": "CUSTOM_DT1", "links": [{"href": "http://localhost/v1/deploy_templates/6db0d1fe-78ba-45e9-b396-3871103528a1", "rel": "self"}, {"href": "http://localhost/deploy_templates/6db0d1fe-78ba-45e9-b396-3871103528a1", "rel": "bookmark"}]}]} DEBUG util.py:445: API ACL Testing Path post /v1/chassis DEBUG util.py:445: POST: /v1/chassis {'description': 'test-chassis'} DEBUG util.py:445: GOT:Response: 201 Created DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Location: http://localhost/v1/chassis/b5878471-ed09-4314-a9f9-9d4b385ac3ae DEBUG util.py:445: Openstack-Request-Id: req-5638844d-6516-437a-a18a-2bdb3dc6e316 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"uuid": "b5878471-ed09-4314-a9f9-9d4b385ac3ae", "created_at": "2024-05-14T11:54:38.893807+00:00", "updated_at": null, "description": "test-chassis", "extra": {}, "links": [{"href": "http://localhost/v1/chassis/b5878471-ed09-4314-a9f9-9d4b385ac3ae", "rel": "self"}, {"href": "http://localhost/chassis/b5878471-ed09-4314-a9f9-9d4b385ac3ae", "rel": "bookmark"}], "nodes": [[{"href": "http://localhost/v1/chassis/b5878471-ed09-4314-a9f9-9d4b385ac3ae/nodes", "rel": "self"}, {"href": "http://localhost/chassis/b5878471-ed09-4314-a9f9-9d4b385ac3ae/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/b5878471-ed09-4314-a9f9-9d4b385ac3ae DEBUG util.py:445: Openstack-Request-Id: req-5638844d-6516-437a-a18a-2bdb3dc6e316 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"uuid": "b5878471-ed09-4314-a9f9-9d4b385ac3ae", "created_at": "2024-05-14T11:54:38.893807+00:00", "updated_at": null, "description": "test-chassis", "extra": {}, "links": [{"href": "http://localhost/v1/chassis/b5878471-ed09-4314-a9f9-9d4b385ac3ae", "rel": "self"}, {"href": "http://localhost/chassis/b5878471-ed09-4314-a9f9-9d4b385ac3ae", "rel": "bookmark"}], "nodes": [[{"href": "http://localhost/v1/chassis/b5878471-ed09-4314-a9f9-9d4b385ac3ae/nodes", "rel": "self"}, {"href": "http://localhost/chassis/b5878471-ed09-4314-a9f9-9d4b385ac3ae/nodes", "rel": "bookmark"}]]} DEBUG util.py:445: API ACL Testing Path get /v1/chassis DEBUG util.py:445: GET: /v1/chassis {} DEBUG util.py:445: GOT:Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-7d112370-2e02-4094-8623-2721bc4e2b51 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"chassis": [{"uuid": "e74c40e0-d825-11e2-a28f-0800200c9a66", "description": "data-center-1-chassis", "links": [{"href": "http://localhost/v1/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66", "rel": "self"}, {"href": "http://localhost/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66", "rel": "bookmark"}]}]} DEBUG util.py:445: ACL Test GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-7d112370-2e02-4094-8623-2721bc4e2b51 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"chassis": [{"uuid": "e74c40e0-d825-11e2-a28f-0800200c9a66", "description": "data-center-1-chassis", "links": [{"href": "http://localhost/v1/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66", "rel": "self"}, {"href": "http://localhost/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66", "rel": "bookmark"}]}]} DEBUG util.py:445: API ACL Testing Path get /v1/chassis/detail DEBUG util.py:445: GET: /v1/chassis/detail {} DEBUG util.py:445: GOT:Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-a915c032-cf0b-4b85-8313-5e31e42818e0 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"chassis": [{"uuid": "e74c40e0-d825-11e2-a28f-0800200c9a66", "created_at": "2024-05-14T11:54:38.971913+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-a915c032-cf0b-4b85-8313-5e31e42818e0 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"chassis": [{"uuid": "e74c40e0-d825-11e2-a28f-0800200c9a66", "created_at": "2024-05-14T11:54:38.971913+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-49db51c5-757f-4ac8-8448-1ad6753dc377 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:chassis:update\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-49db51c5-757f-4ac8-8448-1ad6753dc377 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:chassis:update\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path get /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/history/3fa05868-5540-44b5-822f-273f31f08cf1 DEBUG util.py:445: GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/history/3fa05868-5540-44b5-822f-273f31f08cf1 {} DEBUG util.py:445: GOT:Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-5164036c-6b42-4bc3-acb5-87ec377c8767 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"uuid": "3fa05868-5540-44b5-822f-273f31f08cf1", "created_at": "2024-05-14T11:54:39.079558+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/3fa05868-5540-44b5-822f-273f31f08cf1", "rel": "self"}]} DEBUG util.py:445: {3} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00303_node_history_get_entry_member [0.056359s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_audit.TestAuditMiddleware.test_disable_audit_request [0.019556s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_audit.TestAuditMiddleware.test_enable_audit_request [0.020140s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_functions.TestFunctionDefinition.test_signature [0.011353s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_hooks.TestContextHook.test_context_hook_after_add_request_id [0.022605s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_hooks.TestNoExceptionTracebackHook.test_hook_on_clientfault [0.016829s] ... 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-12b6ec88-c01f-4ad9-970a-c5a81e080bca DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:volume:update\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path delete /v1/volume/targets/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 DEBUG util.py:445: DELETE: /v1/volume/targets/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 DEBUG util.py:445: GOT:Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-5f081cde-0312-44df-81bf-17e9dce5aa1a DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-5f081cde-0312-44df-81bf-17e9dce5aa1a DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path get /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume DEBUG util.py:445: GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume {} DEBUG util.py:445: GOT:Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-7d87021e-b942-4748-a7c6-bbc6a2fb8dc0 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"links": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume/", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume/", "rel": "bookmark"}], "connectors": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume/connectors", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume/connectors", "rel": "bookmark"}], "targets": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume/targets", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume/targets", "rel": "bookmark"}]} DEBUG util.py:445: ACL Test GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-7d87021e-b942-4748-a7c6-bbc6a2fb8dc0 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"links": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume/", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume/", "rel": "bookmark"}], "connectors": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume/connectors", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume/connectors", "rel": "bookmark"}], "targets": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume/targets", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume/targets", "rel": "bookmark"}]} DEBUG util.py:445: API ACL Testing Path get /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume/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-12aa0a6a-ba2e-4103-a1ea-0f04db7ac4f2 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"connectors": [{"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "connector_id": "iqn.2012-06.com.example:initiator", "type": "iqn", "links": [{"href": "http://localhost/v1/volume/connectors/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "self"}, {"href": "http://localhost/volume/connectors/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "bookmark"}], "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123"}]} DEBUG util.py:445: ACL Test GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-12aa0a6a-ba2e-4103-a1ea-0f04db7ac4f2 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"connectors": [{"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "connector_id": "iqn.2012-06.com.example:initiator", "type": "iqn", "links": [{"href": "http://localhost/v1/volume/connectors/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "self"}, {"href": "http://localhost/volume/connectors/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "bookmark"}], "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123"}]} DEBUG util.py:445: API ACL Testing Path get /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume/targets DEBUG util.py:445: GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume/targets {} DEBUG util.py:445: GOT:Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-fafddef1-d39b-4e15-ba16-717099d351a2 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"targets": [{"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "boot_index": 0, "volume_id": "12345678", "volume_type": "iscsi", "links": [{"href": "http://localhost/v1/volume/targets/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "self"}, {"href": "http://localhost/volume/targets/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "bookmark"}], "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123"}]} DEBUG util.py:445: ACL Test GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-fafddef1-d39b-4e15-ba16-717099d351a2 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"targets": [{"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "boot_index": 0, "volume_id": "12345678", "volume_type": "iscsi", "links": [{"href": "http://localhost/v1/volume/targets/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "self"}, {"href": "http://localhost/volume/targets/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "bookmark"}], "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123"}]} DEBUG util.py:445: API ACL Testing Path get /v1/drivers/fake-driverz DEBUG util.py:445: GET: /v1/drivers/fake-driverz {} DEBUG util.py:445: GOT:Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-35e7859c-f67d-49b4-a478-486c6afc3fe7 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Could not find the following driver(s) or hardware type(s): fake-driverz.\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-35e7859c-f67d-49b4-a478-486c6afc3fe7 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Could not find the following driver(s) or hardware type(s): fake-driverz.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path get /v1/drivers/fake-driverz DEBUG util.py:445: GET: /v1/drivers/fake-driverz {} DEBUG util.py:445: GOT:Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-2d1c3010-0c70-456b-9714-d0eac6ae3b94 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Could not find the following driver(s) or hardware type(s): fake-driverz.\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-2d1c3010-0c70-456b-9714-d0eac6ae3b94 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Could not find the following driver(s) or hardware type(s): fake-driverz.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path get /v1/drivers/fake-driverz/raid/logical_disk_properties DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00218_drivers_raid_logical_disk_properties_get_reader [0.074056s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_hooks.TestNoExceptionTracebackHook.test_hook_on_serverfault_debug [0.016767s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.common.test_driver_factory.NetworkInterfaceFactoryTestCase.test_build_driver_for_task_default_is_flat [0.025324s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00229_drivers_vendor_passthru_put_member [0.046034s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00230_drivers_vendor_passthru_put_reader [0.076229s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.common.test_driver_factory.NetworkInterfaceFactoryTestCase.test_build_driver_for_task_unknown_network_interface [0.025430s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_method.TestExpose.test_exception [0.029783s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.common.test_driver_factory.NewFactoryTestCase.test_new_driver_factory_unknown_entrypoint [0.013956s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_method.TestExpose.test_expose_validation [0.018233s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00232_drivers_vendor_passthru_delete_reader [0.048444s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_method.TestExpose.test_response_content [0.017556s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.common.test_driver_factory.StorageInterfaceFactoryTestCase.test_build_interface_for_task [0.025259s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00238_nodes_bios_bios_setting_get_reader [0.054878s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.common.test_driver_factory.WarnUnsupportedDriversTestCase.test__warn_if_unsupported_with_supported [0.012566s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_proxy_middleware.TestProxyHeadersMiddleware.test_proxy_headers_disabled [0.018428s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.common.test_fsm.FSMTest.test__validate_target_state [0.011504s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_root.TestRoot.test_get_root [0.017123s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.common.test_fsm.FSMTest.test_target_state_stable [0.011254s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.common.test_glance_service.CheckImageServiceTestCase.test_check_image_service__no_auth [0.014623s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00234_nodes_bios_get_member [0.057289s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_root.TestV1Root.test_get_v1_22_root [0.016551s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.common.test_glance_service.TestGlanceImageService.test_client_notfound_converts_to_imagenotfound [0.011647s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00240_conductors_get_member [0.055517s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.api.test_root.TestV1Root.test_get_v1_32_root [0.017040s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.common.test_glance_service.TestGlanceSwiftTempURL.test_swift_temp_url_invalid_image_info [0.012516s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.common.test_glance_service.TestServiceUtils.test_is_glance_image [0.011581s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.cmd.test_conductor.ConductorStartTestCase.test_warn_about_unsafe_shred_parameters_produces_a_warning [0.019476s] ... ok DEBUG util.py:443: INFO [alembic.runtime.migration] Context impl SQLiteImpl. DEBUG util.py:443: INFO [alembic.runtime.migration] Will assume non-transactional DDL. DEBUG util.py:445: {2} ironic.tests.unit.common.test_glance_service.TestSwiftTempUrlCache.test_do_not_return_expired_tempurls [0.012302s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.common.test_glance_service.TestSwiftTempUrlCache.test_swift_temp_url_cache_enabled [0.012735s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00243_conductors_hostname_get_member [0.049464s] ... 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-5991d03f-6531-4591-8369-76034a4e03ec DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"targets": [{"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "boot_index": 0, "volume_id": "12345678", "volume_type": "iscsi", "links": [{"href": "http://localhost/v1/volume/targets/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "self"}, {"href": "http://localhost/volume/targets/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "bookmark"}], "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123"}]} DEBUG util.py:445: ACL Test GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-5991d03f-6531-4591-8369-76034a4e03ec DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"targets": [{"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "boot_index": 0, "volume_id": "12345678", "volume_type": "iscsi", "links": [{"href": "http://localhost/v1/volume/targets/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "self"}, {"href": "http://localhost/volume/targets/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "bookmark"}], "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123"}]} DEBUG util.py:445: API ACL Testing Path get /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume/targets DEBUG util.py:445: GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume/targets {} DEBUG util.py:445: GOT:Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-2a73cfa6-1bf1-4db6-b7f2-5e1b7e6577b8 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"targets": [{"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "boot_index": 0, "volume_id": "12345678", "volume_type": "iscsi", "links": [{"href": "http://localhost/v1/volume/targets/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "self"}, {"href": "http://localhost/volume/targets/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "bookmark"}], "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123"}]} DEBUG util.py:445: ACL Test GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-2a73cfa6-1bf1-4db6-b7f2-5e1b7e6577b8 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"targets": [{"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "boot_index": 0, "volume_id": "12345678", "volume_type": "iscsi", "links": [{"href": "http://localhost/v1/volume/targets/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "self"}, {"href": "http://localhost/volume/targets/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "bookmark"}], "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123"}]} DEBUG util.py:445: API ACL Testing Path get /v1/drivers DEBUG util.py:445: GET: /v1/drivers {} DEBUG util.py:445: GOT:Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-556ff2fe-8dc0-4048-8f5e-523e447e66b5 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"drivers": []} DEBUG util.py:445: ACL Test GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-556ff2fe-8dc0-4048-8f5e-523e447e66b5 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"drivers": []} DEBUG util.py:445: API ACL Testing Path get /v1/drivers/fake-driverz/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-94c9fa36-2645-4a6a-bd1c-8e4a535aee78 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"No conductors registered.\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-94c9fa36-2645-4a6a-bd1c-8e4a535aee78 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"No conductors registered.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path put /v1/drivers/fake-driverz/vendor_passthru?method=test DEBUG util.py:445: PUT: /v1/drivers/fake-driverz/vendor_passthru?method=test None DEBUG util.py:445: GOT:Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-17aac843-219c-4910-9310-cbbfa4eefd0f DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:driver:vendor_passthru\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-17aac843-219c-4910-9310-cbbfa4eefd0f DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:driver:vendor_passthru\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path delete /v1/drivers/fake-driverz/vendor_passthru?method=test DEBUG util.py:445: DELETE: /v1/drivers/fake-driverz/vendor_passthru?method=test DEBUG util.py:445: GOT:Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-81a268e6-f1b5-4fe9-a5b1-366abe2be50b DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:driver:vendor_passthru\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-81a268e6-f1b5-4fe9-a5b1-366abe2be50b DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:driver:vendor_passthru\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path get /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/bios DEBUG util.py:445: GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/bios {} DEBUG util.py:445: GOT:Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-da11ebbd-0dea-4ce0-958d-8a90bf7b080d DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"bios": [{"created_at": "2024-05-14T11:54:39.287677+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-da11ebbd-0dea-4ce0-958d-8a90bf7b080d DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"bios": [{"created_at": "2024-05-14T11:54:39.287677+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: {1} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00236_nodes_bios_bios_setting_get_admin [0.055051s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.common.test_hash_ring.HashRingManagerTestCase.test_hash_ring_manager_automatic_retry [0.026673s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.common.test_hash_ring.HashRingManagerTestCase.test_hash_ring_manager_hardware_type_success_groups [0.025186s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00239_conductors_get_admin [0.074025s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00247_allocations_post_reader [0.048319s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.common.test_image_service.FileImageServiceTestCase.test_download_copy [0.019959s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.common.test_image_service.FileImageServiceTestCase.test_validate_href [0.012557s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.common.test_image_service.HttpImageServiceTestCase.test_download_fail_verify_true_oserror [0.014900s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00242_conductors_hostname_get_admin [0.060349s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.common.test_image_service.HttpImageServiceTestCase.test_download_success_verify_true_connerror [0.014478s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.common.test_image_service.HttpImageServiceTestCase.test_show_rfc_822 [0.014617s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.cmd.test_status.TestUpgradeChecks.test__check_obj_versions [0.154474s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.common.test_args.ValidateDecoratorTest.test_and [0.014262s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.common.test_image_service.HttpImageServiceTestCase.test_validate_href_error_with_secret_parameter [0.012271s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.common.test_image_service.HttpImageServiceTestCase.test_validate_href_http_scheme [0.012973s] ... 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-0663b874-94b0-4e27-acb4-9bd1454a480b DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"No conductors registered.\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 404 Not Found DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-0663b874-94b0-4e27-acb4-9bd1454a480b DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"No conductors registered.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path put /v1/drivers/fake-driverz/vendor_passthru?method=test DEBUG util.py:445: PUT: /v1/drivers/fake-driverz/vendor_passthru?method=test None DEBUG util.py:445: GOT:Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-4802268b-7d66-4694-b629-ce6e56528e72 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:driver:vendor_passthru\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-4802268b-7d66-4694-b629-ce6e56528e72 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:driver:vendor_passthru\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path get /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/bios/FAKE_SETTING DEBUG util.py:445: GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/bios/FAKE_SETTING {} DEBUG util.py:445: GOT:Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-032aa499-4591-4a2a-b2d7-34cfc34bee68 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"FAKE_SETTING": {"created_at": "2024-05-14T11:54:39.261543+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-032aa499-4591-4a2a-b2d7-34cfc34bee68 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"FAKE_SETTING": {"created_at": "2024-05-14T11:54:39.261543+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-dc0b7837-6586-4502-836a-617897df0ffc DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"conductors": [{"hostname": "test-conductor-node", "conductor_group": "", "links": [{"href": "http://localhost/v1/conductors/test-conductor-node", "rel": "self"}, {"href": "http://localhost/conductors/test-conductor-node", "rel": "bookmark"}], "alive": true}]} DEBUG util.py:445: ACL Test GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-dc0b7837-6586-4502-836a-617897df0ffc DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"conductors": [{"hostname": "test-conductor-node", "conductor_group": "", "links": [{"href": "http://localhost/v1/conductors/test-conductor-node", "rel": "self"}, {"href": "http://localhost/conductors/test-conductor-node", "rel": "bookmark"}], "alive": true}]} DEBUG util.py:445: API ACL Testing Path get /v1/conductors/test-conductor-node DEBUG util.py:445: GET: /v1/conductors/test-conductor-node {} DEBUG util.py:445: GOT:Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-1a41a830-17f4-4e0d-8021-d80de304dc1a DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"created_at": "2024-05-14T11:54:39.367655+00:00", "updated_at": "2024-05-14T11:54:39.368414+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-1a41a830-17f4-4e0d-8021-d80de304dc1a DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"created_at": "2024-05-14T11:54:39.367655+00:00", "updated_at": "2024-05-14T11:54:39.368414+00:00", "hostname": "test-conductor-node", "conductor_group": "", "drivers": ["fake-driver", "null-driver"], "links": [{"href": "http://localhost/v1/conductors/test-conductor-node", "rel": "self"}, {"href": "http://localhost/conductors/test-conductor-node", "rel": "bookmark"}], "alive": true} DEBUG util.py:445: API ACL Testing Path post /v1/allocations DEBUG util.py:445: POST: /v1/allocations {'resource_class': 'CUSTOM_TEST'} DEBUG util.py:445: GOT:Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-e185a30c-4461-4087-93ec-33142e3521a1 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:allocation:create_restricted\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-e185a30c-4461-4087-93ec-33142e3521a1 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:allocation:create_restricted\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path get /v1/allocations DEBUG util.py:445: GET: /v1/allocations {} DEBUG util.py:445: GOT:Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-1d07bba5-52a2-468e-b8e4-c4e3c1bb4e4c DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"allocations": [{"uuid": "fe9c3d18-0e23-4f78-9838-c2dfb3d037e4", "created_at": "2024-05-14T11:54:39.455466+00:00", "updated_at": null, "candidate_nodes": [], "extra": {}, "last_error": null, "name": null, "owner": null, "resource_class": "CUSTOM_TEST", "state": "allocating", "traits": [], "links": [{"href": "http://localhost/v1/allocations/fe9c3d18-0e23-4f78-9838-c2dfb3d037e4", "rel": "self"}, {"href": "http://localhost/allocations/fe9c3d18-0e23-4f78-9838-c2dfb3d037e4", "rel": "bookmark"}], "node_uuid": "22e26c0b-03f2-4d2e-ae87-c02d7f33c000"}]} DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00249_allocations_get_member [0.047954s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00250_allocations_get_reader [0.047494s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.common.test_args.ValidateDecoratorTest.test_name [0.011908s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.common.test_args.ValidateDictTest.test_dict_valid [0.017473s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.common.test_image_service.HttpImageServiceTestCase.test_validate_href_verify_connect_error [0.012147s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.common.test_image_service.HttpImageServiceTestCase.test_validate_href_verify_error [0.011967s] ... ok DEBUG util.py:443: /usr/lib/python3.9/site-packages/oslo_policy/policy.py:1075: UserWarning: Policy baremetal:allocation:create_pre_rbac failed scope check. The token used to make the request was system scoped but the policy requires ['project'] scope. This behavior may change in the future where using the intended scope is required DEBUG util.py:443: warnings.warn(msg) DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00246_allocations_post_member [0.065866s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.common.test_args.ValidateSchemaTest.test_schema_needs_mixed [0.013855s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.common.test_image_service.HttpImageServiceTestCase.test_validate_href_verify_false [0.012481s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00253_allocations_allocation_id_get_reader [0.047661s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.common.test_image_service.HttpImageServiceTestCase.test_validate_href_verify_true_error [0.012239s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.common.test_image_service.ServiceGetterTestCase.test_get_glance_image_service_url [0.011874s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.common.test_cinder.TestCinderActions.test_attach_volumes_initialize_connection_failure [0.032706s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.common.test_images.FsImageTestCase.test__generate_isolinux_cfg [0.014252s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00258_allocations_allocation_id_delete_member [0.049314s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00252_allocations_allocation_id_get_member [0.050640s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.common.test_images.FsImageTestCase.test__umount_without_raise [0.012363s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.common.test_cinder.TestCinderActions.test_detach_volumes_begin_detaching_failure [0.035150s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.common.test_images.FsImageTestCase.test_create_boot_iso_for_bios_with_no_boot_mode [0.014813s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.common.test_images.FsImageTestCase.test_create_boot_iso_for_uefi_esp_image_for_hrefs [0.014591s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.common.test_cinder.TestCinderActions.test_detach_volumes_client_init_failure_bad_request [0.031050s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.common.test_images.FsImageTestCase.test_create_isolinux_image_for_bios_default_ldlinux [0.016198s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00261_nodes_allocation_get_member [0.052816s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.common.test_images.FsImageTestCase.test_create_vfat_image [0.017192s] ... 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-e16ba15a-ae74-4a1c-831d-c8c688d374d8 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"FAKE_SETTING": {"created_at": "2024-05-14T11:54:39.348833+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-e16ba15a-ae74-4a1c-831d-c8c688d374d8 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"FAKE_SETTING": {"created_at": "2024-05-14T11:54:39.348833+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-67aa4339-a968-48c6-bae7-92bb2ec984c0 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"conductors": [{"hostname": "test-conductor-node", "conductor_group": "", "links": [{"href": "http://localhost/v1/conductors/test-conductor-node", "rel": "self"}, {"href": "http://localhost/conductors/test-conductor-node", "rel": "bookmark"}], "alive": true}]} DEBUG util.py:445: ACL Test GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-67aa4339-a968-48c6-bae7-92bb2ec984c0 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"conductors": [{"hostname": "test-conductor-node", "conductor_group": "", "links": [{"href": "http://localhost/v1/conductors/test-conductor-node", "rel": "self"}, {"href": "http://localhost/conductors/test-conductor-node", "rel": "bookmark"}], "alive": true}]} DEBUG util.py:445: API ACL Testing Path get /v1/conductors/test-conductor-node DEBUG util.py:445: GET: /v1/conductors/test-conductor-node {} DEBUG util.py:445: GOT:Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-6fed935d-fc89-499d-b076-3ec9fbd6d0bc DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"created_at": "2024-05-14T11:54:39.472151+00:00", "updated_at": "2024-05-14T11:54:39.472943+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-6fed935d-fc89-499d-b076-3ec9fbd6d0bc DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"created_at": "2024-05-14T11:54:39.472151+00:00", "updated_at": "2024-05-14T11:54:39.472943+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-15194ca0-e9e2-41f1-ae95-584242dad03d DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-15194ca0-e9e2-41f1-ae95-584242dad03d DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path get /v1/allocations/e74e12f4-6122-468c-aca8-01252ccd9ad9 DEBUG util.py:445: GET: /v1/allocations/e74e12f4-6122-468c-aca8-01252ccd9ad9 {} DEBUG util.py:445: GOT:Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-18b082d6-d7e3-449f-8ef1-8e7f47e4ffe9 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"uuid": "e74e12f4-6122-468c-aca8-01252ccd9ad9", "created_at": "2024-05-14T11:54:39.590774+00:00", "updated_at": null, "candidate_nodes": [], "extra": {}, "last_error": null, "name": null, "owner": null, "resource_class": "CUSTOM_TEST", "state": "allocating", "traits": [], "links": [{"href": "http://localhost/v1/allocations/e74e12f4-6122-468c-aca8-01252ccd9ad9", "rel": "self"}, {"href": "http://localhost/allocations/e74e12f4-6122-468c-aca8-01252ccd9ad9", "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-18b082d6-d7e3-449f-8ef1-8e7f47e4ffe9 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"uuid": "e74e12f4-6122-468c-aca8-01252ccd9ad9", "created_at": "2024-05-14T11:54:39.590774+00:00", "updated_at": null, "candidate_nodes": [], "extra": {}, "last_error": null, "name": null, "owner": null, "resource_class": "CUSTOM_TEST", "state": "allocating", "traits": [], "links": [{"href": "http://localhost/v1/allocations/e74e12f4-6122-468c-aca8-01252ccd9ad9", "rel": "self"}, {"href": "http://localhost/allocations/e74e12f4-6122-468c-aca8-01252ccd9ad9", "rel": "bookmark"}], "node_uuid": "22e26c0b-03f2-4d2e-ae87-c02d7f33c000"} DEBUG util.py:445: API ACL Testing Path patch /v1/allocations/bd9e24a2-e9a6-418b-91fb-e909026e6869 DEBUG util.py:445: PATCH: /v1/allocations/bd9e24a2-e9a6-418b-91fb-e909026e6869 [{'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-92f18d2b-8e3b-4952-8a15-9c69a3c11c00 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"uuid": "bd9e24a2-e9a6-418b-91fb-e909026e6869", "created_at": "2024-05-14T11:54:39.642041+00:00", "updated_at": "2024-05-14T11:54:39.672586+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/bd9e24a2-e9a6-418b-91fb-e909026e6869", "rel": "self"}, {"href": "http://localhost/allocations/bd9e24a2-e9a6-418b-91fb-e909026e6869", "rel": "bookmark"}], "node_uuid": "22e26c0b-03f2-4d2e-ae87-c02d7f33c000"} DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00254_allocations_allocation_id_patch_admin [0.055079s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.common.test_cinder.TestCinderActions.test_detach_volumes_detach_failure_errors_allowed [0.034387s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.common.test_images.FsImageTestCase.test_create_vfat_image_always_umount [0.016452s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.common.test_images.FsImageTestCase.test_create_vfat_image_umount_fails [0.016749s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00263_nodes_allocation_delete_admin [0.049282s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.common.test_images.FsImageTestCase.test_get_glance_image_properties_default_all [0.012523s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.common.test_cinder.TestCinderActions.test_detach_volumes_detach_failure_errors_not_allowed [0.040638s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.common.test_images.IronicImagesTestCase.test_image_show_no_image_service [0.012794s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00256_allocations_allocation_id_patch_reader [0.076858s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.common.test_molds.ConfigurationMoldTestCase.test_get_configuration_http_error [0.026953s] ... 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-1d07bba5-52a2-468e-b8e4-c4e3c1bb4e4c DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"allocations": [{"uuid": "fe9c3d18-0e23-4f78-9838-c2dfb3d037e4", "created_at": "2024-05-14T11:54:39.455466+00:00", "updated_at": null, "candidate_nodes": [], "extra": {}, "last_error": null, "name": null, "owner": null, "resource_class": "CUSTOM_TEST", "state": "allocating", "traits": [], "links": [{"href": "http://localhost/v1/allocations/fe9c3d18-0e23-4f78-9838-c2dfb3d037e4", "rel": "self"}, {"href": "http://localhost/allocations/fe9c3d18-0e23-4f78-9838-c2dfb3d037e4", "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-a31e852c-a447-4ce1-9eed-79e3974ba2e4 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"allocations": [{"uuid": "50aa79a0-bde1-436d-a836-0515f6f7a1e0", "created_at": "2024-05-14T11:54:39.504005+00:00", "updated_at": null, "candidate_nodes": [], "extra": {}, "last_error": null, "name": null, "owner": null, "resource_class": "CUSTOM_TEST", "state": "allocating", "traits": [], "links": [{"href": "http://localhost/v1/allocations/50aa79a0-bde1-436d-a836-0515f6f7a1e0", "rel": "self"}, {"href": "http://localhost/allocations/50aa79a0-bde1-436d-a836-0515f6f7a1e0", "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-a31e852c-a447-4ce1-9eed-79e3974ba2e4 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"allocations": [{"uuid": "50aa79a0-bde1-436d-a836-0515f6f7a1e0", "created_at": "2024-05-14T11:54:39.504005+00:00", "updated_at": null, "candidate_nodes": [], "extra": {}, "last_error": null, "name": null, "owner": null, "resource_class": "CUSTOM_TEST", "state": "allocating", "traits": [], "links": [{"href": "http://localhost/v1/allocations/50aa79a0-bde1-436d-a836-0515f6f7a1e0", "rel": "self"}, {"href": "http://localhost/allocations/50aa79a0-bde1-436d-a836-0515f6f7a1e0", "rel": "bookmark"}], "node_uuid": "22e26c0b-03f2-4d2e-ae87-c02d7f33c000"}]} DEBUG util.py:445: API ACL Testing Path get /v1/allocations/18f5445e-b0ab-4f32-a3fd-016f6e851214 DEBUG util.py:445: GET: /v1/allocations/18f5445e-b0ab-4f32-a3fd-016f6e851214 {} DEBUG util.py:445: GOT:Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-68191ad0-9f77-4362-951d-ae20327f76c7 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"uuid": "18f5445e-b0ab-4f32-a3fd-016f6e851214", "created_at": "2024-05-14T11:54:39.551201+00:00", "updated_at": null, "candidate_nodes": [], "extra": {}, "last_error": null, "name": null, "owner": null, "resource_class": "CUSTOM_TEST", "state": "allocating", "traits": [], "links": [{"href": "http://localhost/v1/allocations/18f5445e-b0ab-4f32-a3fd-016f6e851214", "rel": "self"}, {"href": "http://localhost/allocations/18f5445e-b0ab-4f32-a3fd-016f6e851214", "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-68191ad0-9f77-4362-951d-ae20327f76c7 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"uuid": "18f5445e-b0ab-4f32-a3fd-016f6e851214", "created_at": "2024-05-14T11:54:39.551201+00:00", "updated_at": null, "candidate_nodes": [], "extra": {}, "last_error": null, "name": null, "owner": null, "resource_class": "CUSTOM_TEST", "state": "allocating", "traits": [], "links": [{"href": "http://localhost/v1/allocations/18f5445e-b0ab-4f32-a3fd-016f6e851214", "rel": "self"}, {"href": "http://localhost/allocations/18f5445e-b0ab-4f32-a3fd-016f6e851214", "rel": "bookmark"}], "node_uuid": "22e26c0b-03f2-4d2e-ae87-c02d7f33c000"} DEBUG util.py:445: API ACL Testing Path delete /v1/allocations/f96e852c-3268-4785-8507-ca8f4d4e7534 DEBUG util.py:445: DELETE: /v1/allocations/f96e852c-3268-4785-8507-ca8f4d4e7534 DEBUG util.py:445: GOT:Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-7dc4bbd7-5bed-4da1-aa98-09cba4dd43c6 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-7dc4bbd7-5bed-4da1-aa98-09cba4dd43c6 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path get /v1/nodes/22e26c0b-03f2-4d2e-ae87-c02d7f33c000/allocation DEBUG util.py:445: GET: /v1/nodes/22e26c0b-03f2-4d2e-ae87-c02d7f33c000/allocation {} DEBUG util.py:445: GOT:Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-9ffa0459-1943-4880-b595-14d0233735cb DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"uuid": "caae88f1-1c43-4d3a-87ad-b36ac701cb32", "created_at": "2024-05-14T11:54:39.648921+00:00", "updated_at": null, "candidate_nodes": [], "extra": {}, "last_error": null, "name": null, "owner": null, "resource_class": "CUSTOM_TEST", "state": "allocating", "traits": [], "links": [{"href": "http://localhost/v1/allocations/caae88f1-1c43-4d3a-87ad-b36ac701cb32", "rel": "self"}, {"href": "http://localhost/allocations/caae88f1-1c43-4d3a-87ad-b36ac701cb32", "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-9ffa0459-1943-4880-b595-14d0233735cb DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"uuid": "caae88f1-1c43-4d3a-87ad-b36ac701cb32", "created_at": "2024-05-14T11:54:39.648921+00:00", "updated_at": null, "candidate_nodes": [], "extra": {}, "last_error": null, "name": null, "owner": null, "resource_class": "CUSTOM_TEST", "state": "allocating", "traits": [], "links": [{"href": "http://localhost/v1/allocations/caae88f1-1c43-4d3a-87ad-b36ac701cb32", "rel": "self"}, {"href": "http://localhost/allocations/caae88f1-1c43-4d3a-87ad-b36ac701cb32", "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-e9bbb88b-65e2-4510-a79e-c875bbb2d1af DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-e9bbb88b-65e2-4510-a79e-c875bbb2d1af DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path get /v1/deploy_templates DEBUG util.py:445: GET: /v1/deploy_templates {} DEBUG util.py:445: {3} ironic.tests.unit.common.test_cinder.TestCinderActions.test_detach_volumes_detach_meta_failure_errors_not_allowed [0.034539s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.common.test_molds.ConfigurationMoldTestCase.test_get_configuration_http_noauth [0.026780s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00270_deploy_templates_get_member [0.047678s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.common.test_cinder.TestCinderActions.test_detach_volumes_one_detached [0.032302s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00257_allocations_allocation_id_delete_admin [0.075410s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.common.test_molds.ConfigurationMoldTestCase.test_get_configuration_mold_connection_error_exceeded [0.027254s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00274_deploy_templates_deploy_template_id_get_reader [0.047030s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.common.test_cinder.TestCinderActions.test_detach_volumes_vol_not_found [0.036702s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.common.test_molds.ConfigurationMoldTestCase.test_save_configuration_http [0.026417s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.common.test_driver_factory.CheckAndUpdateNodeInterfacesTestCase.test_no_network_interface [0.019048s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00260_nodes_allocation_get_admin [0.055114s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.common.test_driver_factory.DefaultInterfaceTestCase.test_calculated_no_answer [0.014317s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.common.test_network.GetPhysnetsByPortgroupID.test_exclude_port_no_id [0.028955s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00275_deploy_templates_deploy_template_id_patch_admin [0.061133s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.common.test_driver_factory.DefaultInterfaceTestCase.test_calculated_no_answer_drivername_node [0.015378s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.common.test_network.GetPhysnetsForNodeTestCase.test_get_physnets_for_node_multiple_ports [0.029023s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.common.test_driver_factory.DefaultInterfaceTestCase.test_network_from_additional_defaults_hardware_type [0.014788s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.common.test_driver_factory.DriverLoadTestCase.test_driver_load_error_if_driver_enabled [0.014113s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00276_deploy_templates_deploy_template_id_patch_member [0.047448s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00268_deploy_templates_post_reader [0.052607s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.common.test_network.GetPhysnetsForNodeTestCase.test_get_physnets_for_node_no_ports [0.026396s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.common.test_driver_factory.HardwareTypeLoadTestCase.test_build_driver_for_task [0.026347s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.common.test_driver_factory.HardwareTypeLoadTestCase.test_build_driver_for_task_calculated_defaults [0.025670s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00278_deploy_templates_deploy_template_id_delete_admin [0.047981s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00271_deploy_templates_get_reader [0.050906s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.common.test_driver_factory.HardwareTypeLoadTestCase.test_build_driver_for_task_fake [0.025205s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.common.test_driver_factory.HardwareTypeLoadTestCase.test_build_driver_for_task_not_fake [0.028000s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00284_chassis_get_admin [0.051140s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.common.test_driver_factory.HardwareTypeLoadTestCase.test_enabled_supported_interfaces_non_default [0.017014s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.common.test_driver_factory.HardwareTypeLoadTestCase.test_invalid_rescue_interface [0.015542s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.common.test_driver_factory.HardwareTypeLoadTestCase.test_no_raid_interface_no_default [0.017571s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.common.test_driver_factory.HardwareTypeLoadTestCase.test_no_rescue_interface_default_from_conf [0.017024s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.common.test_driver_factory.NetworkInterfaceFactoryTestCase.test_build_driver_for_task [0.026758s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.common.test_driver_factory.WarnUnsupportedDriversTestCase.test__warn_if_unsupported_with_unsupported [0.013680s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.common.test_network.GetPortgroupByIdTestCase.test_portgroup_by_id_no_such_portgroup [0.169968s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.common.test_network.GetPortsByPortgroupIdTestCase.test_ports_by_portgroup_id [0.030922s] ... 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-b7b44010-836b-48a7-a586-5c8f3253bcf3 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"deploy_templates": [{"uuid": "e290ab30-ab87-419d-b051-3890d2b068e2", "name": "CUSTOM_DT1", "links": [{"href": "http://localhost/v1/deploy_templates/e290ab30-ab87-419d-b051-3890d2b068e2", "rel": "self"}, {"href": "http://localhost/deploy_templates/e290ab30-ab87-419d-b051-3890d2b068e2", "rel": "bookmark"}]}]} DEBUG util.py:445: ACL Test GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-b7b44010-836b-48a7-a586-5c8f3253bcf3 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"deploy_templates": [{"uuid": "e290ab30-ab87-419d-b051-3890d2b068e2", "name": "CUSTOM_DT1", "links": [{"href": "http://localhost/v1/deploy_templates/e290ab30-ab87-419d-b051-3890d2b068e2", "rel": "self"}, {"href": "http://localhost/deploy_templates/e290ab30-ab87-419d-b051-3890d2b068e2", "rel": "bookmark"}]}]} DEBUG util.py:445: API ACL Testing Path get /v1/deploy_templates/28d831a0-564b-47d3-a066-36fdf971b051 DEBUG util.py:445: GET: /v1/deploy_templates/28d831a0-564b-47d3-a066-36fdf971b051 {} DEBUG util.py:445: GOT:Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-032454c3-3535-43df-be67-88c064f09ff8 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"uuid": "28d831a0-564b-47d3-a066-36fdf971b051", "created_at": "2024-05-14T11:54:39.806591+00:00", "updated_at": null, "name": "CUSTOM_DT1", "extra": {}, "links": [{"href": "http://localhost/v1/deploy_templates/28d831a0-564b-47d3-a066-36fdf971b051", "rel": "self"}, {"href": "http://localhost/deploy_templates/28d831a0-564b-47d3-a066-36fdf971b051", "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-032454c3-3535-43df-be67-88c064f09ff8 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"uuid": "28d831a0-564b-47d3-a066-36fdf971b051", "created_at": "2024-05-14T11:54:39.806591+00:00", "updated_at": null, "name": "CUSTOM_DT1", "extra": {}, "links": [{"href": "http://localhost/v1/deploy_templates/28d831a0-564b-47d3-a066-36fdf971b051", "rel": "self"}, {"href": "http://localhost/deploy_templates/28d831a0-564b-47d3-a066-36fdf971b051", "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/2bc87c89-7556-42fe-9ccf-19c2749449e6 DEBUG util.py:445: PATCH: /v1/deploy_templates/2bc87c89-7556-42fe-9ccf-19c2749449e6 [{'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-8b716bc1-27ff-4db8-9dcf-6da1b563b35c DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"uuid": "2bc87c89-7556-42fe-9ccf-19c2749449e6", "created_at": "2024-05-14T11:54:39.861010+00:00", "updated_at": "2024-05-14T11:54:39.884458+00:00", "name": "CUSTOM_MAGIC", "extra": {}, "links": [{"href": "http://localhost/v1/deploy_templates/2bc87c89-7556-42fe-9ccf-19c2749449e6", "rel": "self"}, {"href": "http://localhost/deploy_templates/2bc87c89-7556-42fe-9ccf-19c2749449e6", "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-8b716bc1-27ff-4db8-9dcf-6da1b563b35c DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"uuid": "2bc87c89-7556-42fe-9ccf-19c2749449e6", "created_at": "2024-05-14T11:54:39.861010+00:00", "updated_at": "2024-05-14T11:54:39.884458+00:00", "name": "CUSTOM_MAGIC", "extra": {}, "links": [{"href": "http://localhost/v1/deploy_templates/2bc87c89-7556-42fe-9ccf-19c2749449e6", "rel": "self"}, {"href": "http://localhost/deploy_templates/2bc87c89-7556-42fe-9ccf-19c2749449e6", "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/d2330c64-f106-4fdb-ade0-de9beeea5ecc DEBUG util.py:445: PATCH: /v1/deploy_templates/d2330c64-f106-4fdb-ade0-de9beeea5ecc [{'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-9c09f44f-6f92-4813-91f8-e8bb72302095 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:deploy_template:update\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-9c09f44f-6f92-4813-91f8-e8bb72302095 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:deploy_template:update\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path delete /v1/deploy_templates/ecd59b65-22e9-49bd-a711-44d4f8d51fd0 DEBUG util.py:445: DELETE: /v1/deploy_templates/ecd59b65-22e9-49bd-a711-44d4f8d51fd0 DEBUG util.py:445: GOT:Response: 204 No Content DEBUG util.py:445: Openstack-Request-Id: req-0cbcae5a-2bb4-4cd4-8a65-e1f4683b1842 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: ACL Test GOT Response: 204 No Content DEBUG util.py:445: Openstack-Request-Id: req-0cbcae5a-2bb4-4cd4-8a65-e1f4683b1842 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: API ACL Testing Path get /v1/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-5ecf72db-bcf9-4498-983e-eb181e875103 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"chassis": [{"uuid": "e74c40e0-d825-11e2-a28f-0800200c9a66", "description": "data-center-1-chassis", "links": [{"href": "http://localhost/v1/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66", "rel": "self"}, {"href": "http://localhost/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66", "rel": "bookmark"}]}]} DEBUG util.py:445: ACL Test GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-5ecf72db-bcf9-4498-983e-eb181e875103 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"chassis": [{"uuid": "e74c40e0-d825-11e2-a28f-0800200c9a66", "description": "data-center-1-chassis", "links": [{"href": "http://localhost/v1/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66", "rel": "self"}, {"href": "http://localhost/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66", "rel": "bookmark"}]}]} DEBUG util.py:445: API ACL Testing Path get /v1/chassis DEBUG util.py:445: GET: /v1/chassis {} DEBUG util.py:445: GOT:Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-8a7810ec-cbb7-42a5-8017-0b334ecc86a6 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"chassis": [{"uuid": "e74c40e0-d825-11e2-a28f-0800200c9a66", "description": "data-center-1-chassis", "links": [{"href": "http://localhost/v1/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66", "rel": "self"}, {"href": "http://localhost/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66", "rel": "bookmark"}]}]} DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00285_chassis_get_member [0.046746s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00288_chassis_detail_get_member [0.048125s] ... 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-92f18d2b-8e3b-4952-8a15-9c69a3c11c00 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"uuid": "bd9e24a2-e9a6-418b-91fb-e909026e6869", "created_at": "2024-05-14T11:54:39.642041+00:00", "updated_at": "2024-05-14T11:54:39.672586+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/bd9e24a2-e9a6-418b-91fb-e909026e6869", "rel": "self"}, {"href": "http://localhost/allocations/bd9e24a2-e9a6-418b-91fb-e909026e6869", "rel": "bookmark"}], "node_uuid": "22e26c0b-03f2-4d2e-ae87-c02d7f33c000"} DEBUG util.py:445: API ACL Testing Path patch /v1/allocations/dbb5a164-3c38-49d9-bc6d-aab58d272dad DEBUG util.py:445: PATCH: /v1/allocations/dbb5a164-3c38-49d9-bc6d-aab58d272dad [{'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-5e8f3bf1-6fe3-45f0-9f5a-845d4716792b DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:allocation:update\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-5e8f3bf1-6fe3-45f0-9f5a-845d4716792b DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:allocation:update\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path delete /v1/allocations/cd2eac98-eba5-44f3-b04b-f9c784076864 DEBUG util.py:445: DELETE: /v1/allocations/cd2eac98-eba5-44f3-b04b-f9c784076864 DEBUG util.py:445: GOT:Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-73ca8af5-02eb-4bac-9b16-04d49e05cd21 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 503 Service Unavailable DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-73ca8af5-02eb-4bac-9b16-04d49e05cd21 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Resource temporarily unavailable, please retry.\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path get /v1/nodes/22e26c0b-03f2-4d2e-ae87-c02d7f33c000/allocation DEBUG util.py:445: GET: /v1/nodes/22e26c0b-03f2-4d2e-ae87-c02d7f33c000/allocation {} DEBUG util.py:445: GOT:Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-3955cd1d-65e3-4e7b-8b55-89d146b2a7e6 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"uuid": "54aaddfc-7594-459c-9d30-c390a67abcc3", "created_at": "2024-05-14T11:54:39.849595+00:00", "updated_at": null, "candidate_nodes": [], "extra": {}, "last_error": null, "name": null, "owner": null, "resource_class": "CUSTOM_TEST", "state": "allocating", "traits": [], "links": [{"href": "http://localhost/v1/allocations/54aaddfc-7594-459c-9d30-c390a67abcc3", "rel": "self"}, {"href": "http://localhost/allocations/54aaddfc-7594-459c-9d30-c390a67abcc3", "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-3955cd1d-65e3-4e7b-8b55-89d146b2a7e6 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"uuid": "54aaddfc-7594-459c-9d30-c390a67abcc3", "created_at": "2024-05-14T11:54:39.849595+00:00", "updated_at": null, "candidate_nodes": [], "extra": {}, "last_error": null, "name": null, "owner": null, "resource_class": "CUSTOM_TEST", "state": "allocating", "traits": [], "links": [{"href": "http://localhost/v1/allocations/54aaddfc-7594-459c-9d30-c390a67abcc3", "rel": "self"}, {"href": "http://localhost/allocations/54aaddfc-7594-459c-9d30-c390a67abcc3", "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-a7bfe45d-a605-45a3-94fb-953b8a41c34f DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:deploy_template:create\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-a7bfe45d-a605-45a3-94fb-953b8a41c34f DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:deploy_template:create\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path get /v1/deploy_templates DEBUG util.py:445: GET: /v1/deploy_templates {} DEBUG util.py:445: GOT:Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-698b9c7a-ddad-491d-9bc7-110b7f9aaea8 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"deploy_templates": [{"uuid": "9eb3dc9b-0851-4c91-888f-1251a24deb31", "name": "CUSTOM_DT1", "links": [{"href": "http://localhost/v1/deploy_templates/9eb3dc9b-0851-4c91-888f-1251a24deb31", "rel": "self"}, {"href": "http://localhost/deploy_templates/9eb3dc9b-0851-4c91-888f-1251a24deb31", "rel": "bookmark"}]}]} DEBUG util.py:445: ACL Test GOT Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-698b9c7a-ddad-491d-9bc7-110b7f9aaea8 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"deploy_templates": [{"uuid": "9eb3dc9b-0851-4c91-888f-1251a24deb31", "name": "CUSTOM_DT1", "links": [{"href": "http://localhost/v1/deploy_templates/9eb3dc9b-0851-4c91-888f-1251a24deb31", "rel": "self"}, {"href": "http://localhost/deploy_templates/9eb3dc9b-0851-4c91-888f-1251a24deb31", "rel": "bookmark"}]}]} DEBUG util.py:445: API ACL Testing Path get /v1/deploy_templates/11c9524f-d60b-4048-bc8c-0ef6aedbb2f6 DEBUG util.py:445: GET: /v1/deploy_templates/11c9524f-d60b-4048-bc8c-0ef6aedbb2f6 {} DEBUG util.py:445: GOT:Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-5579392c-c7a1-4c52-bb53-1cec25e09f11 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"uuid": "11c9524f-d60b-4048-bc8c-0ef6aedbb2f6", "created_at": "2024-05-14T11:54:40.019429+00:00", "updated_at": null, "name": "CUSTOM_DT1", "extra": {}, "links": [{"href": "http://localhost/v1/deploy_templates/11c9524f-d60b-4048-bc8c-0ef6aedbb2f6", "rel": "self"}, {"href": "http://localhost/deploy_templates/11c9524f-d60b-4048-bc8c-0ef6aedbb2f6", "rel": "bookmark"}], "steps": [{"interface": "raid", "step": "create_configuration", "args": {"logical_disks": []}, "priority": 10}]} DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00272_deploy_templates_deploy_template_id_get_admin [0.052896s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00277_deploy_templates_deploy_template_id_patch_reader [0.075756s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.common.test_network.GetPortsByPortgroupIdTestCase.test_ports_by_portgroup_id_empty [0.028297s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00291_chassis_chassis_id_get_member [0.045886s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.common.test_fsm.FSMTest.test_initialize [0.012075s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.common.test_fsm.FSMTest.test_process_event [0.011969s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.common.test_glance_service.TestGlanceImageService.test_client_httpnotfound_converts_to_imagenotfound [0.011995s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00280_deploy_templates_deploy_template_id_delete_reader [0.067426s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.common.test_glance_service.TestGlanceImageService.test_download_file_url [0.018247s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.common.test_network.TestNetwork.test_get_node_vif_ids_during_rescuing [0.032974s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.common.test_glance_service.TestGlanceImageService.test_show_passes_through_to_client [0.013203s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00292_chassis_chassis_id_get_reader [0.046626s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.common.test_glance_service.TestGlanceImageService.test_show_raises_when_image_not_active [0.013401s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.common.test_network.TestNetwork.test_get_node_vif_ids_one_port_int_info [0.028658s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.common.test_glance_service.TestGlanceImageService.test_show_raises_when_no_authtoken_in_the_context [0.012808s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00283_chassis_post_reader [0.058192s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.common.test_glance_service.TestGlanceSwiftTempURL.test__validate_temp_url_config [0.011725s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.common.test_glance_service.TestGlanceSwiftTempURL.test__validate_temp_url_endpoint_less_than_download_delay [0.011942s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00302_node_history_get_entry_admin [0.050670s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.common.test_network.TestNetwork.test_get_node_vif_ids_one_portgroup_int_info [0.034864s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.common.test_glance_service.TestGlanceSwiftTempURL.test__validate_temp_url_no_key_no_exception [0.011743s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.common.test_glance_service.TestGlanceSwiftTempURL.test_swift_temp_url_endpoint_with_suffix [0.014223s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.common.test_network.TestNetwork.test_get_node_vif_ids_two_ports_int_info [0.033118s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00289_chassis_detail_get_reader [0.048097s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.common.test_glance_service.TestGlanceSwiftTempURL.test_swift_temp_url_key_detected [0.019012s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.common.test_glance_service.TestServiceUtils.test_parse_image_id_from_uuid [0.012052s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.common.test_glance_service.TestSwiftTempUrlCache.test_swift_temp_url_cache_disabled [0.012629s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00293_chassis_chassis_id_patch_admin [0.062452s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.common.test_neutron.TestGetNetworkByUUIDOrName.test__get_network_by_uuid_or_name_missing [0.013573s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.common.test_neutron.TestGetPhysnetsByPortUUID.test_get_physnets_by_port_uuid_port_failure [0.013541s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.common.test_hash_ring.HashRingManagerWithGroupsTestCase.test_hash_ring_manager_automatic_retry [0.028420s] ... 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-8a7810ec-cbb7-42a5-8017-0b334ecc86a6 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"chassis": [{"uuid": "e74c40e0-d825-11e2-a28f-0800200c9a66", "description": "data-center-1-chassis", "links": [{"href": "http://localhost/v1/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66", "rel": "self"}, {"href": "http://localhost/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66", "rel": "bookmark"}]}]} DEBUG util.py:445: API ACL Testing Path get /v1/chassis/detail DEBUG util.py:445: GET: /v1/chassis/detail {} DEBUG util.py:445: GOT:Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-cb5ccf84-d97a-46c8-8521-0959a92f22be DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"chassis": [{"uuid": "e74c40e0-d825-11e2-a28f-0800200c9a66", "created_at": "2024-05-14T11:54:40.109811+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-cb5ccf84-d97a-46c8-8521-0959a92f22be DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"chassis": [{"uuid": "e74c40e0-d825-11e2-a28f-0800200c9a66", "created_at": "2024-05-14T11:54:40.109811+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-49cc1083-873f-4980-b4be-1e4760630cb9 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"uuid": "e74c40e0-d825-11e2-a28f-0800200c9a66", "created_at": "2024-05-14T11:54:40.156424+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-49cc1083-873f-4980-b4be-1e4760630cb9 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"uuid": "e74c40e0-d825-11e2-a28f-0800200c9a66", "created_at": "2024-05-14T11:54:40.156424+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-8a37adfd-c4ee-4ff9-a31c-d37bb696af6b DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"uuid": "e74c40e0-d825-11e2-a28f-0800200c9a66", "created_at": "2024-05-14T11:54:40.202681+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-8a37adfd-c4ee-4ff9-a31c-d37bb696af6b DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"uuid": "e74c40e0-d825-11e2-a28f-0800200c9a66", "created_at": "2024-05-14T11:54:40.202681+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/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/history/7ca891a1-f4d5-46f1-b2b2-308e73a2fc6c DEBUG util.py:445: GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/history/7ca891a1-f4d5-46f1-b2b2-308e73a2fc6c {} DEBUG util.py:445: GOT:Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-cf465872-85c7-46ff-b47e-368e1a7bb3b4 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"uuid": "7ca891a1-f4d5-46f1-b2b2-308e73a2fc6c", "created_at": "2024-05-14T11:54:40.257899+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/7ca891a1-f4d5-46f1-b2b2-308e73a2fc6c", "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-cf465872-85c7-46ff-b47e-368e1a7bb3b4 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"uuid": "7ca891a1-f4d5-46f1-b2b2-308e73a2fc6c", "created_at": "2024-05-14T11:54:40.257899+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/7ca891a1-f4d5-46f1-b2b2-308e73a2fc6c", "rel": "self"}]} DEBUG util.py:445: API ACL Testing Path get /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/history/4707d325-c7a0-4033-a469-7db2999545e8 DEBUG util.py:445: GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/history/4707d325-c7a0-4033-a469-7db2999545e8 {} DEBUG util.py:445: GOT:Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-74fa25d1-5992-4b68-a3db-48e18bc6f6b4 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"uuid": "4707d325-c7a0-4033-a469-7db2999545e8", "created_at": "2024-05-14T11:54:40.308536+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/4707d325-c7a0-4033-a469-7db2999545e8", "rel": "self"}]} DEBUG util.py:445: {0} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00304_node_history_get_entry_reader [0.050041s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_healthcheck.TestHealthcheckMiddleware.test_disable [0.027615s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_healthcheck.TestHealthcheckMiddleware.test_enable [0.024521s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.common.test_hash_ring.HashRingManagerWithGroupsTestCase.test_hash_ring_manager_hardware_type_success_groups [0.026717s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_hooks.TestContextHook.test_context_hook_noauth_token_removed [0.024158s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.common.test_image_service.FileImageServiceTestCase.test_download_copy_fail [0.021785s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.common.test_image_service.FileImageServiceTestCase.test_download_hard_link_fail [0.017349s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00296_chassis_chassis_id_delete_admin [0.068627s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_hooks.TestContextHook.test_context_hook_not_admin [0.023134s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_hooks.TestNoExceptionTracebackHook.test_hook_on_clientfault_debug [0.018082s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.common.test_image_service.HttpImageServiceTestCase.test_download_fail_verify_false_connerror [0.014594s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.common.test_image_service.HttpImageServiceTestCase.test_download_fail_verify_false_ioerror [0.015748s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_hooks.TestNoExceptionTracebackHook.test_hook_on_serverfault [0.018263s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.common.test_image_service.HttpImageServiceTestCase.test_download_success_custom_timeout [0.015021s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_hooks.TestPublicUrlHook.test_before_host_url [0.015289s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_hooks.TestPublicUrlHook.test_before_public_endpoint [0.015290s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_method.TestExpose.test_expose [0.017556s] ... 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-5579392c-c7a1-4c52-bb53-1cec25e09f11 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"uuid": "11c9524f-d60b-4048-bc8c-0ef6aedbb2f6", "created_at": "2024-05-14T11:54:40.019429+00:00", "updated_at": null, "name": "CUSTOM_DT1", "extra": {}, "links": [{"href": "http://localhost/v1/deploy_templates/11c9524f-d60b-4048-bc8c-0ef6aedbb2f6", "rel": "self"}, {"href": "http://localhost/deploy_templates/11c9524f-d60b-4048-bc8c-0ef6aedbb2f6", "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/d0301071-0036-4036-9095-79dbac969158 DEBUG util.py:445: PATCH: /v1/deploy_templates/d0301071-0036-4036-9095-79dbac969158 [{'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-a9b43675-fda7-4ea4-b36d-487b53ca5338 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:deploy_template:update\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-a9b43675-fda7-4ea4-b36d-487b53ca5338 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:deploy_template:update\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path delete /v1/deploy_templates/c25f5cac-17bb-490e-8743-8d0272bc5f81 DEBUG util.py:445: DELETE: /v1/deploy_templates/c25f5cac-17bb-490e-8743-8d0272bc5f81 DEBUG util.py:445: GOT:Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-fe611877-d346-465e-a2e1-e35d384be07d DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:deploy_template:delete\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-fe611877-d346-465e-a2e1-e35d384be07d DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:deploy_template:delete\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path post /v1/chassis DEBUG util.py:445: POST: /v1/chassis {'description': 'test-chassis'} DEBUG util.py:445: GOT:Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-faed3cca-8a89-4b45-8601-f1be881da0bd DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:chassis:create\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-faed3cca-8a89-4b45-8601-f1be881da0bd DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:chassis:create\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path get /v1/chassis/detail DEBUG util.py:445: GET: /v1/chassis/detail {} DEBUG util.py:445: GOT:Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-1cf5cdf3-1c34-4dd3-8a7f-91e6eb406bcf DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"chassis": [{"uuid": "e74c40e0-d825-11e2-a28f-0800200c9a66", "created_at": "2024-05-14T11:54:40.270430+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-1cf5cdf3-1c34-4dd3-8a7f-91e6eb406bcf DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"chassis": [{"uuid": "e74c40e0-d825-11e2-a28f-0800200c9a66", "created_at": "2024-05-14T11:54:40.270430+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-8a3b4042-6fb3-421d-b362-5ce9f2b781d8 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"uuid": "e74c40e0-d825-11e2-a28f-0800200c9a66", "created_at": "2024-05-14T11:54:40.318246+00:00", "updated_at": "2024-05-14T11:54:40.346115+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-8a3b4042-6fb3-421d-b362-5ce9f2b781d8 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"uuid": "e74c40e0-d825-11e2-a28f-0800200c9a66", "created_at": "2024-05-14T11:54:40.318246+00:00", "updated_at": "2024-05-14T11:54:40.346115+00:00", "description": "meow", "extra": {}, "links": [{"href": "http://localhost/v1/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66", "rel": "self"}, {"href": "http://localhost/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66", "rel": "bookmark"}], "nodes": [[{"href": "http://localhost/v1/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66/nodes", "rel": "self"}, {"href": "http://localhost/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66/nodes", "rel": "bookmark"}]]} DEBUG util.py:445: API ACL Testing Path delete /v1/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66 DEBUG util.py:445: DELETE: /v1/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66 DEBUG util.py:445: GOT:Response: 204 No Content DEBUG util.py:445: Openstack-Request-Id: req-55753b01-d35a-4d78-99ce-0c69e8330374 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: ACL Test GOT Response: 204 No Content DEBUG util.py:445: Openstack-Request-Id: req-55753b01-d35a-4d78-99ce-0c69e8330374 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: API ACL Testing Path delete /v1/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66 DEBUG util.py:445: DELETE: /v1/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66 DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00297_chassis_chassis_id_delete_member [0.054041s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_method.TestExpose.test_post_body_validation [0.017918s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.common.test_image_service.HttpImageServiceTestCase.test_download_success_http_scheme [0.016057s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.common.test_image_service.HttpImageServiceTestCase.test_download_success_verify_false [0.014872s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.common.test_image_service.HttpImageServiceTestCase.test_download_success_verify_path [0.015072s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.common.test_image_service.HttpImageServiceTestCase.test_download_success_verify_true [0.015919s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_middleware.TestCORSMiddleware.test_invalid_cors_get_request [0.018026s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_acl.TestRBACScopedRequests.test_system_scoped_00299_node_history_get_admin [0.076488s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.common.test_image_service.HttpImageServiceTestCase.test_show_cache_allowed [0.015748s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.common.test_image_service.HttpImageServiceTestCase.test_show_cache_disabled [0.012899s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.common.test_image_service.HttpImageServiceTestCase.test_show_rfc_850 [0.013469s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_audit.TestAuditMiddleware.test_enable_audit_request_error [0.020171s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_middleware.TestCORSMiddleware.test_valid_cors_get_request [0.024820s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_functions.TestFunctionDefinition.test_get_arg [0.012100s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_ospmiddleware.TestOsprofilerWsgiMiddleware.test_disable_osp_wsgi_request [0.020140s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.common.test_image_service.HttpImageServiceTestCase.test_validate_href_custom_timeout [0.013015s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_hooks.TestContextHook.test_context_hook_after_miss_context [0.016426s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.common.test_image_service.HttpImageServiceTestCase.test_validate_href_verify_false_error [0.012738s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_ospmiddleware.TestOsprofilerWsgiMiddleware.test_enable_osp_wsgi_request [0.019089s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.common.test_image_service.HttpImageServiceTestCase.test_validate_href_verify_valid_path [0.012078s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_hooks.TestNoExceptionTracebackHook.test_hook_on_clientfault_debug_tracebacks [0.018666s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.common.test_image_service.ServiceGetterTestCase.test_get_https_image_service [0.012312s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_proxy_middleware.TestProxyHeadersMiddleware.test_proxy_headers_enabled [0.018370s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.common.test_images.FsImageTestCase.test__generate_grub_cfg [0.014258s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.api.test_root.TestRoot.test_no_html_errors [0.017752s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_hooks.TestNoExceptionTracebackHook.test_hook_remote_error_success [0.018179s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_hooks.TestNoExceptionTracebackHook.test_hook_without_traceback_debug_tracebacks [0.017676s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.cmd.test_dbsync.OnlineMigrationTestCase.test__run_online_data_migrations_exception [0.016711s] ... ok DEBUG util.py:443: "max-count" must be a positive value. DEBUG util.py:445: {1} ironic.tests.unit.api.test_hooks.TestPolicyDeprecation.test_policy_deprecation_check [0.014774s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.cmd.test_dbsync.OnlineMigrationTestCase.test__run_online_data_migrations_max_count_neg [0.015342s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_middleware.TestBasicAuthMiddleware.test_public_unauthenticated [0.017372s] ... 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_bad [0.016748s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_middleware.TestCORSMiddleware.test_invalid_cors_options_request [0.016593s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.cmd.test_dbsync.OnlineMigrationTestCase.test_check_versions_bad [0.014638s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.common.test_args.ValidateDecoratorTest.test_decorated_args_kwargs [0.011997s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_middleware.TestCORSMiddleware.test_valid_cors_options_request [0.017382s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.common.test_args.ValidateDecoratorTest.test_decorated_kwargs [0.011572s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.api.test_root.TestV1Root.test_get_v1_23_root [0.016711s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.common.test_neutron.TestNeutronClient.test_get_neutron_client_auth_from_config [0.409902s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.common.test_args.ValidateDecoratorTest.test_uuid_or_name [0.011931s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.common.test_args.ValidatePatchSchemaTest.test_patch [0.012396s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.cmd.test_conductor.ConductorStartTestCase.test_warn_about_unsafe_shred_parameters_defaults [0.019093s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.common.test_neutron.TestNeutronNetworkActions.test_add_network_create_some_ports_fail [0.039411s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.cmd.test_conductor.ConductorStartTestCase.test_warn_about_unsafe_shred_parameters_random_no_zeros [0.018868s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.common.test_args.ValidatePatchSchemaTest.test_patch_validation_failed [0.014215s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.common.test_args.ValidateTypesTest.test_types [0.011770s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.cmd.test_dbsync.OnlineMigrationTestCase.test__run_migration_functions [0.016636s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.common.test_images.FsImageTestCase.test_create_boot_iso_for_bios [0.154486s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.common.test_neutron.TestNeutronNetworkActions.test_add_network_no_pxe_enabled_ports [0.035327s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.common.test_images.FsImageTestCase.test_create_boot_iso_for_uefi_deploy_iso_for_hrefs [0.015048s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.cmd.test_dbsync.OnlineMigrationTestCase.test__run_migration_functions_2_done [0.017071s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.common.test_cinder.TestCinderActions.test_attach_volumes_attach_record_failure [0.035812s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.common.test_images.FsImageTestCase.test_create_boot_iso_for_uefi_esp_image [0.015250s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.cmd.test_dbsync.OnlineMigrationTestCase.test__run_migration_functions_2_notdone [0.017656s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.cmd.test_dbsync.OnlineMigrationTestCase.test__run_migration_functions_none [0.016227s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.common.test_neutron.TestNeutronNetworkActions.test_get_local_group_information [0.030582s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.common.test_images.FsImageTestCase.test_create_isolinux_image_bios_rootfs_fails [0.015456s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.common.test_images.FsImageTestCase.test_create_isolinux_image_for_bios [0.016220s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.common.test_neutron.TestNeutronNetworkActions.test_get_neutron_port_data_ipv6 [0.019390s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.cmd.test_dbsync.OnlineMigrationTestCase.test__run_online_data_migrations [0.016125s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.common.test_cinder.TestCinderActions.test_attach_volumes_attach_set_meta_failure [0.041048s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.common.test_images.FsImageTestCase.test_create_vfat_image_mkfs_fails [0.014956s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.cmd.test_dbsync.OnlineMigrationTestCase.test__run_online_data_migrations_batches [0.014934s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.common.test_images.FsImageTestCase.test_get_glance_image_properties_no_such_prop [0.014048s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.cmd.test_dbsync.OnlineMigrationTestCase.test__run_online_data_migrations_invalid_option1 [0.014492s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.common.test_neutron.TestNeutronNetworkActions.test_rollback_ports_exception [0.033991s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.common.test_cinder.TestCinderActions.test_attach_volumes_one_attached [0.034273s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.common.test_images.IronicImagesTestCase.test_converted_size_estimate_custom [0.012488s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.cmd.test_dbsync.OnlineMigrationTestCase.test__run_online_data_migrations_with_options [0.014860s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.common.test_images.IronicImagesTestCase.test_download_size [0.012135s] ... 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: {1} ironic.tests.unit.cmd.test_dbsync.OnlineMigrationTestCase.test_check_obj_versions [0.015962s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.common.test_neutron.TestNeutronNetworkActions.test_validate_agent_down [0.019938s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.common.test_images.IronicImagesTestCase.test_fetch_image_service [0.014785s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.common.test_cinder.TestCinderActions.test_attach_volumes_vol_not_found [0.035407s] ... ok DEBUG util.py:443: INFO [alembic.runtime.migration] Context impl SQLiteImpl. DEBUG util.py:443: INFO [alembic.runtime.migration] Will assume non-transactional DDL. DEBUG util.py:445: {2} ironic.tests.unit.common.test_neutron.TestNeutronNetworkActions.test_validate_port_info_neutron_with_no_smartnic_and_link_info [0.028930s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.cmd.test_dbsync.OnlineMigrationTestCase.test_check_obj_versions_ignore_models [0.015698s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.common.test_images.IronicImagesTestCase.test_fetch_image_service_force_raw [0.015215s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.common.test_args.ValidateDecoratorTest.test_boolean [0.012387s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.common.test_images.IronicImagesTestCase.test_image_show_image_service [0.013504s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.common.test_args.ValidateDecoratorTest.test_decorated_args [0.011968s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.common.test_cinder.TestCinderActions.test_detach_volumes [0.036991s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.common.test_images.IronicImagesTestCase.test_image_to_raw_backing_file_present [0.012713s] ... 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.028793s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.common.test_args.ValidateDecoratorTest.test_integer [0.011280s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.common.test_images.IronicImagesTestCase.test_image_to_raw_no_file_format [0.012100s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.common.test_args.ValidateDecoratorTest.test_or [0.011611s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.common.test_args.ValidateDecoratorTest.test_string_list [0.011640s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.common.test_neutron.TestNeutronNetworkActions.test_verify_sec_groups_exception_by_neutronclient [0.019550s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.common.test_images.IronicImagesTestCase.test_is_whole_disk_image_no_img_src [0.012853s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.common.test_cinder.TestCinderActions.test_detach_volumes_client_init_failure_invalid_parameter_value [0.032196s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.common.test_keystone.KeystoneTestCase.test_get_adapter_from_config [0.010434s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.common.test_keystone.KeystoneTestCase.test_get_auth [0.010305s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.common.test_cinder.TestCinderSession.test__get_cinder_session [0.014621s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.common.test_args.ValidateSchemaTest.test_schema_needs_args [0.012603s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.common.test_neutron.TestNeutronNetworkActions.test_verify_sec_groups_less_than_configured [0.020528s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.common.test_keystone.KeystoneTestCase.test_get_auth_fail [0.010685s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.common.test_args.ValidateSchemaTest.test_schema_needs_kwargs [0.013953s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.common.test_neutron.TestNeutronNetworkActions.test_wait_for_host_agent_down_target_state_down [0.019466s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.common.test_cinder.TestCinderUtils.test_is_volume_available [0.019662s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.common.test_neutron.TestNeutronNetworkActions.test_wait_for_port_status_down [0.020142s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.common.test_context.RequestContextTestCase.test_to_policy_values [0.012488s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.common.test_keystone.KeystoneTestCase.test_get_service_auth [0.033069s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.common.test_driver_factory.CheckAndUpdateNodeInterfacesTestCase.test_create_node_invalid_network_interface_instance_info_override [0.016225s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.common.test_neutron.TestValidateNetwork.test_by_name [0.012820s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.common.test_driver_factory.CheckAndUpdateNodeInterfacesTestCase.test_create_node_valid_interfaces [0.017722s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.common.test_molds.ConfigurationMoldTestCase.test_get_configuration_empty [0.028110s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.common.test_nova.NovaApiTestCase.test_power_update_3 [0.022225s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.common.test_nova.NovaApiTestCase.test_power_update_4 [0.022337s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.common.test_molds.ConfigurationMoldTestCase.test_get_configuration_swift [0.027673s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.common.test_driver_factory.CheckAndUpdateNodeInterfacesTestCase.test_node_update_dynamic_driver_set_interfaces [0.050244s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.common.test_nova.NovaApiTestCase.test_power_update_5 [0.021854s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.common.test_molds.ConfigurationMoldTestCase.test_save_configuration_http_error [0.029398s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.common.test_driver_factory.DefaultInterfaceTestCase.test_calculated_no_answer_drivername [0.015575s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.common.test_nova.NovaApiTestCase.test_power_update_invalid_reponse_format_1 [0.022038s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.common.test_driver_factory.DefaultInterfaceTestCase.test_calculated_with_two [0.014902s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.common.test_network.GetPhysnetsByPortgroupID.test_exclude_port [0.030887s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.common.test_nova.NovaApiTestCase.test_power_update_invalid_reponse_format_2 [0.021139s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.common.test_driver_factory.DriverLoadTestCase.test_driver_empty_entry [0.015640s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.common.test_driver_factory.DriverLoadTestCase.test_no_driver_load_error_if_driver_disabled [0.014891s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.common.test_nova.NovaApiTestCase.test_power_update_invalid_reponse_format_4 [0.022146s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.common.test_network.GetPhysnetsForNodeTestCase.test_get_physnets_for_node_excludes_None [0.028087s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.common.test_driver_factory.DriverLoadTestCase.test_wrap_in_driver_load_error_if_driver_enabled [0.014229s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.common.test_cinder.TestCinderActions.test_attach_volumes_reserve_failure [0.176188s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.common.test_nova.TestNovaAdapter.test_get_nova_adapter [0.012865s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.common.test_policy.PolicyInCodeTestCase.test_creds_02 [0.014763s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.common.test_driver_factory.HardwareTypeLoadTestCase.test_build_driver_for_task_bad_default [0.026341s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.common.test_network.TestNetwork.test_get_node_vif_ids_during_cleaning [0.030449s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.common.test_cinder.TestCinderActions.test_detach_volumes_term_failure [0.035611s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.common.test_policy.PolicyInCodeTestCase.test_creds_12 [0.015109s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.common.test_cinder.TestCinderClient.test_get_client_service_token [0.016044s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.common.test_driver_factory.HardwareTypeLoadTestCase.test_build_driver_for_task_instance_info_override [0.026070s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.common.test_network.TestNetwork.test_get_node_vif_ids_during_provisioning [0.032215s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.common.test_pxe_utils.PXEBuildConfigOptionsTestCase.test_build_pxe_config_options_kernel_params_from_driver_info [0.028938s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.common.test_cinder.TestCinderUtils.test__get_attachment_id [0.017871s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.common.test_neutron.TestGetNetworkByUUIDOrName.test__get_network_by_uuid_or_name_duplicate [0.013359s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.common.test_driver_factory.HardwareTypeLoadTestCase.test_build_driver_for_task_no_defaults [0.022947s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.common.test_cinder.TestCinderUtils.test_is_volume_attached [0.018205s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.common.test_neutron.TestGetNetworkByUUIDOrName.test__get_network_by_uuid_or_name_uuid [0.013020s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.common.test_pxe_utils.PXEBuildConfigOptionsTestCase.test_build_pxe_config_options_kernel_params_from_instance_info [0.028595s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.common.test_neutron.TestGetPhysnetsByPortUUID.test_get_physnets_by_port_uuid_multiple_segments_no_physnet [0.013621s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.common.test_driver_factory.HardwareTypeLoadTestCase.test_enabled_supported_interfaces [0.018555s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.common.test_context.RequestContextTestCase.test_create_context [0.014131s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.common.test_driver_factory.HardwareTypeLoadTestCase.test_get_hardware_type_missing [0.014628s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.common.test_context.RequestContextTestCase.test_thread_without_context [0.012749s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.common.test_pxe_utils.PXEBuildConfigOptionsTestCase.test_build_pxe_config_options_pxe_opts_ramdisk_opt [0.026051s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.common.test_neutron.TestGetPhysnetsByPortUUID.test_get_physnets_by_port_uuid_network_failure [0.013564s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.common.test_driver_factory.HardwareTypeLoadTestCase.test_invalid_storage_interface [0.016168s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.common.test_neutron.TestGetPhysnetsByPortUUID.test_get_physnets_by_port_uuid_no_segment [0.013621s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.common.test_glance_service.CheckImageServiceTestCase.test_check_image_service__config_auth [0.015729s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.common.test_driver_factory.CheckAndUpdateNodeInterfacesTestCase.test_none_network_interface [0.025419s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.common.test_neutron.TestGetPhysnetsByPortUUID.test_get_physnets_by_port_uuid_port_missing [0.012945s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.common.test_pxe_utils.PXEBuildKickstartConfigOptionsTestCase.test_build_kickstart_config_options_pxe [0.026825s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.common.test_driver_factory.DefaultInterfaceTestCase.test_from_additional_defaults [0.016834s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.common.test_glance_service.CheckImageServiceTestCase.test_check_image_service__token_auth [0.015123s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.common.test_pxe_utils.PXEBuildKickstartConfigOptionsTestCase.test_validate_kickstart_template [0.019512s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.common.test_driver_factory.DefaultInterfaceTestCase.test_from_config [0.015033s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.common.test_glance_service.TestGlanceSwiftTempURL.test__validate_temp_url_multiple_containers [0.011953s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.common.test_driver_factory.DriverLoadTestCase.test_driver_init_checks_unsupported [0.014845s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.common.test_glance_service.TestGlanceSwiftTempURL.test_swift_temp_url_account_detected [0.013998s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.common.test_pxe_utils.PXEBuildKickstartConfigOptionsTestCase.test_validate_kickstart_template_missing_variable [0.019598s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.common.test_glance_service.TestGlanceSwiftTempURL.test_swift_temp_url_multiple_containers [0.012758s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.common.test_pxe_utils.PXEInterfacesTestCase.test__get_deploy_image_info_ipxe [0.017790s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.common.test_driver_factory.HardwareTypeLoadTestCase.test_build_driver_for_task_incorrect [0.026012s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.common.test_glance_service.TestGlanceSwiftTempURL.test_swift_temp_url_no_key_detected [0.018424s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.common.test_pxe_utils.PXEInterfacesTestCase.test__get_deploy_image_info_missing_deploy_kernel [0.016577s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.common.test_fsm.FSMTest.test_is_stable [0.012252s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.common.test_pxe_utils.PXEInterfacesTestCase.test_get_instance_image_info_boot_iso [0.024524s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.common.test_fsm.FSMTest.test_is_stable_invalid_state [0.012785s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.common.test_hash_ring.HashRingManagerTestCase.test_hash_ring_manager_driver_not_found [0.026732s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.common.test_fsm.FSMTest.test_is_stable_not [0.011906s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.common.test_glance_service.CheckImageServiceTestCase.test_check_image_service_client_already_set [0.015139s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.common.test_pxe_utils.PXEInterfacesTestCase.test_get_instance_image_info_whole_disk_image [0.023055s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.common.test_hash_ring.HashRingManagerTestCase.test_hash_ring_manager_reset_interval [0.020419s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.common.test_glance_service.TestGlanceImageService.test_client_forbidden_converts_to_imagenotauthed [0.012779s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.common.test_hash_ring.HashRingManagerTestCase.test_hash_ring_manager_uncached [0.015203s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.common.test_glance_service.TestGlanceImageService.test_client_httpforbidden_converts_to_imagenotauthed [0.012022s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.common.test_pxe_utils.PXEInterfacesTestCase.test_get_instance_image_info_without_is_whole_disk_image [0.028653s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.common.test_glance_service.TestGlanceImageService.test_download_no_data [0.016061s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.common.test_pxe_utils.PXEInterfacesTestCase.test_parse_driver_info_deploy [0.016925s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.common.test_glance_service.TestGlanceImageService.test_download_with_retries [0.016295s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.common.test_pxe_utils.PXEInterfacesTestCase.test_parse_driver_info_from_conf_rescue [0.017376s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.common.test_glance_service.TestGlanceImageService.test_show_makes_datetimes [0.016966s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.common.test_glance_service.TestGlanceSerializer.test_serialize [0.000092s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.common.test_pxe_utils.PXEInterfacesTestCase.test_parse_driver_info_mixed_source_deploy [0.018452s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.common.test_glance_service.TestGlanceSwiftTempURL.test_swift_temp_url [0.013201s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.common.test_pxe_utils.TFTPImageCacheTestCase.test_without_master_path [0.014437s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.common.test_glance_service.TestGlanceSwiftTempURL.test_swift_temp_url_endpoint_detected [0.014269s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.common.test_glance_service.TestGlanceSwiftTempURL.test_swift_temp_url_url_bad_no_info [0.011824s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.common.test_glance_service.TestServiceUtils.test_parse_image_id_fail [0.011426s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.common.test_pxe_utils.TestPXEUtils.test__write_infiniband_mac_pxe_configs [0.029312s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.common.test_glance_service.TestServiceUtils.test_parse_image_id_from_glance [0.011690s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.common.test_glance_service.TestServiceUtils.test_parse_image_id_from_glance_fail [0.011412s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.common.test_pxe_utils.TestPXEUtils.test_create_pxe_config [0.029841s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.common.test_glance_service.TestSwiftTempUrlCache.test_add_items_to_cache [0.012607s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.common.test_glance_service.TestSwiftTempUrlCache.test_remove_expired_items_from_cache [0.011781s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.common.test_hash_ring.HashRingManagerWithGroupsTestCase.test_hash_ring_manager_reset_interval [0.153145s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.common.test_pxe_utils.TestPXEUtils.test_create_pxe_config_uefi_ipxe [0.029253s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.common.test_hash_ring.HashRingManagerWithGroupsTestCase.test_hash_ring_manager_uncached [0.015088s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.common.test_glance_service.TestSwiftTempUrlCache.test_return_cached_tempurl [0.013007s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.common.test_image_service.FileImageServiceTestCase.test_download_copy_segmented [0.020328s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.common.test_hash_ring.HashRingManagerTestCase.test_hash_ring_manager_hardware_type_success [0.026163s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.common.test_image_service.FileImageServiceTestCase.test_validate_href_path_not_found_or_not_file [0.012342s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.common.test_pxe_utils.TestPXEUtils.test_default_ipxe_boot_from_ramdisk [0.031997s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.common.test_image_service.HttpImageServiceTestCase.test_show_no_content_length [0.012631s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.common.test_image_service.ServiceGetterTestCase.test_get_file_image_service [0.012382s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.common.test_hash_ring.HashRingManagerWithGroupsTestCase.test_hash_ring_manager_driver_not_found [0.026036s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.common.test_pxe_utils.TestPXEUtils.test_default_ipxe_boot_from_volume_config [0.029769s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.common.test_image_service.ServiceGetterTestCase.test_get_glance_image_service [0.012350s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.common.test_image_service.ServiceGetterTestCase.test_get_http_image_service [0.012518s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.common.test_hash_ring.HashRingManagerWithGroupsTestCase.test_hash_ring_manager_hardware_type_success [0.025220s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.common.test_image_service.ServiceGetterTestCase.test_get_image_service_invalid_image_ref [0.011641s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.common.test_image_service.FileImageServiceTestCase.test_download_hard_link [0.017565s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.common.test_neutron.TestNeutronClient.test_get_neutron_client_without_token [0.396904s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.common.test_pxe_utils.TestPXEUtils.test_default_ipxe_boot_from_volume_config_multipath [0.030168s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.common.test_images.FsImageTestCase.test__mount_deploy_iso_fail_no_esp_imageimg [0.014121s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.common.test_image_service.FileImageServiceTestCase.test_show [0.013493s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.common.test_neutron.TestNeutronNetworkActions.test__uncidr_ipv4 [0.021522s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.common.test_images.FsImageTestCase.test__mount_deploy_iso_fail_with_ExecutionError [0.012710s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.common.test_image_service.HttpImageServiceTestCase.test_download_fail_verify_true_ioerror [0.015701s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.common.test_images.FsImageTestCase.test__mount_deploy_iso_fails_no_grub_cfg [0.013843s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.common.test_pxe_utils.TestPXEUtils.test_default_ipxe_boot_from_volume_config_no_extra_volumes [0.034403s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.common.test_image_service.HttpImageServiceTestCase.test_show_ansi_c [0.015528s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.common.test_images.FsImageTestCase.test_create_boot_iso_for_existing_iso [0.014426s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.common.test_neutron.TestNeutronNetworkActions.test_add_network_all_ports_fail [0.032168s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.common.test_image_service.HttpImageServiceTestCase.test_validate_href_verify_os_error [0.013511s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.common.test_images.FsImageTestCase.test_create_boot_iso_for_uefi_deploy_iso [0.015413s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.common.test_pxe_utils.TestPXEUtils.test_dhcp_options_for_instance_ipv6 [0.027400s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.common.test_image_service.HttpImageServiceTestCase.test_validate_href_verify_true [0.012557s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.common.test_pxe_utils.TestPXEUtils.test_get_kernel_ramdisk_info_ipxe [0.018511s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.common.test_neutron.TestNeutronNetworkActions.test_add_ports_to_network_all_ports [0.038405s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.common.test_images.FsImageTestCase.test_create_esp_image_for_uefi_with_deploy_iso [0.017727s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.common.test_images.FsImageTestCase.test__create_root_fs [0.015425s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.common.test_pxe_utils.TestPXEUtils.test_get_rescue_kr_info_ipxe [0.019074s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.common.test_images.FsImageTestCase.test_create_esp_image_for_uefi_with_esp_image [0.018297s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.common.test_images.FsImageTestCase.test__mount_deploy_iso [0.015614s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.common.test_pxe_utils.TestPXEUtilsBootloader.test_place_loaders_for_boot_default_noop [0.018200s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.common.test_images.FsImageTestCase.test_create_esp_image_mkisofs_fails [0.018276s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.common.test_neutron.TestNeutronNetworkActions.test_add_ports_to_network_with_sg [0.039656s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.common.test_images.FsImageTestCase.test_create_isolinux_image_for_bios_conf_ldlinux [0.015574s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.common.test_images.FsImageTestCase.test_create_isolinux_image_for_bios_inject_files [0.016509s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.common.test_pxe_utils.TestPXEUtilsBootloader.test_place_loaders_for_boot_two_files_relative_path [0.019420s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.common.test_images.FsImageTestCase.test_create_esp_image_uefi_rootfs_fails [0.017887s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.common.test_images.FsImageTestCase.test_create_vfat_image_dd_fails [0.013937s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.common.test_images.FsImageTestCase.test_create_isolinux_image_bios_mkisofs_fails [0.015296s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.common.test_neutron.TestNeutronNetworkActions.test_add_ports_with_client_id_to_network [0.035980s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.common.test_images.FsImageTestCase.test_get_temp_url_for_glance_image [0.020109s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.common.test_images.FsImageTestCase.test_get_glance_image_properties_with_prop_subset [0.013631s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.common.test_pxe_utils.iPXEBuildConfigOptionsTestCase.test_build_pxe_config_options_ipxe_and_ipxe_timeout [0.036740s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.common.test_images.IronicImagesTestCase.test_converted_size_estimate_default [0.011936s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.common.test_images.IronicImagesTestCase.test_image_to_raw_already_raw_format [0.013380s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.common.test_neutron.TestNeutronNetworkActions.test_remove_neutron_ports [0.029764s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.common.test_images.IronicImagesTestCase.test_converted_size_estimate_raw_smaller [0.011681s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.common.test_images.IronicImagesTestCase.test_image_to_raw_not_raw_after_conversion [0.015192s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.common.test_images.IronicImagesTestCase.test_image_to_raw [0.016512s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.common.test_images.IronicImagesTestCase.test_is_whole_disk_image_partition_image [0.013574s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.common.test_images.IronicImagesTestCase.test_is_whole_disk_image_whole_disk_image [0.013087s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.common.test_images.IronicImagesTestCase.test_is_whole_disk_image_partition_non_glance [0.012669s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.common.test_neutron.TestNeutronNetworkActions.test_remove_ports_from_network [0.030936s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.common.test_images.IronicImagesTestCase.test_is_whole_disk_image_whole_disk_non_glance [0.012884s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.common.test_keystone.KeystoneTestCase.test_get_session [0.011003s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.common.test_neutron.TestNeutronNetworkActions.test_validate_port_info_flat_interface_with_client_id [0.030056s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.common.test_kickstart_utils.KSUtilsTestCase.test_prepare_config_drive [0.034941s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.common.test_neutron.TestNeutronNetworkActions.test_validate_port_info_neutron_interface_with_client_id [0.030819s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.common.test_molds.ConfigurationMoldTestCase.test_get_configuration_http [0.027371s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.common.test_kickstart_utils.KSUtilsTestCase.test_prepare_config_drive_in_swift [0.035385s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.common.test_neutron.TestNeutronNetworkActions.test_verify_sec_groups [0.021045s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.common.test_molds.ConfigurationMoldTestCase.test_get_configuration_connection_error [0.030890s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.common.test_molds.ConfigurationMoldTestCase.test_save_configuration_connection_error [0.027857s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.common.test_neutron.TestNeutronNetworkActions.test_wait_for_host_agent_up_target_state_down [0.022935s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.common.test_molds.ConfigurationMoldTestCase.test_get_configuration_invalid_json [0.027566s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.common.test_neutron.TestNeutronNetworkActions.test_wait_for_port_status_active_max_retry [0.023671s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.common.test_molds.ConfigurationMoldTestCase.test_save_configuration_http_noauth [0.027323s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.common.test_molds.ConfigurationMoldTestCase.test_save_configuration_swift [0.027326s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.common.test_neutron.TestNeutronNetworkActions.test_wait_for_port_status_down_max_retry [0.021935s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.common.test_neutron.TestUnbindPort.test_unbind_neutron_port_not_found [0.018661s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.common.test_molds.ConfigurationMoldTestCase.test_save_configuration_swift_noauth [0.027297s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.common.test_pxe_utils.iPXEBuildConfigOptionsTestCase.test_build_pxe_config_options_ipxe_ipa_debug [0.192319s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.common.test_molds.ConfigurationMoldTestCase.test_get_configuration_swift_noauth [0.027885s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.common.test_molds.ConfigurationMoldTestCase.test_save_configuration_connection_error_exceeded [0.029103s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.common.test_pxe_utils.iPXEBuildConfigOptionsTestCase.test_build_pxe_config_options_ipxe_rescue [0.038575s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.common.test_neutron.TestUnbindPort.test_unbind_neutron_port_not_reset_mac [0.012885s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.common.test_neutron.TestUpdateNeutronPort.test_update_neutron_port [0.013543s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.common.test_network.GetPhysnetsByPortgroupID.test_empty [0.027988s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.common.test_network.GetPhysnetsByPortgroupID.test_two_ports_inconsistent [0.033187s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.common.test_neutron.TestUpdateNeutronPort.test_update_neutron_port_with_client [0.014488s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.common.test_pxe_utils.iPXEBuildConfigOptionsTestCase.test_build_pxe_config_options_ipxe_swift_partition [0.036417s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.common.test_neutron.TestUpdatePortAddress.test_update_port_address_without_binding [0.015112s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.common.test_network.TestNetwork.test_get_node_vif_ids_two_portgroups_int_info [0.030230s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.common.test_network.GetPhysnetsByPortgroupID.test_one_port [0.029334s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.common.test_neutron.TestValidateNetwork.test_duplicate [0.015160s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.common.test_pxe_utils.iPXEBuildConfigOptionsTestCase.test_dhcp_options_for_instance_ipxe_bios [0.026714s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.common.test_neutron.TestValidateNetwork.test_not_found [0.014272s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.common.test_network.GetPhysnetsByPortgroupID.test_two_ports [0.029467s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.common.test_nova.NovaApiTestCase.test_invalid_power_update [0.023058s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.common.test_pxe_utils.iPXEBuildConfigOptionsTestCase.test_get_volume_pxe_options_unsupported_additional_volume_type [0.031428s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.common.test_network.TestNetwork.test_remove_vifs_from_node [0.039049s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.common.test_network.GetPortgroupByIdTestCase.test_portgroup_by_id [0.029567s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.common.test_nova.NovaApiTestCase.test_power_update_failed [0.022368s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.common.test_raid.RaidPublicMethodsTestCase.test_update_raid_info_skip_MAX [0.023208s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.common.test_raid.ValidateRaidConfigurationTestCase.test_validate_configuration_invalid_is_root_volume [0.013221s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.common.test_network.TestRemoveVifsTestCase.test_remove_vifs_from_node_failure [0.038141s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.common.test_network.TestNetwork.test_get_node_vif_ids_no_ports_no_portgroups [0.028423s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.common.test_raid.ValidateRaidConfigurationTestCase.test_validate_configuration_invalid_multiple_is_root_volume [0.013374s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.common.test_neutron.TestGetPhysnetsByPortUUID.test_get_physnets_by_port_uuid_multiple_segments [0.014785s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.common.test_nova.NovaApiTestCase.test_power_update_invalid_reponse_format_3 [0.023514s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.common.test_neutron.TestGetNetworkByUUIDOrName.test__get_network_by_uuid_or_name_failure [0.012964s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.common.test_policy.PolicyInCodeTestCase.test_creds_03 [0.015987s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.common.test_neutron.TestGetNetworkByUUIDOrName.test__get_network_by_uuid_or_name_name [0.011910s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.common.test_raid.ValidateRaidConfigurationTestCase.test_validate_configuration_invalid_number_of_phy_disks [0.012887s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.common.test_neutron.TestGetPhysnetsByPortUUID.test_get_physnets_by_port_uuid_network_missing [0.013560s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.common.test_neutron.TestGetPhysnetsByPortUUID.test_get_physnets_by_port_uuid_no_segment_no_physnet [0.013118s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.common.test_raid.ValidateRaidConfigurationTestCase.test_validate_configuration_invalid_raid_level [0.012972s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.common.test_neutron.TestGetPhysnetsByPortUUID.test_get_physnets_by_port_uuid_single_segment [0.014723s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.common.test_policy.PolicyInCodeTestCase.test_creds_07 [0.015152s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.common.test_raid.ValidateRaidConfigurationTestCase.test_validate_configuration_invalid_share_physical_disks [0.013633s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.common.test_policy.PolicyInCodeTestCase.test_creds_08 [0.015219s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.common.test_release_mappings.GetObjectVersionsTestCase.test_get_object_versions [0.018102s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.common.test_release_mappings.GetObjectVersionsTestCase.test_get_object_versions_releases [0.017003s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.common.test_release_mappings.ReleaseMappingsTestCase.test_no_gaps_in_release_versions [0.011294s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.common.test_release_mappings.ReleaseMappingsTestCase.test_object_names_are_registered [0.011319s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.common.test_rpc.TestRequestContextSerializer.test_deserialize_entity_empty_base [0.019242s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.common.test_rpc.TestUtils.test_get_sensors_notifier_no_notifier [0.015990s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.common.test_swift.SwiftTestCase.test_create_object_create_container_fails [0.031219s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.common.test_swift.SwiftTestCase.test_create_object_put_object_fails [0.032935s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.common.test_policy.PolicyInCodeTestCase.test_creds_10 [0.174954s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.common.test_swift.SwiftTestCase.test_get_temp_url [0.030153s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.common.test_policy.PolicyInCodeTestCase.test_creds_11 [0.014726s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.common.test_utils.BareMetalUtilsTestCase.test_create_link [0.012682s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.common.test_policy.PolicyInCodeTestCase.test_creds_16 [0.015679s] ... ok DEBUG util.py:443: /usr/lib/python3.9/site-packages/oslo_policy/policy.py:1075: UserWarning: Policy baremetal:node:create failed scope check. The token used to make the request was project scoped but the policy requires ['system'] scope. This behavior may change in the future where using the intended scope is required DEBUG util.py:443: warnings.warn(msg) DEBUG util.py:445: {2} ironic.tests.unit.common.test_utils.GenericUtilsTestCase.test__get_hash_object [0.020032s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.common.test_utils.GenericUtilsTestCase.test__get_hash_object_throws_for_invalid_or_unsupported_hash_name [0.012169s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.common.test_pxe_utils.PXEBuildConfigOptionsTestCase.test_build_pxe_config_options_pxe [0.027765s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.common.test_utils.GenericUtilsTestCase.test_file_has_content_differ [0.014497s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.common.test_utils.GenericUtilsTestCase.test_is_hostname_safe [0.011576s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.common.test_pxe_utils.PXEBuildConfigOptionsTestCase.test_build_pxe_config_options_pxe_ipa_debug [0.027271s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.common.test_utils.GenericUtilsTestCase.test_unix_file_modification_datetime [0.012066s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.common.test_pxe_utils.PXEBuildConfigOptionsTestCase.test_build_pxe_config_options_pxe_rescue [0.029046s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.common.test_utils.GenericUtilsTestCase.test_validate_and_normalize_mac [0.021304s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.common.test_utils.GenericUtilsTestCase.test_validate_and_normalize_mac_invalid_format [0.015861s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.common.test_pxe_utils.PXEBuildKickstartConfigOptionsTestCase.test_prepare_instance_kickstart_config [0.027114s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.common.test_utils.GetUpdatedCapabilitiesTestCase.test_get_updated_capabilities [0.012187s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.common.test_utils.GetUpdatedCapabilitiesTestCase.test_get_updated_capabilities_add_to_existing_capabilities [0.011526s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.common.test_pxe_utils.PXEBuildKickstartConfigOptionsTestCase.test_validate_kickstart_template_has_additional_variables [0.021323s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.common.test_utils.TempFilesTestCase.test_is_memory_insufficent_recovers [0.013102s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.common.test_utils.ValidateConductorGroupTestCase.test_validate_conductor_group_success [0.011762s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.common.test_pxe_utils.PXEInterfacesTestCase.test__get_deploy_image_info [0.018249s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.common.test_neutron.TestNeutronClient.test_get_neutron_client_with_context [0.393438s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.common.test_wsgi_service.TestWSGIService.test_workers_set_correct_setting [0.023227s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.common.test_neutron.TestNeutronClient.test_get_neutron_client_noauth [0.400495s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.common.test_pxe_utils.PXEInterfacesTestCase.test_cache_ramdisk_kernel [0.025314s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.common.test_neutron.TestNeutronNetworkActions.test__uncidr_ipv6 [0.021072s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.common.test_wsgi_service.TestWSGIService.test_workers_set_default [0.022539s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.common.test_pxe_utils.PXEInterfacesTestCase.test_cache_ramdisk_kernel_ipxe [0.024094s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.common.test_wsgi_service.TestWSGIService.test_workers_set_default_limit [0.022001s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.common.test_neutron.TestNeutronNetworkActions.test_add_network_no_port [0.030804s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.common.test_pxe_utils.PXEInterfacesTestCase.test_get_instance_image_info_localboot [0.026813s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.common.test_wsgi_service.TestWSGIService.test_workers_set_zero_setting [0.023391s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.common.test_pxe_utils.PXEInterfacesTestCase.test_get_instance_image_info_with_kickstart_boot_option [0.031033s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.common.test_pxe_utils.PXEInterfacesTestCase.test_parse_driver_info_missing_deploy_kernel [0.017457s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.common.test_pxe_utils.TestPXEUtils.test__get_pxe_mac_path [0.017603s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.common.test_pxe_utils.TestPXEUtils.test__get_pxe_mac_path_ipxe [0.016614s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_allocations.AllocationTestCase.test_check_orphaned_allocations [0.069168s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.common.test_pxe_utils.TestPXEUtils.test__write_mac_ipxe_configs [0.031155s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_allocations.AllocationTestCase.test_create_allocation [0.052982s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.common.test_pxe_utils.TestPXEUtils.test__write_mac_pxe_configs [0.032621s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_allocations.AllocationTestCase.test_destroy_allocation_without_node [0.020211s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.common.test_neutron.TestNeutronNetworkActions.test_add_ports_to_network [0.181435s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.common.test_pxe_utils.TestPXEUtils.test_clean_up_pxe_config [0.031620s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.common.test_pxe_utils.TestPXEUtils.test_create_ipxe_boot_script_already_exists [0.019849s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.common.test_neutron.TestNeutronNetworkActions.test_add_smartnic_port_to_network [0.036799s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_allocations.AllocationTestCase.test_resume_allocations [0.057562s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.common.test_neutron.TestNeutronNetworkActions.test_is_smartnic_port_false [0.019652s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.common.test_pxe_utils.TestPXEUtils.test_create_pxe_config_existing_dirs [0.032342s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_allocations.BackfillAllocationTestCase.test_state_not_active [0.032526s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.common.test_pxe_utils.TestPXEUtils.test_create_pxe_config_uefi_mac_address [0.030618s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.common.test_neutron.TestNeutronNetworkActions.test_is_smartnic_port_true [0.018764s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.common.test_neutron.TestNeutronNetworkActions.test_remove_neutron_ports_delete_race [0.027133s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_allocations.BackfillAllocationTestCase.test_traits_mismatch [0.036004s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.common.test_pxe_utils.TestPXEUtils.test_default_grub_config [0.024490s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.common.test_neutron.TestNeutronNetworkActions.test_remove_neutron_smartnic_ports [0.029234s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_allocations.BackfillAllocationTestCase.test_with_candidate_nodes [0.033195s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.common.test_pxe_utils.TestPXEUtils.test_default_ipxe_boot_from_iso [0.030693s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.common.test_neutron.TestNeutronNetworkActions.test_remove_ports_from_network_not_all_pxe_enabled [0.030493s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_allocations.DoAllocateTestCase.test_nodes_candidates_do_not_match [0.027363s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.common.test_pxe_utils.TestPXEUtils.test_default_ipxe_timeout_config [0.032723s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.common.test_neutron.TestNeutronNetworkActions.test_rollback_ports [0.029432s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.common.test_pxe_utils.TestPXEUtils.test_get_kernel_ramdisk_info [0.018418s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.common.test_neutron.TestNeutronNetworkActions.test_validate_agent_up [0.021996s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.common.test_pxe_utils.TestPXEUtilsBootloader.test_place_loaders_for_boot_no_source [0.017630s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_base_manager.KeepAliveTestCase.test__conductor_service_record_keepalive [0.062533s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.common.test_neutron.TestNeutronNetworkActions.test_validate_port_info_neutron_interface [0.030242s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.common.test_pxe_utils.iPXEBuildConfigOptionsTestCase.test_build_pxe_config_options_ipxe [0.035264s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.common.test_neutron.TestNeutronNetworkActions.test_validate_port_info_neutron_interface_missed_info [0.030767s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_base_manager.KeepAliveTestCase.test__conductor_service_record_keepalive_failed_error [0.055122s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.common.test_pxe_utils.iPXEBuildConfigOptionsTestCase.test_build_pxe_config_options_ipxe_and_iscsi_boot [0.041808s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.common.test_neutron.TestNeutronNetworkActions.test_validate_port_info_neutron_with_network_type_unmanaged [0.030211s] ... 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.041522s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.common.test_neutron.TestNeutronClient.test_get_neutron_client_with_token [0.555675s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.common.test_neutron.TestNeutronNetworkActions.test_validate_port_info_neutron_with_smartnic_and_link_info [0.034852s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_base_manager.MiscTestCase.test__fail_transient_state_maintenance [0.075100s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.common.test_neutron.TestNeutronNetworkActions.test__add_ip_addresses_for_ipv6_stateful [0.021880s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.common.test_neutron.TestNeutronNetworkActions.test_wait_for_host_agent_down_target_state_up [0.026165s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.common.test_pxe_utils.iPXEBuildConfigOptionsTestCase.test_build_pxe_config_options_ipxe_local_boot [0.045206s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.common.test_neutron.TestNeutronNetworkActions.test_add_ports_to_network_instance_uuid [0.032812s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.common.test_neutron.TestNeutronNetworkActions.test_wait_for_host_agent_up_target_state_up [0.021917s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.common.test_neutron.TestNeutronNetworkActions.test_wait_for_port_status_up [0.022252s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.common.test_neutron.TestNeutronNetworkActions.test_get_neutron_port_data [0.020949s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.common.test_pxe_utils.iPXEBuildConfigOptionsTestCase.test_build_pxe_config_options_ipxe_swift_wdi [0.034724s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_base_manager.RegisterInterfacesTestCase.test__register_and_validate_hardware_interfaces [0.059834s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.common.test_neutron.TestUpdatePortAddress.test_update_port_address_show_failed [0.014134s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.common.test_pxe_utils.iPXEBuildConfigOptionsTestCase.test_dhcp_options_for_ipxe_ipv6 [0.026688s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.common.test_neutron.TestNeutronNetworkActions.test_get_node_portmap [0.028482s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.common.test_neutron.TestUpdatePortAddress.test_update_port_address_unbind_port_failed [0.015804s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.common.test_raid.RaidPublicMethodsTestCase.test_filter_target_raid_config_skip_root [0.017080s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.common.test_nova.NovaApiTestCase.test_power_update_1 [0.022502s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.common.test_neutron.TestNeutronNetworkActions.test_remove_neutron_ports_delete_fail [0.029771s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.common.test_raid.RaidPublicMethodsTestCase.test_get_logical_disk_properties [0.016568s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.common.test_nova.NovaApiTestCase.test_power_update_failed_no_nova [0.019075s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.common.test_raid.RaidPublicMethodsTestCase.test_update_raid_info_multiple_root_volumes [0.019630s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_base_manager.StartConsolesTestCase.test__start_consoles_failed [0.080761s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.common.test_policy.PolicyInCodeTestCase.test_creds_01 [0.015075s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.common.test_neutron.TestNeutronNetworkActions.test_remove_neutron_ports_list_fail [0.028481s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.common.test_raid.ValidateRaidConfigurationTestCase.test_validate_configuration_additional_property [0.013745s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.common.test_raid.ValidateRaidConfigurationTestCase.test_validate_configuration_too_few_physical_disks [0.012562s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.common.test_policy.PolicyInCodeTestCase.test_creds_06 [0.016457s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.common.test_raid.ValidateRaidConfigurationTestCase.test_validate_configuration_with_jbod_volume [0.012302s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.common.test_policy.PolicyInCodeTestCase.test_creds_09 [0.014607s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.common.test_neutron.TestNeutronNetworkActions.test_remove_ports_from_network_not_all_pxe_enabled_all_ports [0.031270s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.common.test_policy.PolicyInCodeTestCase.test_creds_13 [0.014751s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.common.test_raid.ValidateRaidConfigurationTestCase.test_validate_configuration_zero_logical_disks [0.012396s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.common.test_release_mappings.GetObjectVersionsTestCase.test_get_object_versions_objects [0.010914s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.common.test_neutron.TestNeutronNetworkActions.test_validate_port_info_flat_interface [0.030643s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.common.test_policy.PolicyInCodeTestCase.test_creds_15 [0.016196s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.common.test_release_mappings.GetObjectVersionsTestCase.test_get_object_versions_releases_objects [0.010789s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_base_manager.StartConsolesTestCase.test__start_consoles_node_locked [0.076746s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.common.test_neutron.TestNeutronNetworkActions.test_verify_sec_groups_more_than_configured [0.020561s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.common.test_release_mappings.ReleaseMappingsTestCase.test_contains_all_db_objects [0.011027s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.common.test_release_mappings.ReleaseMappingsTestCase.test_no_gaps_in_object_versions [0.011113s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.common.test_policy.PolicyTestCase.test_get_oslo_policy_enforcer_config_file [0.031583s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.common.test_release_mappings.ReleaseMappingsTestCase.test_rpc_and_objects_versions_supported [0.011543s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.common.test_neutron.TestNeutronNetworkActions.test_verify_sec_groups_no_sg_from_neutron [0.019730s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.common.test_rpc.TestRequestContextSerializer.test_serialize_entity [0.011859s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.common.test_neutron.TestUnbindPort.test_unbind_neutron_port [0.013149s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.common.test_pxe_utils.PXEBuildConfigOptionsTestCase.test_build_pxe_config_options_pxe_no_kernel_no_ramdisk [0.027271s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.common.test_rpc.TestUtils.test_get_sensors_notifier_no_publisher_id [0.011372s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.common.test_neutron.TestUnbindPort.test_unbind_neutron_port_client_passed [0.012306s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.common.test_neutron.TestUnbindPort.test_unbind_neutron_port_failure [0.017858s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_base_manager.StartConsolesTestCase.test__start_consoles_node_not_found [0.070390s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.common.test_neutron.TestUpdateNeutronPort.test_update_neutron_port_with_exception [0.012940s] ... 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.030809s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.common.test_rpc.TestUtils.test_init_globals_notifications_enabled [0.026605s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.common.test_states.StatesTest.test_state_values_length [0.012339s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.common.test_neutron.TestUpdatePortAddress.test_update_port_address [0.013231s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.common.test_utils.BareMetalUtilsTestCase.test_create_link_EEXIST [0.012120s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.common.test_neutron.TestUpdatePortAddress.test_update_port_address_with_binding [0.013862s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.common.test_pxe_utils.PXEBuildConfigOptionsTestCase.test_build_pxe_config_options_ramdisk_params [0.028139s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.common.test_utils.GenericUtilsTestCase.test_safe_rstrip [0.011269s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.common.test_utils.GenericUtilsTestCase.test_validate_and_normalize_datapath_id [0.011723s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_base_manager.StartStopTestCase.test_del_host_waits_on_workerpool [0.055770s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.common.test_pxe_utils.PXEBuildKickstartConfigOptionsTestCase.test_prepare_instance_kickstart_config_not_anaconda_boot [0.023978s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.common.test_neutron.TestUpdatePortAddress.test_update_port_address_with_exception [0.013437s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.common.test_utils.GetUpdatedCapabilitiesTestCase.test_validate_network_port [0.011842s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.common.test_neutron.TestValidateNetwork.test_by_uuid [0.012311s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.common.test_utils.GetUpdatedCapabilitiesTestCase.test_validate_network_port_fail [0.011651s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.common.test_neutron.TestValidateNetwork.test_failure [0.012948s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.common.test_pxe_utils.PXEInterfacesTestCase.test__cache_tftp_images_master_path [0.024856s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.common.test_utils.TempFilesTestCase.test__check_dir_free_space_ok [0.013002s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.common.test_nova.NovaApiTestCase.test_power_update_2 [0.023892s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.common.test_utils.TempFilesTestCase.test_check_dir_free_space_raises [0.013691s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.common.test_pxe_utils.PXEInterfacesTestCase.test_get_instance_image_info [0.028986s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.common.test_utils.TempFilesTestCase.test_is_memory_insufficent [0.013017s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_base_manager.StartStopTestCase.test_start_clears_conductor_locks [0.063307s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.common.test_nova.NovaApiTestCase.test_power_update_failed_no_nova_auth_url [0.018491s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.common.test_utils.TempFilesTestCase.test_is_memory_insufficent_good [0.012614s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.common.test_policy.PolicyInCodeTestCase.test_creds_04 [0.014902s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.common.test_utils.ValidateConductorGroupTestCase.test_validate_conductor_group_fail [0.012154s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.common.test_pxe_utils.PXEInterfacesTestCase.test_get_instance_image_info_kickstart_stage2_missing [0.029116s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.common.test_policy.PolicyInCodeTestCase.test_creds_05 [0.014324s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.common.test_pxe_utils.PXEInterfacesTestCase.test_parse_driver_info_from_conf_deploy [0.018531s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.common.test_wsgi_service.TestWSGIService.test_wsgi_service_with_ssl_enabled [0.023124s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.common.test_pxe_utils.PXEInterfacesTestCase.test_parse_driver_info_missing_rescue_kernel [0.017470s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.common.test_policy.PolicyInCodeTestCase.test_creds_14 [0.014877s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_base_manager.StartStopTestCase.test_start_dbapi_single_call [0.056311s] ... ok DEBUG util.py:443: This is bad/usr/lib/python3.9/site-packages/oslo_policy/policy.py:1075: UserWarning: Policy baremetal:node:create failed scope check. The token used to make the request was project scoped but the policy requires ['system'] scope. This behavior may change in the future where using the intended scope is required DEBUG util.py:443: warnings.warn(msg) DEBUG util.py:445: {0} ironic.tests.unit.common.test_policy.PolicyInCodeTestCase.test_creds_17 [0.015517s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_base_manager.StartStopTestCase.test_start_fails_on_missing_driver [0.017833s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_allocations.AllocationTestCase.test_destroy_allocation_with_active_node [0.032949s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.common.test_policy.PolicyTestCase.test_authorize_access_forbidden [0.014108s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.common.test_pxe_utils.PXEInterfacesTestCase.test_parse_driver_info_missing_rescue_ramdisk [0.018245s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.common.test_policy.PolicyTestCase.test_authorize_passes [0.015138s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.common.test_pxe_utils.PXEInterfacesTestCase.test_parse_driver_info_mixed_source_rescue [0.017975s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.common.test_policy.PolicyTestCase.test_authorize_policy_not_registered [0.011672s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_allocations.BackfillAllocationTestCase.test_resource_class_mismatch [0.030316s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.common.test_pxe_utils.PXEInterfacesTestCase.test_validate_boot_parameters_for_trusted_boot_one [0.017898s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.common.test_pxe_utils.PXEInterfacesTestCase.test_validate_boot_parameters_for_trusted_boot_pass [0.017828s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_allocations.DoAllocateTestCase.test_nodes_filtered_out_project [0.026706s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_base_manager.StartStopTestCase.test_warning_on_low_workers_pool [0.059877s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.common.test_policy.PolicyTestCase.test_get_oslo_policy_enforcer_namespace [0.034744s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.common.test_pxe_utils.PXEInterfacesTestCase.test_validate_boot_parameters_for_trusted_boot_three [0.029789s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.common.test_policy.PolicyTestCase.test_get_oslo_policy_enforcer_no_args [0.031096s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_allocations.DoAllocateTestCase.test_with_traits [0.040943s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.common.test_pxe_utils.PXEInterfacesTestCase.test_validate_boot_parameters_for_trusted_boot_two [0.025430s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_base_manager.CheckInterfacesTestCase.test__check_enabled_interfaces_success [0.014026s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_cleaning.DoNodeCleanAbortTestCase.test__do_node_clean_abort_with_step_name [0.052718s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.common.test_pxe_utils.TFTPImageCacheTestCase.test_with_master_path [0.014420s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.common.test_pxe_utils.CleanUpPxeEnvTestCase.test__clean_up_pxe_env [0.032270s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.common.test_pxe_utils.TestPXEUtils.test__get_pxe_ip_address_path [0.016210s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_cleaning.DoNodeCleanTestCase.test__do_next_clean_step_automated_execute_fail [0.043451s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.common.test_pxe_utils.PXEBuildConfigOptionsTestCase.test_build_pxe_config_options_ipa_debug_rescue [0.029481s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.common.test_pxe_utils.TestPXEUtils.test__link_ip_address_pxe_configs [0.027469s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.common.test_pxe_utils.PXEBuildConfigOptionsTestCase.test_build_pxe_config_options_pxe_local_boot [0.031406s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_cleaning.DoNodeCleanTestCase.test__do_next_clean_step_last_step_noop_fast_track [0.035984s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_base_manager.StartConsolesTestCase.test__start_consoles [0.083647s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.common.test_pxe_utils.TestPXEUtils.test_clean_up_pxe_config_uefi [0.029340s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.common.test_pxe_utils.PXEInterfacesTestCase.test__get_deploy_image_info_deploy_ramdisk [0.018801s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.common.test_pxe_utils.TestPXEUtils.test_clean_up_pxe_config_uefi_instance_info [0.028776s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.common.test_pxe_utils.PXEInterfacesTestCase.test_parse_driver_info_missing_deploy_ramdisk [0.017636s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_cleaning.DoNodeCleanTestCase.test__do_next_clean_step_manual_no_steps [0.049764s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.common.test_pxe_utils.PXEInterfacesTestCase.test_parse_driver_info_rescue [0.017713s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.common.test_pxe_utils.TestPXEUtils.test_clean_up_pxe_config_uefi_mac_address [0.029654s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.common.test_pxe_utils.TestPXEUtils.test__get_pxe_grub_mac_path [0.017680s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_cleaning.DoNodeCleanTestCase.test__do_next_clean_step_retired_last_step_change_tgt_state [0.035131s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.common.test_pxe_utils.TestPXEUtils.test_clean_up_pxe_config_uefi_no_ipaddress [0.028878s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.common.test_pxe_utils.TestPXEUtils.test_create_ipxe_boot_script_copy_file_different [0.020652s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.common.test_pxe_utils.TestPXEUtils.test_create_ipxe_boot_script [0.019208s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_cleaning.DoNodeCleanTestCase.test__do_node_clean_automated [0.035063s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.common.test_pxe_utils.TestPXEUtils.test_create_pxe_config_set_dir_permission [0.032201s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.common.test_pxe_utils.TestPXEUtils.test_create_pxe_config_uefi_grub [0.028900s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.common.test_pxe_utils.TestPXEUtils.test_default_ipxe_boot_script [0.020126s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_base_manager.StartStopTestCase.test_start_recover_nodes_stuck [0.147185s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_cleaning.DoNodeCleanTestCase.test__do_node_clean_automated_cache_bios [0.040807s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.common.test_pxe_utils.TestPXEUtils.test_dhcp_options_for_instance [0.024743s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.common.test_pxe_utils.TestPXEUtils.test_get_rescue_kr_info [0.017224s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.common.test_pxe_utils.TestPXEUtils.test_default_ipxe_config [0.031794s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_base_manager.StartStopTestCase.test_start_registers_driver_specific_tasks [0.031921s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.common.test_pxe_utils.TestPXEUtils.test_default_pxe_config [0.024379s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.common.test_pxe_utils.TestPXEUtils.test_get_tftp_path_prefix_with_trailing_slash [0.016307s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_cleaning.DoNodeCleanTestCase.test__do_node_clean_automated_disabled_individual_enabled [0.041041s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.common.test_pxe_utils.TestPXEUtils.test_get_kernel_ramdisk_info_bad_driver_info [0.018090s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.common.test_pxe_utils.TestPXEUtils.test_get_tftp_path_prefix_without_trailing_slash [0.015922s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_cleaning.DoNodeCleanAbortTestCase.test__do_node_clean_abort [0.029655s] ... 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.016352s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_cleaning.DoNodeCleanTestCase.test__do_node_clean_automated_enabled [0.040731s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.common.test_pxe_utils.TestPXEUtils.test_get_path_relative_to_tftp_root_with_trailing_slash [0.018379s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.common.test_pxe_utils.TestPXEUtilsBootloader.test_place_loaders_for_boot_two_files [0.016644s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.common.test_pxe_utils.TestPXEUtils.test_get_path_relative_to_tftp_root_without_trailing_slash [0.018212s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_cleaning.DoNodeCleanTestCase.test__do_next_clean_step_automated_bad_step_return_value [0.039004s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.common.test_pxe_utils.TestPXEUtils.test_get_pxe_config_file_path [0.018016s] ... 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.016527s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_cleaning.DoNodeCleanTestCase.test__do_node_clean_automated_network_validate_fail [0.036290s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.common.test_pxe_utils.TestPXEUtils.test_get_root_dir [0.018278s] ... 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.051440s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.common.test_pxe_utils.iPXEBuildConfigOptionsTestCase.test_build_pxe_config_options_ipxe_boot_iso [0.035945s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.common.test_pxe_utils.iPXEBuildConfigOptionsTestCase.test_clean_up_ipxe_config_uefi [0.030393s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_cleaning.DoNodeCleanTestCase.test__do_node_clean_manual_disable_ramdisk [0.041144s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.common.test_pxe_utils.iPXEBuildConfigOptionsTestCase.test_build_pxe_config_options_ipxe_rescue_swift [0.036895s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_cleaning.DoNodeCleanTestCase.test__do_next_clean_step_manual_bad_step_return_value [0.037685s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.common.test_pxe_utils.iPXEBuildConfigOptionsTestCase.test_get_volume_pxe_options [0.032959s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_cleaning.DoNodeCleanTestCase.test__do_node_clean_manual_prepare_clean_fail [0.041776s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.common.test_pxe_utils.iPXEBuildConfigOptionsTestCase.test_build_pxe_config_options_ipxe_rescue_timeout [0.035648s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.common.test_pxe_utils.iPXEBuildConfigOptionsTestCase.test_get_volume_pxe_options_unsupported_volume_type [0.029854s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.common.test_raid.RaidPublicMethodsTestCase.test_filter_target_raid_config_no_target_raid_config_after_skipping [0.017694s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_cleaning.DoNodeCleanTestCase.test__do_next_clean_step_manual_fail_in_tear_down_cleaning [0.050096s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_cleaning.DoNodeCleanTestCase.test_do_next_clean_step_manual_first_step_async [0.046546s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.common.test_pxe_utils.iPXEBuildConfigOptionsTestCase.test_dhcp_options_for_instance_ipxe_uefi [0.026163s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.common.test_raid.RaidPublicMethodsTestCase.test_filter_target_raid_config_skip_nonroot [0.018347s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.common.test_raid.RaidPublicMethodsTestCase.test_filter_target_raid_config [0.017973s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.common.test_raid.RaidPublicMethodsTestCase.test_get_logical_disk_properties_custom_schema [0.018735s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_cleaning.DoNodeCleanTestCase.test__do_node_clean_automated_cache_bios_unsupported [0.039938s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.common.test_raid.RaidPublicMethodsTestCase.test_filter_target_raid_config_empty_target_raid_config [0.019645s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.common.test_raid.RaidPublicMethodsTestCase.test_update_raid_info_okay [0.021987s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.common.test_raid.RaidPublicMethodsTestCase.test_update_raid_info_okay_current_capabilities_empty [0.023813s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_cleaning.DoNodeCleanTestCase.test__do_node_clean_maintenance [0.035885s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.common.test_raid.ValidateRaidConfigurationTestCase.test_validate_configuration_invalid_int_type [0.014614s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.common.test_raid.RaidPublicMethodsTestCase.test_update_raid_info_okay_no_root_volumes [0.022070s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_deployments.DoNextDeployStepTestCase.test__do_next_deploy_step_last_step_done_with_console_error [0.090101s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.common.test_raid.ValidateRaidConfigurationTestCase.test_validate_configuration_invalid_size_gb [0.013360s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.common.test_release_mappings.ReleaseMappingsTestCase.test_current_object_versions [0.011598s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.common.test_raid.ValidateRaidConfigurationTestCase.test_validate_configuration_custom_schema [0.012376s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.common.test_raid.ValidateRaidConfigurationTestCase.test_validate_configuration_invalid_disk_type [0.012506s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_cleaning.DoNodeCleanTestCase.test__do_node_clean_manual_cache_bios [0.038300s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.common.test_release_mappings.ReleaseMappingsTestCase.test_structure [0.014244s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.common.test_raid.ValidateRaidConfigurationTestCase.test_validate_configuration_invalid_physical_disks [0.012764s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.common.test_raid.ValidateRaidConfigurationTestCase.test_validate_configuration_max_size_gb [0.012252s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.common.test_rpc.TestRequestContextSerializer.test_serialize_context [0.012095s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.common.test_rpc.TestRequestContextSerializer.test_serialize_entity_empty_base [0.011520s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.common.test_raid.ValidateRaidConfigurationTestCase.test_validate_configuration_no_logical_disk [0.012296s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_cleaning.DoNodeCleanTestCase.test__do_node_clean_manual_cache_bios_exception [0.039624s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.common.test_rpc.TestUtils.test_get_versioned_notifier [0.011851s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.common.test_raid.ValidateRaidConfigurationTestCase.test_validate_configuration_no_raid_level [0.012602s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.common.test_rpc.TestUtils.test_get_versioned_notifier_no_notifier [0.012836s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.common.test_raid.ValidateRaidConfigurationTestCase.test_validate_configuration_no_size_gb [0.012350s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.common.test_raid.ValidateRaidConfigurationTestCase.test_validate_configuration_okay [0.012546s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_deployments.DoNextDeployStepTestCase.test__do_next_deploy_step_none [0.083709s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_cleaning.DoNodeCleanTestCase.test__do_node_clean_manual_cache_bios_unsupported [0.039540s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.common.test_raid.ValidateRaidConfigurationTestCase.test_validate_configuration_okay_software [0.012634s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.common.test_rpc.TestUtils.test_init_globals_with_custom_topics [0.029763s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.common.test_raid.ValidateRaidConfigurationTestCase.test_validate_configuration_zero_size_gb [0.012424s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_deployments.DoNextDeployStepTestCase.test_continue_node_deploy_first_agent_boot [0.036319s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.common.test_release_mappings.ReleaseMappingsTestCase.test_current_rpc_version [0.011094s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_cleaning.DoNodeCleanTestCase.test__do_node_clean_manual_network_validate_fail [0.034768s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.common.test_swift.SwiftTestCase.test_create_object [0.035270s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.common.test_rpc.TestRequestContextSerializer.test_deserialize_context [0.011908s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.common.test_rpc.TestRequestContextSerializer.test_deserialize_entity [0.011819s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.common.test_rpc.TestUtils.test_get_sensors_notifier [0.011461s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.common.test_swift.SwiftTestCase.test_delete_object [0.031140s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.common.test_rpc.TestUtils.test_get_versioned_notifier_no_publisher_id [0.011455s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_cleaning.DoNodeCleanTestCase.test__do_node_clean_manual_power_validate_fail [0.033706s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.common.test_swift.SwiftTestCase.test_delete_object_exc [0.030479s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.common.test_rpc.TestUtils.test_init_globals_notifications_disabled [0.026698s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_deployments.DoNodeDeployTestCase.test__do_node_deploy_ok_2 [0.079656s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_cleaning.DoNodeCleanTestCase.test__do_node_clean_manual_steps_fail [0.056417s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.common.test_utils.ExecuteTestCase.test_execute_not_use_standard_locale [0.014103s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.common.test_rpc_service.TestRPCService.test_start [0.022697s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.common.test_utils.ExecuteTestCase.test_execute_without_root_helper [0.013960s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_deployments.StoreConfigDriveTestCase.test_store_configdrive_swift_no_deploy_timeout [0.031057s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.common.test_utils.GenericUtilsTestCase.test_file_has_content_equal_not_binary [0.015322s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.common.test_swift.SwiftTestCase.test___init__ [0.029525s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.common.test_utils.GenericUtilsTestCase.test_is_fips_enabled [0.018512s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_cleaning.DoNodeCleanTestCase.test_do_next_clean_step_automated_all [0.047616s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_deployments.StoreConfigDriveTestCase.test_store_configdrive_swift_no_deploy_timeout_fallback [0.032178s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.common.test_utils.GenericUtilsTestCase.test_is_valid_datapath_id [0.012067s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.common.test_swift.SwiftTestCase.test_delete_object_exc_resource_not_found [0.030367s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.common.test_utils.GenericUtilsTestCase.test_is_valid_no_proxy [0.012410s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.common.test_utils.GenericUtilsTestCase.test_wrap_ipv6 [0.011583s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.common.test_swift.SwiftTestCase.test_head_object [0.029531s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.common.test_utils.GetUpdatedCapabilitiesTestCase.test_get_updated_capabilities_invalid_capabilities [0.011170s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.common.test_utils.JinjaTemplatingTestCase.test_render_string [0.011913s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.common.test_utils.JinjaTemplatingTestCase.test_render_with_quotes [0.011750s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_cleaning.DoNodeCleanTestCase.test_do_next_clean_step_manual_all [0.047614s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_manager.ChangeNodeBootModeTestCase.test_change_node_boot_mode_validate_fail [0.067666s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.common.test_swift.SwiftTestCase.test_update_object_meta [0.030177s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.common.test_utils.TempFilesTestCase.test__check_dir_writable_ok [0.013350s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.common.test_utils.ExecuteTestCase.test_execute_get_root_helper [0.012497s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.common.test_utils.TempFilesTestCase.test_check_dir_ok [0.013927s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.common.test_utils.ExecuteTestCase.test_execute_use_standard_locale_no_env_variables [0.013012s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.common.test_utils.TempFilesTestCase.test_is_memory_insufficent_warning_only [0.012669s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.common.test_utils.ExecuteTestCase.test_execute_use_standard_locale_with_env_variables [0.012014s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.common.test_utils.TempFilesTestCase.test_tempdir [0.011416s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_deployments.DoNextDeployStepTestCase.test__do_next_deploy_step_async [0.072547s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.common.test_utils.GenericUtilsTestCase.test_file_has_content_equal [0.014075s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.common.test_utils.TempFilesTestCase.test_tempdir_mocked [0.012881s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.common.test_utils.GenericUtilsTestCase.test_is_valid_logical_name [0.011319s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.common.test_utils.TempFilesTestCase.test_tempdir_mocked_error_on_rmtree [0.018222s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_manager.ChangeNodeBootModeTestCase.test_change_node_boot_mode_worker_pool_full [0.081681s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.common.test_utils.GenericUtilsTestCase.test_safe_rstrip_not_raises_exceptions [0.011020s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.common.test_utils.GetUpdatedCapabilitiesTestCase.test_get_updated_capabilities_capabilities_not_dict [0.011109s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.common.test_wsgi_service.TestWSGIService.test_workers_set_negative_setting [0.022736s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.common.test_utils.GetUpdatedCapabilitiesTestCase.test_get_updated_capabilities_multiple_keys [0.011268s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.common.test_utils.GetUpdatedCapabilitiesTestCase.test_get_updated_capabilities_replace_to_existing_capabilities [0.011024s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_deployments.DoNextDeployStepTestCase.test__do_next_deploy_step_continue_from_last_step [0.071056s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.common.test_utils.JinjaTemplatingTestCase.test_render_file [0.016230s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_allocations.AllocationTestCase.test_destroy_allocation_with_node_in_maintenance [0.035156s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.common.test_utils.TempFilesTestCase.test__check_dir_writable_not_writable [0.012646s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_manager.ChangeNodePowerStateTestCase.test_change_node_power_state_unsupported_state [0.075306s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.common.test_utils.TempFilesTestCase.test_check_dir_no_dir [0.013338s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_allocations.AllocationTestCase.test_destroy_allocation_with_transient_node [0.031293s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.common.test_utils.TempFilesTestCase.test_check_dir_with_pass_in [0.013268s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_allocations.BackfillAllocationTestCase.test_candidate_nodes_mismatch [0.029836s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_deployments.DoNextDeployStepTestCase.test_do_next_deploy_step_bad_step_return_value [0.077780s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_allocations.AllocationTestCase.test_create_allocation_with_node_id [0.058973s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_allocations.AllocationTestCase.test_destroy_allocation_with_node [0.034367s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_deployments.DoNextDeployStepTestCase.test_do_next_deploy_step_execute_handled_exception [0.068908s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_allocations.BackfillAllocationTestCase.test_node_associated_with_another_instance [0.033613s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_allocations.BackfillAllocationTestCase.test_non_existing_node [0.018907s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_deployments.DoNextDeployStepTestCase.test_do_next_deploy_step_oob_reboot [0.070241s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_allocations.BackfillAllocationTestCase.test_uuid_associated_with_another_instance [0.034554s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_allocations.BackfillAllocationTestCase.test_with_associated_node [0.181937s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_allocations.DoAllocateTestCase.test_nodes_changed_after_lock [0.049303s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_allocations.BackfillAllocationTestCase.test_with_unassociated_node [0.032257s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_manager.ChangeNodePowerStateTestCase.test_node_set_power_state_notif_no_state_change [0.249163s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_deployments.DoNextDeployStepTestCase.test_do_next_deploy_step_oob_reboot_fail [0.076131s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_allocations.DoAllocateTestCase.test_with_candidates [0.033778s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_allocations.BackfillAllocationTestCase.test_without_resource_class [0.030649s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_base_manager.CheckInterfacesTestCase.test__check_enabled_interfaces_failure [0.015695s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_base_manager.ManagerSpawnWorkerTestCase.test__spawn_worker [0.012007s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_base_manager.ManagerSpawnWorkerTestCase.test__spawn_worker_none_free [0.011573s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_allocations.DoAllocateTestCase.test_nodes_filtered_out [0.033870s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_manager.ChangeNodeSecureBootTestCase.test_change_node_secure_boot_exception_in_background_task [0.072586s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_deployments.DoNodeDeployTestCase.test__do_node_deploy_configdrive_unexpected_error [0.075568s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_allocations.DoAllocateTestCase.test_nodes_locked [0.044636s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_manager.ChangeNodeSecureBootTestCase.test_change_node_secure_boot_node_already_locked [0.063330s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_base_manager.MiscTestCase.test__fail_transient_state [0.069565s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_allocations.DoAllocateTestCase.test_success [0.030872s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_deployments.DoNodeDeployTestCase.test__do_node_deploy_driver_raises_error_old [0.077094s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_base_manager.KeepAliveTestCase.test__conductor_service_record_keepalive_failed_db_conn [0.059778s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_manager.ChangeNodeSecureBootTestCase.test_change_node_secure_boot_valid [0.071759s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_deployments.DoNodeDeployTestCase.test_do_node_deploy_steps [0.067552s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_base_manager.StartStopTestCase.test_conductor_shutdown_flag [0.053580s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_manager.ChangeNodeSecureBootTestCase.test_change_node_secure_boot_worker_pool_full [0.073363s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_base_manager.RegisterInterfacesTestCase.test__register_and_validate_no_valid_default [0.196526s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_base_manager.StartStopTestCase.test_del_host_with_mdns [0.065930s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_manager.CheckTimeoutsTestCase.test__check_cleanwait_timeouts_manual_clean [0.074993s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_base_manager.StartStopTestCase.test_start_registers_conductor [0.062030s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_base_manager.StartConsolesTestCase.test__start_consoles_no_console_enabled [0.062858s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_manager.ConsoleTestCase.test_set_console_mode_start_fail [0.075073s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_deployments.DoNodeDeployTestCase.test_start_deploy [0.208353s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_base_manager.StartStopTestCase.test_prevent_double_start [0.052310s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_deployments.StoreConfigDriveTestCase.test_store_configdrive_swift_build [0.031344s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_base_manager.StartStopTestCase.test_start_fails_hw_type_register [0.036923s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_base_manager.StartStopTestCase.test_start_registers_driver_names [0.106120s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_manager.BootDeviceTestCase.test_get_boot_device [0.026833s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_manager.ConsoleTestCase.test_set_console_mode_validation_fail [0.071851s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_base_manager.StartStopTestCase.test_start_fails_on_hw_types [0.024889s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_base_manager.StartStopTestCase.test_start_fails_on_no_enabled_interfaces [0.015892s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_manager.BootDeviceTestCase.test_get_boot_device_validate_fail [0.028631s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_manager.BootDeviceTestCase.test_get_supported_boot_devices [0.023025s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_base_manager.StartStopTestCase.test_stop_clears_conductor_locks [0.059863s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_manager.DestroyNodeTestCase.test_destroy_node_allowed_in_maintenance [0.081597s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_base_manager.StartStopTestCase.test_start_with_mdns [0.056019s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_manager.ChangeNodeBootModeTestCase.test_change_node_boot_mode_exception_getting_current [0.068317s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_base_manager.StartStopTestCase.test_stop_doesnt_unregister_conductor [0.054412s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_base_manager.StartStopTestCase.test_stop_uninitialized_conductor [0.027100s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_base_manager.StartStopTestCase.test_start_with_mdns_and_debug [0.056432s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_manager.DestroyNodeTestCase.test_destroy_node_associated [0.071147s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_cleaning.DoNodeCleanAbortTestCase.test__do_node_clean_abort_tear_down_fail [0.031517s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_manager.ChangeNodeBootModeTestCase.test_change_node_boot_mode_existing [0.064580s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_base_manager.StartStopTestCase.test_stop_unregisters_conductor [0.053635s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_cleaning.DoNodeCleanTestCase.test__do_next_clean_step_automated_last_step_noop [0.033782s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_manager.DestroyNodeTestCase.test_destroy_node_console_disable_fail [0.082864s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_cleaning.DoNodeCleanTestCase.test__do_next_clean_step_fast_track [0.047722s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_manager.ChangeNodePowerStateTestCase.test_change_node_power_state_power_on [0.071071s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_cleaning.DoNodeCleanTestCase.test__do_next_clean_step_automated_no_steps [0.047051s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_cleaning.DoNodeCleanTestCase.test__do_next_clean_step_manual_execute_fail [0.038296s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_cleaning.DoNodeCleanTestCase.test__do_node_clean_automated_disabled [0.033566s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_manager.DestroyNodeTestCase.test_destroy_node_reserved [0.075787s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_cleaning.DoNodeCleanTestCase.test__do_node_clean_automated_enabled_individual_disabled [0.033083s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_cleaning.DoNodeCleanTestCase.test__do_next_clean_step_manual_last_step_noop [0.042085s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_manager.ChangeNodePowerStateTestCase.test_change_node_power_state_soft_power_off_timeout [0.069544s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_manager.DestroyPortTestCase.test_destroy_port_node_locked [0.025340s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_cleaning.DoNodeCleanTestCase.test__do_node_clean_automated_power_validate_fail [0.034691s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_cleaning.DoNodeCleanTestCase.test__do_node_clean_automated_cache_bios_exception [0.038530s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_manager.DestroyVolumeConnectorTestCase.test_destroy_volume_connector [0.032372s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_manager.ChangeNodePowerStateTestCase.test_change_node_power_state_validate_fail [0.062889s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_cleaning.DoNodeCleanTestCase.test__do_node_clean_automated_prepare_clean_wait [0.033666s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_cleaning.DoNodeCleanTestCase.test__do_node_clean_automated_disabled_individual_disabled [0.031718s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_manager.DestroyVolumeTargetTestCase.test_destroy_volume_target_already_destroyed [0.034490s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_cleaning.DoNodeCleanTestCase.test__do_node_clean_automated_enabled_individual_enabled [0.036784s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_manager.DestroyVolumeTargetTestCase.test_destroy_volume_target_node_power_on [0.026514s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_cleaning.DoNodeCleanTestCase.test__do_node_clean_automated_steps_fail [0.055035s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_manager.ChangeNodePowerStateTestCase.test_change_node_power_state_worker_pool_full [0.068455s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_cleaning.DoNodeCleanTestCase.test__do_node_clean_automated_enabled_individual_none [0.036762s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_cleaning.DoNodeCleanTestCase.test__do_node_clean_manual [0.033667s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_manager.DoNodeAdoptionTestCase.test__do_adoption_take_over_failure [0.071054s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_cleaning.DoNodeCleanTestCase.test__do_node_clean_automated_prepare_clean_fail [0.036663s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_cleaning.DoNodeCleanTestCase.test__do_node_clean_manual_prepare_clean_wait [0.034702s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_cleaning.DoNodeCleanTestCase.test_continue_node_clean [0.029392s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_manager.ChangeNodePowerStateTestCase.test_node_set_power_state_notif_spawn_fail [0.091945s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_cleaning.DoNodeCleanTestCase.test_do_next_clean_step_collect_logs [0.044928s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_manager.DoNodeAdoptionTestCase.test_heartbeat_invalid_agent_token [0.071724s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_cleaning.DoNodeCleanTestCase.test_do_next_clean_step_manual_continue_from_last_cleaning [0.031602s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_cleaning.DoNodeCleanTestCase.test_continue_node_clean_no_skip_step [0.029444s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_cleaning.DoNodeCleanTestCase.test_do_next_clean_step_oob_reboot [0.032556s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_cleaning.DoNodeCleanTestCase.test_do_next_clean_step_agent_busy [0.034704s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_manager.ChangeNodePowerStateTestCase.test_node_set_power_state_notif_success [0.094360s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_cleaning.DoNodeCleanTestCase.test_do_next_clean_step_automated_first_step_async [0.033929s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_manager.DoNodeAdoptionTestCase.test_heartbeat_with_agent_verify_ca [0.073283s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_cleaning.DoNodeCleanTestCase.test_do_next_clean_step_oob_reboot_last_step [0.031460s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_cleaning.DoNodeCleanTestCase.test_do_next_clean_step_continue_from_last_cleaning [0.033465s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_deployments.DoNextDeployStepTestCase.test__do_next_deploy_step_in_deploywait [0.066657s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_manager.ChangeNodeSecureBootTestCase.test_change_node_secure_boot_exception_getting_current [0.071437s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_cleaning.DoNodeCleanTestCase.test_do_next_clean_step_manual_all_disable_ramdisk [0.045867s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_manager.DoNodeAdoptionTestCase.test_heartbeat_without_version [0.068590s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_deployments.DoNextDeployStepTestCase.test_continue_node_deploy [0.033385s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_cleaning.DoNodeCleanTestCase.test_do_next_clean_step_oob_reboot_fail [0.038769s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_manager.ChangeNodeSecureBootTestCase.test_change_node_secure_boot_existing [0.068499s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_manager.DoNodeCleanTestCase.test_continue_node_clean_automated [0.067401s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_deployments.DoNextDeployStepTestCase.test_do_next_deploy_step_agent_busy [0.065699s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_deployments.DoNextDeployStepTestCase.test__do_next_deploy_step_all [0.073376s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_manager.CheckTimeoutsTestCase.test__check_cleanwait_timeouts_automated_clean [0.072756s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_manager.DoNodeCleanTestCase.test_continue_node_clean_locked [0.066351s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_deployments.DoNodeDeployTestCase.test__do_node_deploy_configdrive_swift_error [0.074064s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_deployments.DoNextDeployStepTestCase.test__do_next_deploy_step_dynamic [0.077025s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_manager.CheckTimeoutsTestCase.test__check_cleanwait_timeouts_boot_timeout [0.072362s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_manager.DoNodeCleanTestCase.test_continue_node_clean_manual_abort [0.073862s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_deployments.DoNodeDeployTestCase.test__do_node_deploy_driver_ironic_exception [0.075991s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_deployments.DoNextDeployStepTestCase.test__do_next_deploy_step_fast_track [0.071286s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_manager.CheckTimeoutsTestCase.test_check_rescuewait_timeouts [0.074154s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_manager.DoNodeCleanTestCase.test_continue_node_clean_worker_pool_full [0.066990s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_deployments.DoNodeDeployTestCase.test__do_node_deploy_driver_raises_prepare_error [0.068102s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_deployments.DoNextDeployStepTestCase.test__do_next_deploy_step_last_step_done [0.070542s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_manager.DoNodeCleanTestCase.test_continue_node_clean_wrong_state [0.062870s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_manager.ContinueNodeDeployTestCase.test_continue_node_deploy_worker_pool_full [0.065987s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_manager.CreatePortTestCase.test_create_port_physnet_validation_failure_conflict [0.029060s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_deployments.DoNodeDeployTestCase.test__do_node_deploy_ok [0.071735s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_manager.BootDeviceTestCase.test_get_boot_device_node_locked [0.020885s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_deployments.DoNextDeployStepTestCase.test__do_next_deploy_step_last_step_done_with_console [0.072503s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_manager.DoNodeCleanTestCase.test_do_node_clean_maintenance [0.066774s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_manager.CreatePortTestCase.test_create_port_physnet_validation_failure_inconsistent [0.027248s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_manager.BootDeviceTestCase.test_set_boot_device_node_locked [0.020711s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_deployments.DoNextDeployStepTestCase.test_continue_node_deploy_no_skip_step [0.034211s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_manager.BootDeviceTestCase.test_set_boot_device_validate_fail [0.025588s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_manager.DoNodeCleanTestCase.test_do_node_clean_power_validate_fail [0.064016s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_deployments.DoNextDeployStepTestCase.test_continue_node_steps_validation [0.036803s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_manager.DestroyNodeTestCase.test_destroy_node [0.090639s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_manager.ChangeNodeBootModeTestCase.test_change_node_boot_mode_node_already_locked [0.059101s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_manager.DoNodeInspectAbortTestCase.test_do_inspect_abort_succeeded [0.068472s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_deployments.DoNextDeployStepTestCase.test_do_next_deploy_step_execute_exception [0.077042s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_manager.DestroyNodeTestCase.test_destroy_node_broken_driver [0.066847s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_manager.ChangeNodeBootModeTestCase.test_change_node_boot_mode_valid [0.066733s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_manager.DoNodeRescueTestCase.test__do_node_rescue_abort [0.032756s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_manager.DestroyPortTestCase.test_destroy_port_node_active_and_maintenance_no_vif [0.029693s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_manager.DestroyPortTestCase.test_destroy_port_node_active_and_maintenance_vif_present [0.029348s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_deployments.DoNextDeployStepTestCase.test_do_next_deploy_step_execute_ironic_exception [0.077499s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_manager.DestroyPortTestCase.test_destroy_port_node_active_state [0.027177s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_manager.ChangeNodePowerStateTestCase.test_change_node_power_state_exception_in_background_task [0.068962s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_manager.DoNodeRescueTestCase.test__do_node_rescue_errors [0.076714s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_manager.DestroyVolumeConnectorTestCase.test_destroy_volume_connector_node_locked [0.022002s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_manager.DestroyVolumeConnectorTestCase.test_destroy_volume_connector_node_power_on [0.027345s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_manager.ChangeNodeSecureBootTestCase.test_change_node_secure_boot_validate_fail [0.059769s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_deployments.DoNextDeployStepTestCase.test_do_next_deploy_step_no_steps [0.080527s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_manager.DoNodeRescueTestCase.test__do_node_rescue_returns_rescue [0.070046s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_manager.DoNodeAdoptionTestCase.test__do_adoption_boot_validate_failure [0.067597s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_deployments.DoNodeDeployTestCase.test__do_node_deploy_configdrive_db_error [0.065945s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_manager.CheckTimeoutsTestCase.test__check_deploy_timeouts [0.074513s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_manager.DoNodeRescueTestCase.test_do_node_rescue_invalid_state [0.073965s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_manager.DoNodeAdoptionTestCase.test__do_adoption_with_netboot [0.070669s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_manager.ConsoleTestCase.test_disable_console_already_disabled [0.059225s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_manager.DoNodeRescueTestCase.test_do_node_unrescue [0.056556s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_deployments.DoNodeDeployTestCase.test__do_node_deploy_driver_unexpected_exception [0.074879s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_manager.DoNodeRescueTestCase.test_do_node_unrescue_maintenance [0.029122s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_manager.DoNodeAdoptionTestCase.test_heartbeat_with_no_required_agent_token [0.067317s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_manager.ConsoleTestCase.test_enable_console_already_enabled [0.065399s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_deployments.DoNodeDeployTestCase.test__do_node_deploy_fast_track [0.071858s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_manager.ConsoleTestCase.test_get_console [0.022875s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_manager.DoNodeTakeOverTestCase.test__do_takeover [0.070100s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_manager.DoNodeAdoptionTestCase.test_heartbeat_with_required_agent_token [0.069858s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_manager.ConsoleTestCase.test_set_console_mode_disabled [0.070716s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_deployments.DoNodeDeployTestCase.test__do_node_deploy_ok_configdrive [0.071805s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_manager.DoNodeTakeOverTestCase.test__do_takeover_with_console_port_cleaned [0.079877s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_manager.DoNodeAdoptionTestCase.test_heartbeat_without_agent_version_anaconda [0.068811s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_deployments.DoNodeDeployTestCase.test__do_node_deploy_unexpected_prepare_error [0.070919s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_manager.ConsoleTestCase.test_set_console_mode_stop_fail [0.072332s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_deployments.StoreConfigDriveTestCase.test_store_configdrive [0.027307s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_manager.DoNodeCleanTestCase.test_do_node_clean_network_validate_fail [0.062158s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_manager.DoNodeTearDownTestCase.test__do_node_tear_down_ok_without_console [0.081278s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_deployments.StoreConfigDriveTestCase.test_store_configdrive_swift [0.030825s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_manager.ConsoleTestCase.test_set_console_mode_worker_pool_full [0.062156s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_manager.BootDeviceTestCase.test_set_boot_device [0.027961s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_manager.DoNodeCleanTestCase.test_do_node_clean_worker_pool_full [0.069444s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_manager.DoNodeTearDownTestCase.test__do_node_tear_down_with_allocation [0.083495s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_manager.ContinueNodeDeployTestCase.test_continue_node_deploy [0.061709s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_manager.DoNodeInspectAbortTestCase.test_do_inspect_abort_interface_return_failed [0.071343s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_manager.ContinueNodeDeployTestCase.test_continue_node_deploy_deprecated [0.061176s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_manager.DoNodeTearDownTestCase.test_do_node_tear_down_driver_raises_error [0.070966s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_manager.DoNodeRescueTestCase.test__do_node_rescue_abort_clean_up_fail [0.032312s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_manager.DoNodeTearDownTestCase.test_do_node_tear_down_validate_fail [0.027191s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_manager.ContinueNodeDeployTestCase.test_continue_node_deploy_locked [0.060761s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_manager.DoNodeRescueTestCase.test__do_node_rescue_returns_rescuewait [0.065715s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_manager.ChangeNodeBootModeTestCase.test_change_node_boot_mode_exception_in_background_task [0.211851s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_manager.DoProvisioningActionTestCase.test_do_provision_action_abort_clean_step_not_abortable [0.065958s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_manager.ContinueNodeDeployTestCase.test_continue_node_deploy_wrong_state [0.060970s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_manager.CreateNodeTestCase.test_create_node [0.022548s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_manager.DoNodeRescueTestCase.test__do_node_unrescue_bad_state [0.068846s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_manager.ChangeNodePowerStateTestCase.test_change_node_power_state_node_already_locked [0.063089s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_manager.CreateNodeTestCase.test_create_node_validation_fails [0.015799s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_manager.DoProvisioningActionTestCase.test_do_provision_action_abort_manual_clean [0.062769s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_manager.CreatePortTestCase.test_create_port [0.028326s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_manager.CreatePortTestCase.test_create_port_mac_exists [0.028720s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_manager.DoProvisioningActionTestCase.test_do_provisioning_action_worker_pool_full [0.066654s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_manager.DoNodeRescueTestCase.test__do_node_unrescue_ironic_error [0.072470s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_manager.ManagerCheckDeployTimeoutsTestCase.test_acquire_node_disappears [0.017559s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_manager.ChangeNodePowerStateTestCase.test_node_set_power_state_notif_get_power_fail [0.095631s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_manager.ManagerCheckDeployTimeoutsTestCase.test_no_deploywait_after_lock [0.018586s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_manager.DestroyNodeTestCase.test_destroy_node_adopt_failed_no_power_change [0.067731s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_manager.ManagerCheckInspectWaitTimeoutsTestCase.test__check_inspect_timeout [0.018557s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_manager.DoNodeRescueTestCase.test__do_node_unrescue_other_error [0.073244s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_manager.ManagerCheckInspectWaitTimeoutsTestCase.test__check_inspect_timeouts_no_acquire_after_lock [0.018019s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_manager.ManagerCheckInspectWaitTimeoutsTestCase.test__check_inspect_timeouts_to_maintenance_after_lock [0.018756s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_manager.DoNodeRescueTestCase.test_do_node_rescue_when_rescue_validate_fail [0.037795s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_manager.ManagerCheckInspectWaitTimeoutsTestCase.test__check_inspect_timeouts_worker_limit [0.020127s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_manager.ChangeNodePowerStateTestCase.test_node_set_power_state_notif_set_power_fail [0.096585s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_manager.ConsoleTestCase.test_get_console_disabled [0.024691s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_manager.ConsoleTestCase.test_get_console_validate_fail [0.024249s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_manager.DoNodeRescueTestCase.test_do_node_unrescue_invalid_state [0.061196s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_manager.DoNodeRescueTestCase.test_provision_rescue_abort [0.067016s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_manager.ConsoleTestCase.test_set_console_mode_enabled [0.067124s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_manager.DestroyNodeTestCase.test_destroy_node_console_enabled [0.213609s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_manager.ManagerDoSyncPowerStateTestCase.test_correct_power_state_on_upgrade_lock [0.169773s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_manager.CreatePortTestCase.test_create_port_node_locked [0.022604s] ... 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:445: {2} ironic.tests.unit.conductor.test_manager.ManagerDoSyncPowerStateTestCase.test_power_state_sync_max_retries_gps_exception [0.025004s] ... 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.DestroyNodeTestCase.test_destroy_node_invalid_provision_state [0.060017s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_manager.ManagerDoSyncPowerStateTestCase.test_vendor_detection [0.026884s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_manager.DestroyNodeTestCase.test_destroy_node_power_off [0.071648s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_manager.ManagerPowerRecoveryTestCase.test_node_locked_on_acquire [0.018112s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_manager.ManagerSyncLocalStateTestCase.test_already_mapped [0.017139s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_manager.ManagerSyncLocalStateTestCase.test_node_locked [0.016726s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_manager.DestroyNodeTestCase.test_destroy_node_protected [0.061599s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_manager.DestroyNodeTestCase.test_destroy_node_protected_provision_state_available [0.061630s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_manager.ManagerSyncPowerStatesTestCase.test__sync_power_state_multiple_nodes [0.024899s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_manager.DestroyNodeTestCase.test_destroy_node_with_allocation [0.033182s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_manager.ManagerSyncPowerStatesTestCase.test_node_disappears_on_acquire [0.017293s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_manager.DestroyPortTestCase.test_destroy_port [0.031637s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_manager.ManagerSyncPowerStatesTestCase.test_node_in_maintenance_on_acquire [0.018555s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_manager.DestroyPortTestCase.test_destroy_port_node_active_port_unbound [0.029388s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_manager.DestroyPortTestCase.test_destroy_port_with_instance_not_in_active_port_unbound [0.029204s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_manager.ManagerTestProperties.test_driver_properties_fail [0.034248s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_manager.DestroyPortgroupTestCase.test_destroy_portgroup [0.030902s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_manager.DestroyPortTestCase.test_destroy_port_with_instance_not_in_active_port_bound [0.028054s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_manager.DestroyPortgroupTestCase.test_destroy_portgroup_node_locked [0.023458s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_manager.DestroyVolumeTargetTestCase.test_destroy_volume_target_node_locked [0.023050s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_manager.ManagerTestProperties.test_driver_properties_ipmi [0.052871s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_manager.DestroyVolumeTargetTestCase.test_destroy_volume_target [0.028564s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_manager.DestroyVolumeTargetTestCase.test_destroy_volume_target_node_gone [0.028521s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_manager.DoNodeAdoptionTestCase.test_heartbeat_invalid_agent_token_older_version [0.069956s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_manager.ManagerTestProperties.test_driver_properties_manual_management [0.050715s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_manager.MiscTestCase.test_validate_driver_interfaces_validation_fail_unexpected [0.025903s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_manager.DoNodeAdoptionTestCase.test__do_adoption_with_takeover [0.068086s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_manager.NmiTestCase.test_inject_nmi [0.027532s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_manager.DoNodeAdoptionTestCase.test_heartbeat_with_agent_version [0.069690s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_manager.NmiTestCase.test_inject_nmi_validate_invalid_param [0.029103s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_manager.NmiTestCase.test_inject_nmi_validate_missing_param [0.026480s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_manager.DoNodeAdoptionTestCase.test_do_provisioning_action_adopt_node [0.065502s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_manager.DoNodeCleanTestCase.test_continue_node_clean_automated_abort_last_clean_step [0.070892s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_manager.DoNodeAdoptionTestCase.test_do_provisioning_action_adopt_node_retry [0.062597s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_manager.NodeHistoryRecordCleanupTestCase.test_history_is_pruned_from_all_nodes_one_pass [0.078071s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_manager.DoNodeCleanTestCase.test_do_node_clean_invalid_state [0.063566s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_manager.DoNodeAdoptionTestCase.test_do_provisioning_action_manage_of_failed_adoption [0.062175s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_manager.NodeHistoryRecordCleanupTestCase.test_history_is_pruned_to_config [0.078958s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_manager.DoNodeCleanTestCase.test_do_node_clean_ok [0.063958s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_manager.NodeInspectHardware.test_inspect_hardware_power_validate_fail [0.033656s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_manager.DoNodeTearDownTestCase.test__do_node_tear_down_from_valid_states [0.643091s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_manager.DoNodeAdoptionTestCase.test_heartbeat_invalid_newer_version [0.066398s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_manager.DoNodeRescueTestCase.test__do_node_unrescue [0.067426s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_manager.DoNodeTearDownTestCase.test_do_node_tear_down_console_raises_error [0.072568s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_manager.NodeInspectHardware.test_inspect_hardware_return_inspect_wait [0.066608s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_manager.DoNodeAdoptionTestCase.test_heartbeat_tls_required [0.065824s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_manager.DoNodeRescueTestCase.test_do_node_rescue [0.059725s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_manager.NodeTraitsTestCase.test_add_node_traits [0.042204s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_manager.DoNodeTearDownTestCase.test_do_node_tear_down_invalid_state [0.060734s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_manager.DoNodeAdoptionTestCase.test_heartbeat_with_agent_token [0.067101s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_manager.DoNodeRescueTestCase.test_do_node_rescue_when_network_validate_fail [0.038144s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_manager.NodeTraitsTestCase.test_remove_node_traits [0.039523s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_manager.DoNodeRescueTestCase.test_do_node_unrescue_validate_fail [0.027619s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_manager.NodeTraitsTestCase.test_remove_node_traits_empty [0.029379s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_manager.DoNodeTearDownTestCase.test_do_node_tear_down_protected [0.059536s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_manager.DoNodeCleanTestCase.test_continue_node_clean_automated_abort [0.069358s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_manager.NodeTraitsTestCase.test_remove_node_traits_node_not_found [0.031278s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_manager.IndicatorsTestCase.test_get_indicator_state [0.026018s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_manager.DoNodeTearDownTestCase.test_do_node_tear_down_worker_pool_full [0.067038s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_manager.IndicatorsTestCase.test_get_supported_indicators [0.023722s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_manager.ParallelPowerSyncTestCase.test__sync_power_states_node_prioritization [0.031454s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_manager.ManagerCheckDeployTimeoutsTestCase.test_exiting_no_worker_avail [0.018192s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_manager.DoNodeCleanTestCase.test_continue_node_clean_manual [0.063130s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_manager.ManagerCheckInspectWaitTimeoutsTestCase.test__check_inspect_timeouts_acquire_node_disappears [0.017266s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_manager.RaidHardwareTypeTestCases.test_set_target_raid_config_empty [0.035773s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_manager.ManagerCheckInspectWaitTimeoutsTestCase.test__check_inspect_timeouts_exiting_no_worker_avail [0.019246s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_manager.DoProvisioningActionTestCase.test_do_provision_action_manage [0.063616s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_manager.RaidHardwareTypeTestCases.test_set_target_raid_config_invalid_parameter_value [0.032066s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_manager.ManagerCheckInspectWaitTimeoutsTestCase.test__check_inspect_timeouts_not_mapped [0.016996s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_manager.IndicatorsTestCase.test_set_indicator_state [0.028767s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_manager.ManagerCheckDeployTimeoutsTestCase.test_acquire_node_locked [0.017734s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_manager.DoNodeCleanTestCase.test_continue_node_clean_manual_abort_last_clean_step [0.070394s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_manager.RaidTestCases.test_set_target_raid_config [0.033141s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_manager.ManagerCheckDeployTimeoutsTestCase.test_not_mapped [0.017259s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_manager.ManagerCheckOrphanNodesTestCase.test__check_orphan_nodes [0.074128s] ... 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.SensorsTestCase.test___send_sensor_data [0.051784s] ... 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_manager.DoNodeInspectAbortTestCase.test_do_inspect_abort_interface_not_support [0.065500s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_manager.ManagerDoSyncPowerStateTestCase.test_maintenance_on_upgrade_lock [0.022107s] ... 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.ServiceDoNodeDeployTestCase.test_do_node_deploy_maintenance [0.026907s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_manager.ManagerCheckOrphanNodesTestCase.test__check_orphan_nodes_maintenance [0.068167s] ... 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_notify [0.055739s] ... 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.DoNodeRescueTestCase.test__do_node_rescue_bad_state [0.077060s] ... 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_state_changed_no_sync [0.027239s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_manager.ServiceDoNodeDeployTestCase.test_do_node_deploy_partial_ok [0.070968s] ... 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.ManagerCheckOrphanNodesTestCase.test__check_orphan_nodes_release_node_not_locked [0.080139s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_manager.DoNodeRescueTestCase.test_do_node_rescue_maintenance [0.026510s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_manager.ManagerDoSyncPowerStateTestCase.test_wrong_provision_state_on_upgrade_lock [0.022358s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_manager.ManagerDoSyncPowerStateTestCase.test_get_power_state_error [0.021872s] ... 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.ManagerPowerRecoveryTestCase.test_node_disappears_on_acquire [0.019809s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_manager.DoNodeRescueTestCase.test_do_node_rescue_when_power_validate_fail [0.034520s] ... 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.ManagerPowerRecoveryTestCase.test_node_in_enroll_on_acquire [0.020065s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_manager.ManagerPowerRecoveryTestCase.test_node_recovery_success [0.020287s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_manager.ServiceDoNodeDeployTestCase.test_do_node_deploy_rebuild_active_state_waiting [0.081513s] ... 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_notify [0.050498s] ... 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.ManagerSyncLocalStateTestCase.test_good [0.019081s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_manager.ManagerDoSyncPowerStateTestCase.test_state_changed_sync_failed [0.021806s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_manager.ManagerSyncLocalStateTestCase.test_worker_limit [0.018095s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_manager.DoNodeTakeOverTestCase.test__do_takeover_with_console_enabled [0.067855s] ... 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_not_set [0.025845s] ... 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.ManagerSyncPowerStatesTestCase.test_node_in_deploywait_on_acquire [0.018734s] ... 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.ServiceDoNodeDeployTestCase.test_do_node_deploy_rebuild_from_available_state [0.061450s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_manager.ManagerDoSyncPowerStateTestCase.test_state_unchanged [0.020925s] ... 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.ManagerSyncPowerStatesTestCase.test_node_in_enroll_on_acquire [0.019896s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_manager.TestIndirectionApiConductor.test_object_action [0.015578s] ... 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.TestIndirectionApiConductor.test_object_action_on_object [0.014141s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_manager.ManagerDoSyncPowerStateTestCase.test_validate_fail [0.021292s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_manager.DoNodeTakeOverTestCase.test__do_takeover_with_console_exception [0.071435s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_manager.MiscTestCase.test_validate_driver_interfaces_validation_fail_deploy_templates [0.026100s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_manager.TestIndirectionApiConductor.test_object_class_action [0.013554s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_manager.ManagerPowerRecoveryTestCase.test_node_not_mapped [0.018548s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_manager.ManagerSyncLocalStateTestCase.test_no_free_worker [0.017957s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_manager.UpdateNodeTestCase.test_update_node_already_locked [0.030746s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_manager.ManagerSyncPowerStatesTestCase.test_node_in_power_transition_on_acquire [0.019213s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_manager.ManagerSyncPowerStatesTestCase.test_node_locked_on_acquire [0.019012s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_manager.UpdateNodeTestCase.test_update_node_deleting_allocation [0.033840s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_manager.ManagerSyncPowerStatesTestCase.test_node_not_mapped [0.018291s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_manager.NodeHistoryRecordCleanupTestCase.test_history_is_pruned_to_config_two_pass [0.090671s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_manager.DoNodeTearDownTestCase.test__do_node_tear_down_ok_with_console [0.078974s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_manager.UpdateNodeTestCase.test_update_node_deleting_allocation_forbidden [0.029640s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_manager.ManagerSyncPowerStatesTestCase.test_single_node_adopt_failed [0.018497s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_manager.UpdateNodeTestCase.test_update_node_fix_broken_interface [0.031050s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_manager.DoProvisioningActionTestCase.test_do_provision_action_abort_automated_clean [0.061622s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_manager.ManagerTestProperties.test_driver_properties_ilo [0.051738s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_manager.NodeHistoryRecordCleanupTestCase.test_history_pruning_no_work [0.069778s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_manager.DoProvisioningActionTestCase.test_do_provision_action_provide [0.061258s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_manager.ManagerTestProperties.test_driver_properties_snmp [0.050209s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_manager.NodeInspectHardware.test_inspect_hardware_return_inspecting [0.067556s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_manager.MiscTestCase.test__mapped_to_this_conductor [0.058105s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_manager.DoProvisioningActionTestCase.test_do_provision_action_provide_in_maintenance [0.059453s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_manager.ManagerCheckDeployTimeoutsTestCase.test_exiting_with_other_exception [0.017589s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_manager.NodeInspectHardware.test_inspect_hardware_return_other_state [0.072521s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_manager.ManagerCheckDeployTimeoutsTestCase.test_maintenance_after_lock [0.018116s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_manager.MiscTestCase.test_iter_nodes_shutdown [0.050789s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_manager.ManagerCheckDeployTimeoutsTestCase.test_timeout [0.016880s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_manager.MiscTestCase.test_validate_driver_interfaces_validation_fail_instance_traits [0.025035s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_manager.ManagerCheckDeployTimeoutsTestCase.test_worker_limit [0.017030s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_manager.ManagerCheckInspectWaitTimeoutsTestCase.test__check_inspect_timeouts_acquire_node_locked [0.017421s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_manager.MiscTestCase.test_validate_dynamic_driver_interfaces [0.026146s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_manager.NodeInspectHardware.test_inspect_hardware_unexpected_error [0.067315s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_manager.ManagerCheckInspectWaitTimeoutsTestCase.test__check_inspect_timeouts_exit_with_other_exception [0.018181s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_manager.NmiTestCase.test_inject_nmi_node_locked [0.022085s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_manager.NodeInspectHardware.test_inspect_hardware_validate_fail [0.037990s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_manager.NmiTestCase.test_inject_nmi_not_implemented [0.026736s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_manager.ManagerCheckOrphanNodesTestCase.test__check_orphan_nodes_alive [0.072953s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_manager.NodeInspectHardware.test_inspect_hardware_worker_pool_full [0.067097s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_manager.NodeHistoryRecordCleanupTestCase.test_history_pruning_not_other_conductor [0.072322s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_manager.NodeTraitsTestCase.test_add_node_traits_node_locked [0.029422s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_manager.ParallelPowerSyncTestCase.test__sync_power_states_1_nodes_8_workers [0.016803s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_manager.ManagerCheckOrphanNodesTestCase.test__check_orphan_nodes_cleaning [0.079686s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_manager.ParallelPowerSyncTestCase.test__sync_power_states_6_nodes_8_workers [0.015903s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_manager.NodeInspectHardware.test_inspect_hardware_raises_error [0.071144s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_manager.ParallelPowerSyncTestCase.test__sync_power_states_9_nodes_1_worker [0.016150s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_manager.UpdateNodeTestCase.test_update_node_interface_in_allowed_state [0.433867s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_manager.UpdateNodeTestCase.test_update_node_retired_invalid_state [0.019833s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_manager.ParallelPowerSyncTestCase.test__sync_power_states_9_nodes_8_workers [0.015259s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_manager.ManagerCheckOrphanNodesTestCase.test__check_orphan_nodes_release_exceptions_skipping [0.067050s] ... 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.UpdatePortTestCase.test_update_port_node_deleting_state [0.028817s] ... 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_manager.ManagerDoSyncPowerStateTestCase.test_get_power_state_fail [0.022431s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_manager.RaidHardwareTypeTestCases.test_get_raid_logical_disk_properties [0.054293s] ... 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.UpdatePortTestCase.test_update_port_physnet_node_deleting_state [0.029354s] ... 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 [0.027794s] ... 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_exceeded2 [0.027580s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_manager.SensorsTestCase.test___send_sensor_data_multiple_workers [0.049550s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_manager.UpdatePortTestCase.test_update_port_physnet_validation_failure_inconsistent [0.029625s] ... 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.UpdatePortTestCase.test_update_port_port_changed_failure [0.030246s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_manager.ManagerDoSyncPowerStateTestCase.test_no_power_sync_support [0.027907s] ... 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_retry_then_success [0.023546s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_manager.SensorsTestCase.test_send_sensor_task [0.054835s] ... 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.UpdatePortTestCase.test_update_port_portgroup_enroll_node [0.034980s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_manager.ManagerDoSyncPowerStateTestCase.test_state_changed_sync [0.021618s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_manager.NodeTraitsTestCase.test_add_node_traits_replace [0.191254s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_manager.ServiceDoNodeDeployTestCase.test_do_node_deploy_power_validate_fail [0.029874s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_manager.ManagerPowerRecoveryTestCase.test_node_in_power_transition_on_acquire [0.018962s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_manager.TestIndirectionApiConductor.test_object_class_action_on_raise [0.014747s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_manager.NodeTraitsTestCase.test_remove_node_traits_node_locked [0.032549s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_manager.ManagerPowerRecoveryTestCase.test_node_not_in_maintenance_on_acquire [0.024219s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_manager.UpdateNodeTestCase.test_update_node_already_associated [0.022188s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_manager.ManagerPowerRecoveryTestCase.test_node_recovery_failed [0.019348s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_manager.RaidHardwareTypeTestCases.test_get_raid_logical_disk_properties_iface_not_supported [0.018065s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_manager.UpdatePortgroupTestCase.test_update_portgroup_association_with_ports [0.069155s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_manager.UpdateNodeTestCase.test_update_node_deleting_allocation_in_maintenance [0.032873s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_manager.ManagerSyncLocalStateTestCase.test_not_mapped [0.018299s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_manager.UpdatePortgroupTestCase.test_update_portgroup_node_locked [0.024170s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_manager.RaidHardwareTypeTestCases.test_set_target_raid_config_iface_not_supported [0.030709s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_manager.ManagerSyncPowerStatesTestCase.test_single_node [0.018696s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_manager.UpdateVolumeConnectorTestCase.test_update_volume_connector_node_locked [0.022610s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_manager.UpdateNodeTestCase.test_update_node_hardware_type [0.029752s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_manager.UpdateVolumeTargetTestCase.test_update_volume_target_duplicate [0.030148s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_manager.MiscTestCase.test_iter_nodes [0.049071s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_manager.RaidTestCases.test_get_raid_logical_disk_properties [0.059970s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_manager.VendorPassthruTestCase.test_driver_vendor_passthru_http_method_not_supported [0.035798s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_manager.MiscTestCase.test_validate_driver_interfaces_validation_fail [0.024177s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_manager.SensorsTestCase.test__filter_out_unsupported_types_non [0.053925s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_manager.UpdateNodeTestCase.test_update_node_interface_in_maintenance [0.097927s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_manager.VendorPassthruTestCase.test_driver_vendor_passthru_validation_failed [0.038192s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_manager.UpdateNodeTestCase.test_update_node_invalid_driver [0.019558s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_manager.UpdateNodeTestCase.test_update_node_protected_invalid_state [0.018144s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_manager.VendorPassthruTestCase.test_get_driver_vendor_passthru_methods [0.038503s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_manager.UpdateNodeTestCase.test_update_node_retired_reason_without_retired [0.018170s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_manager.ServiceDoNodeDeployTestCase.test_do_node_deploy_rebuild_active_state_done [0.081523s] ... 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-7cdc188a-c6bd-4430-96cd-babba800d360 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:chassis:delete\", \"debuginfo\": null}"} DEBUG util.py:445: ACL Test GOT Response: 403 Forbidden DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-7cdc188a-c6bd-4430-96cd-babba800d360 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:chassis:delete\", \"debuginfo\": null}"} DEBUG util.py:445: API ACL Testing Path get /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/history DEBUG util.py:445: GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/history {} DEBUG util.py:445: GOT:Response: 200 OK DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-c75df4a4-01bf-42b9-b330-284f4989090b DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"history": [{"uuid": "295ea3ff-4682-421e-a126-f223ee326969", "created_at": "2024-05-14T11:54:40.531723+00:00", "severity": "ERROR", "event": "Something is wrong", "links": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/history/295ea3ff-4682-421e-a126-f223ee326969", "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-c75df4a4-01bf-42b9-b330-284f4989090b DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"history": [{"uuid": "295ea3ff-4682-421e-a126-f223ee326969", "created_at": "2024-05-14T11:54:40.531723+00:00", "severity": "ERROR", "event": "Something is wrong", "links": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/history/295ea3ff-4682-421e-a126-f223ee326969", "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-53f364ec-4ed8-4b7f-94ba-daeab1135fc0 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-422007df-cf4f-4afd-81ec-eb14a5ac5cda 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-305eb0f0-b7fb-4206-9c50-25380ea2e58b 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-18.3.1.dev11/ironic/api/method.py\\\", line 42, in callfunction\\n result = f(self, *args, **kwargs)\\n\\n File \\\"/builddir/build/BUILD/ironic-18.3.1.dev11/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/ {} DEBUG util.py:445: GOT:{'id': 'v1', 'links': [{'href': 'http://localhost/v1/', 'rel': 'self'}, {'href': 'https://docs.openstack.org//ironic/latest/contributor//webapi.html', 'rel': 'describedby', 'type': 'text/html'}], 'media_types': {'base': 'application/json', 'type': 'application/vnd.openstack.ironic.v1+json'}, 'chassis': [{'href': 'http://localhost/v1/chassis/', 'rel': 'self'}, {'href': 'http://localhost/chassis/', 'rel': 'bookmark'}], 'nodes': [{'href': 'http://localhost/v1/nodes/', 'rel': 'self'}, {'href': 'http://localhost/nodes/', 'rel': 'bookmark'}], 'ports': [{'href': 'http://localhost/v1/ports/', 'rel': 'self'}, {'href': 'http://localhost/ports/', 'rel': 'bookmark'}], 'drivers': [{'href': 'http://localhost/v1/drivers/', 'rel': 'self'}, {'href': 'http://localhost/drivers/', 'rel': 'bookmark'}], 'version': {'id': 'v1', 'links': [{'href': 'http://localhost/v1/', 'rel': 'self'}], 'status': 'CURRENT', 'min_version': '1.1', 'version': '1.78'}} DEBUG util.py:445: GET: /v1/ {} DEBUG util.py:445: GOT:{'id': 'v1', 'links': [{'href': 'http://localhost/v1/', 'rel': 'self'}, {'href': 'https://docs.openstack.org//ironic/latest/contributor//webapi.html', 'rel': 'describedby', 'type': 'text/html'}], 'media_types': {'base': 'application/json', 'type': 'application/vnd.openstack.ironic.v1+json'}, 'chassis': [{'href': 'http://localhost/v1/chassis/', 'rel': 'self'}, {'href': 'http://localhost/chassis/', 'rel': 'bookmark'}], 'nodes': [{'href': 'http://localhost/v1/nodes/', 'rel': 'self'}, {'href': 'http://localhost/nodes/', 'rel': 'bookmark'}], 'ports': [{'href': 'http://localhost/v1/ports/', 'rel': 'self'}, {'href': 'http://localhost/ports/', 'rel': 'bookmark'}], 'drivers': [{'href': 'http://localhost/v1/drivers/', 'rel': 'self'}, {'href': 'http://localhost/drivers/', 'rel': 'bookmark'}], 'version': {'id': 'v1', 'links': [{'href': 'http://localhost/v1/', 'rel': 'self'}], 'status': 'CURRENT', 'min_version': '1.1', 'version': '1.78'}, 'portgroups': [{'href': 'http://localhost/v1/portgroups/', 'rel': 'self'}, {'href': 'http://localhost/portgroups/', 'rel': 'bookmark'}], 'lookup': [{'href': 'http://localhost/v1/lookup/', 'rel': 'self'}, {'href': 'http://localhost/lookup/', 'rel': 'bookmark'}], 'heartbeat': [{'href': 'http://localhost/v1/heartbeat/', 'rel': 'self'}, {'href': 'http://localhost/heartbeat/', 'rel': 'bookmark'}]} DEBUG util.py:445: foo() migrated 15 of 15 objects. DEBUG util.py:445: func1() migrated 10 of 10 objects. DEBUG util.py:445: func2() migrated 0 of 0 objects. DEBUG util.py:445: func1() migrated 10 of 15 objects. DEBUG util.py:445: Running batches of 50 until migrations have been completed. DEBUG util.py:445: Data migrations have completed. DEBUG util.py:445: Running batches of 50 until migrations have been completed. DEBUG util.py:445: Data migrations have completed. DEBUG util.py:445: Malformed option m1key1=value1 DEBUG util.py:445: Running batches of 50 until migrations have been completed. DEBUG util.py:445: Data migrations have completed. 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-ec839fb6-6cf4-4b78-8bfc-a6eba3462d89', '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/tmpt7exxk4l/tmpqcyay1ml/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/deploy_kernel'), 'deploy_ramdisk': ('deploy_ramdisk', '/tmp/tmpt7exxk4l/tmpqcyay1ml/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/deploy_ramdisk')} DEBUG util.py:445: returning final set DEBUG util.py:445: {10: [1, 2], 11: [7, 8], 12: [13, 14]} DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_manager.NodeHistoryRecordCleanupTestCase.test_history_is_pruned_to_config_with_days [0.088941s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_manager.UpdateNodeTestCase.test_update_node_retired_unset [0.048865s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_manager.NodeInspectHardware.test__check_inspect_wait_timeouts [0.072706s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_manager.VendorPassthruTestCase.test_vendor_passthru_http_method_not_supported [0.087648s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_manager.UpdatePortTestCase.test_update_port_address_active_node [0.027870s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_manager.ServiceDoNodeDeployTestCase.test_do_node_deploy_rebuild_error_state [0.085854s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_manager.UpdatePortTestCase.test_update_port_node_active_state_and_maintenance [0.029540s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_manager.UpdatePortTestCase.test_update_port_physnet_maintenance [0.028734s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_manager.VendorPassthruTestCase.test_vendor_passthru_missing_method_parameters [0.062280s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_manager.NodeInspectHardware.test_inspect_hardware_ok [0.065707s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_manager.ServiceDoNodeDeployTestCase.test_do_node_deploy_traits_validate_fail [0.031063s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_manager.UpdatePortgroupTestCase.test_update_portgroup_to_node_in_deleting_state [0.029555s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_manager.VendorPassthruTestCase.test_vendor_passthru_node_already_locked [0.061945s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_manager.UpdateVolumeTargetTestCase.test_update_volume_target [0.028127s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_manager.ServiceDoNodeDeployTestCase.test_do_node_deploy_worker_pool_full [0.076777s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_manager.UpdateVolumeTargetTestCase.test_update_volume_target_node_power_on [0.025965s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_notification_utils.ProvisionNotifyTestCase.test_emit_notification [0.037446s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_manager.UpdateNodeTestCase.test_associate_node_powered_off [0.029513s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_manager.VendorPassthruTestCase.test_driver_vendor_passthru_async [0.034885s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_notification_utils.TestNotificationUtils.test__emit_conductor_node_notification_known_payload_exc [0.019374s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_notification_utils.TestNotificationUtils.test_emit_console_notification_error_status [0.019011s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_manager.UpdateNodeTestCase.test_associate_node_powered_on [0.029072s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_manager.VendorPassthruTestCase.test_driver_vendor_passthru_driver_not_found [0.032902s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_add_node_traits [0.018297s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_manager.UpdateNodeTestCase.test_update_node [0.027425s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_can_send_rescue_false [0.016077s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_manager.NodeTraitsTestCase.test_add_node_traits_invalid_parameter_value [0.174135s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_do_node_clean [0.016836s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_manager.UpdateNodeTestCase.test_update_node_interface_field_with_broken_interface [0.025577s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_manager.VendorPassthruTestCase.test_get_node_vendor_passthru_methods [0.059852s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_manager.NodeTraitsTestCase.test_add_node_traits_node_not_found [0.027462s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_get_driver_vendor_passthru_methods [0.016434s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_manager.NodeTraitsTestCase.test_remove_node_traits_all [0.030153s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_get_indicator_state [0.016892s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_get_topic_doesnt_cache [0.019982s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_manager.UpdateNodeTestCase.test_update_node_interface_in_not_allowed_state [0.062995s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_manager.NodeTraitsTestCase.test_remove_node_traits_node_trait_not_found [0.029165s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_manager.UpdateNodeTestCase.test_update_node_maintenance_set_false [0.027300s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_manager.RaidHardwareTypeTestCases.test_set_target_raid_config [0.030867s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_get_topic_for_unknown_driver [0.020031s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_set_console_mode [0.016195s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_manager.VendorPassthruTestCase.test_vendor_passthru_async [0.057917s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_set_target_raid_config [0.017484s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_manager.UpdateNodeTestCase.test_update_node_maintenance_with_broken_interface [0.027827s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_update_node [0.016802s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_update_volume_target [0.016571s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_manager.RaidTestCases.test_set_target_raid_config_empty [0.032124s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_manager.VendorPassthruTestCase.test_vendor_passthru_shared_lock [0.058166s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_validate_driver_interfaces [0.016493s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_manager.RaidTestCases.test_set_target_raid_config_invalid_parameter_value [0.031033s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_vif_detach [0.016780s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_manager.VendorPassthruTestCase.test_vendor_passthru_sync [0.058698s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_steps.GetValidatedStepsFromTemplatesTestCase.test_invalid_parameter_value [0.028857s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_manager.SensorsTestCase.test__filter_out_unsupported_types_all [0.051922s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_steps.GetValidatedStepsFromTemplatesTestCase.test_ok [0.028247s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_manager.UpdateNodeTestCase.test_update_node_with_reset_interfaces [0.127003s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_manager.VendorPassthruTestCase.test_vendor_passthru_unsupported_method [0.057116s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_steps.NodeCleaningStepsTestCase.test__validate_user_clean_steps_disable_ramdisk [0.027386s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_manager.VifTestCase.test_vif_attach [0.026889s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_manager.SensorsTestCase.test__filter_out_unsupported_types_part [0.052225s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_steps.NodeCleaningStepsTestCase.test_set_node_cleaning_steps_automated [0.031516s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_manager.VifTestCase.test_vif_attach_node_locked [0.021865s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_manager.UpdateNodeTestCase.test_update_resource_class_allowed_state [0.073289s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_manager.VifTestCase.test_vif_attach_raises_network_error [0.026464s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_steps.NodeDeployStepsTestCase.test__get_all_deployment_steps_no_template_and_user_steps [0.029646s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_manager.SensorsTestCase.test_send_sensor_task_maintenance [0.055229s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_manager.VifTestCase.test_vif_attach_raises_portgroup_physnet_inconsistent [0.030618s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_manager.SensorsTestCase.test_send_sensor_task_no_management [0.056609s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_manager.VifTestCase.test_vif_attach_raises_vif_invalid_for_attach [0.029893s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_manager.UpdateNodeTestCase.test_update_resource_class_no_previous_value [0.088176s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_manager.VifTestCase.test_vif_detach [0.029506s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_manager.SensorsTestCase.test_send_sensor_task_shutdown [0.056126s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_notification_utils.TestNotificationUtils.test__emit_conductor_node_notification [0.023095s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_manager.UpdatePortTestCase.test_update_port [0.031584s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_notification_utils.TestNotificationUtils.test__emit_conductor_node_notification_known_notify_exc [0.021834s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_manager.UpdatePortTestCase.test_update_port_address_maintenance [0.032505s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_notification_utils.TestNotificationUtils.test_emit_power_state_corrected_notification [0.019039s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_rpcapi.ConductorRPCAPITestCase.test_version_cap [0.014452s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_steps.NodeDeployStepsTestCase.test__get_deployment_steps [0.169487s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_manager.UpdatePortTestCase.test_update_port_node_locked [0.024066s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_rpcapi.ConductorRPCAPITestCase.test_version_capped [0.014318s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_manager.ServiceDoNodeDeployTestCase.test_do_node_deploy_invalid_state [0.062745s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_steps.NodeDeployStepsTestCase.test__get_deployment_templates_no_traits [0.027862s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_rpcapi.ConductorRPCAPITestCase.test_versions_in_sync [0.011590s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_manager.UpdatePortTestCase.test_update_port_node_manageable_state [0.034837s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_can_send_create_port_True [0.014573s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_steps.NodeDeployStepsTestCase.test__get_steps_from_deployment_templates [0.026520s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_can_send_rescue_true [0.014734s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_manager.UpdatePortTestCase.test_update_port_physnet_validation_failure_conflict [0.031932s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_change_node_boot_mode [0.015648s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_steps.NodeDeployStepsTestCase.test__validate_user_deploy_steps_disable_core [0.027363s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_create_node [0.015914s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_manager.ServiceDoNodeDeployTestCase.test_do_node_deploy_rebuild_active_state_error [0.090124s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_steps.NodeDeployStepsTestCase.test__validate_user_deploy_steps_invalid_arg [0.027360s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_manager.UpdatePortTestCase.test_update_port_portgroup_active_node [0.037034s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_steps.NodeDeployStepsTestCase.test__validate_user_deploy_steps_missing_required_arg [0.027703s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_manager.UpdatePortTestCase.test_update_port_to_node_in_inspect_wait_state [0.034012s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_steps.NodeDeployStepsTestCase.test__validate_user_deploy_steps_override_core [0.026991s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_manager.UpdatePortgroupTestCase.test_update_portgroup_failure [0.032693s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_steps.ValidateUserDeployStepsAndTemplatesTestCase.test_error_on_template [0.026882s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_manager.ServiceDoNodeDeployTestCase.test_do_node_deploy_rebuild_deployfail_state [0.082979s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_steps.ValidateUserDeployStepsAndTemplatesTestCase.test_ok [0.027997s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_task_manager.ExclusiveLockDecoratorTestCase.test_with_excl_lock_task_second_arg [0.012002s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_create_port [0.156785s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_task_manager.ExclusiveLockDecoratorTestCase.test_with_shared_lock_task_second_arg [0.011420s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_manager.ServiceDoNodeDeployTestCase.test_do_node_deploy_rebuild_protected [0.063718s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_manager.UpdatePortgroupTestCase.test_update_portgroup_to_node_in_active_state_and_maintenance [0.071465s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_task_manager.ProvisionNotifyTestCase.test_notify_no_state_change [0.012968s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_destroy_allocation [0.015889s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_task_manager.TaskManagerStateModelTestCases.test_process_event_no_callback_notify [0.013633s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_do_node_rescue [0.015701s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_manager.ServiceDoNodeDeployTestCase.test_do_node_deploy_validate_fail [0.032672s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_task_manager.TaskManagerTestCase.test_excl_lock [0.022729s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_do_node_unrescue [0.015452s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_driver_vendor_passthru [0.015782s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_manager.ServiceDoNodeDeployTestCase.test_do_node_deploy_validate_template_fail [0.032916s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_manager.UpdatePortgroupTestCase.test_update_portgroup_to_node_in_inspect_wait_state [0.072227s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_task_manager.TaskManagerTestCase.test_excl_lock_exception_patient [0.021186s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_get_conductor_for [0.017110s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_manager.TestIndirectionApiConductor.test_object_action_copies_object [0.015399s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_task_manager.TaskManagerTestCase.test_excl_lock_get_volconn_exception [0.022077s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_get_driver_properties [0.015487s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_manager.TestIndirectionApiConductor.test_object_action_on_raise [0.015777s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_manager.UpdateVolumeConnectorTestCase.test_update_volume_connector [0.031886s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_task_manager.TaskManagerTestCase.test_shared_lock [0.022231s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_manager.TestIndirectionApiConductor.test_object_backport_versions [0.018986s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_get_node_with_token [0.015992s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_manager.TestIndirectionApiConductor.test_object_class_action_on_object [0.013893s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_get_supported_boot_devices [0.015357s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_task_manager.TaskManagerTestCase.test_shared_lock_get_volconn_exception [0.021627s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_manager.UpdateVolumeConnectorTestCase.test_update_volume_connector_duplicate [0.032258s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_task_manager.ThreadExceptionTestCase.test_set_node_last_error [0.013026s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_get_topic_for_known_driver [0.017376s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_object_action [0.016687s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_manager.UpdateNodeTestCase.test_update_node_from_invalid_driver [0.032490s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_manager.UpdateVolumeConnectorTestCase.test_update_volume_connector_node_power_on [0.029622s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_object_action_invalid_version [0.014218s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_utils.CacheBootModeTestCase.test_change_secure_off [0.034870s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_object_backport_versions [0.015973s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_manager.UpdateNodeTestCase.test_update_node_interface_invalid [0.040907s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_manager.UpdateVolumeConnectorTestCase.test_update_volume_connector_type [0.030406s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_object_class_action_versions_invalid_version [0.014095s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_utils.CacheBootModeTestCase.test_failed_boot_mode [0.029952s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_remove_node_traits_all [0.015429s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_manager.UpdateVolumeConnectorTestCase.test_update_volume_connector_uuid [0.028837s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_manager.UpdateNodeTestCase.test_update_node_protected_reason_without_protected [0.021188s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_utils.CacheVendorTestCase.test_already_present [0.027812s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_vendor_passthru [0.015874s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_manager.UpdateVolumeTargetTestCase.test_update_volume_target_node_locked [0.023886s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_utils.CacheVendorTestCase.test_empty [0.025318s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_vif_attach [0.015641s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_manager.UpdateNodeTestCase.test_update_node_protected_set [0.035169s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_vif_list [0.016111s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_manager.UpdateVolumeTargetTestCase.test_update_volume_target_not_found [0.030171s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_steps.NodeCleaningStepsTestCase.test__get_cleaning_steps_priority_no_override [0.023074s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_utils.CacheVendorTestCase.test_ok [0.030690s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_manager.UpdateNodeTestCase.test_update_node_protected_unset [0.043607s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_steps.NodeCleaningStepsTestCase.test__validate_user_clean_steps [0.025470s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_manager.UpdateVolumeTargetTestCase.test_update_volume_target_volume_type [0.031783s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_utils.CacheVendorTestCase.test_unsupported [0.026130s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_utils.DeployingErrorHandlerTestCase.test_cleanup_after_timeout_shared_lock [0.019177s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_manager.UpdateNodeTestCase.test_update_node_retired_set [0.042193s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_steps.NodeCleaningStepsTestCase.test__validate_user_clean_steps_get_steps_exception [0.026430s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_manager.VendorPassthruTestCase.test_driver_vendor_passthru_no_default_interface [0.037734s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_utils.ErrorHandlersTestCase.test_cleanup_rescuewait_timeout [0.026635s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_steps.NodeDeployStepsTestCase.test__get_all_deployment_steps_no_steps [0.027959s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_utils.ErrorHandlersTestCase.test_power_state_error_handler_no_worker [0.025004s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_manager.UpdateNodeTestCase.test_update_resource_class_not_allowed [0.051525s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_steps.NodeDeployStepsTestCase.test__get_all_deployment_steps_no_user_and_driver_steps [0.028281s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_manager.VendorPassthruTestCase.test_driver_vendor_passthru_sync [0.044994s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_utils.ErrorHandlersTestCase.test_rescuing_error_handler_bad_state [0.024087s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_manager.VifTestCase.test_vif_detach_raises_network_error [0.029539s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_steps.NodeDeployStepsTestCase.test__get_deployment_templates [0.028082s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_notification_utils.ProvisionNotifyTestCase.test_mask_secrets [0.013272s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_utils.ErrorHandlersTestCase.test_spawn_rescue_error_handler_other_error [0.024074s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_manager.UpdatePortgroupTestCase.test_update_portgroup [0.031693s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_change_node_secure_boot [0.017104s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_steps.NodeDeployStepsTestCase.test__validate_user_deploy_steps [0.026000s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_continue_node_clean [0.016846s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_utils.FastTrackTestCase.test_is_fast_track_no_heartbeat [0.032016s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_steps.NodeDeployStepsTestCase.test_set_node_deployment_steps [0.030634s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_utils.GetAttachedVifTestCase.test_get_attached_vif_cleaning [0.018319s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_create_allocation [0.016605s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_manager.UpdatePortgroupTestCase.test_update_portgroup_to_node_in_manageable_state [0.068751s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_utils.GetAttachedVifTestCase.test_get_attached_vif_tenant [0.018784s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_steps.ValidateUserDeployStepsTestCase.test__get_validate_user_deploy_steps_no_steps [0.025227s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_destroy_portgroup [0.018028s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_do_node_tear_down [0.016645s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_manager.UpdateVolumeTargetTestCase.test_update_volume_target_node_not_found [0.027572s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_utils.GetConfigDriveImageTestCase.test_build_user_data_as_string [0.019479s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_task_manager.ProvisionNotifyTestCase.test_notify_error_state [0.013205s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_task_manager.ProvisionNotifyTestCase.test_notify_unstable_to_unstable [0.012728s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_get_boot_device [0.017813s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_task_manager.TaskManagerStateModelTestCases.test_process_event_sets_callback_and_error_handler [0.013077s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_manager.UpdateVolumeTargetTestCase.test_update_volume_target_uuid [0.028238s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_utils.GetNodeNextStepsTestCase.test_get_node_next_clean_steps [0.026451s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_get_supported_indicators [0.018475s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_task_manager.TaskManagerTestCase.test_excl_lock_exception_no_retries [0.020808s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_manager.VendorPassthruTestCase.test_driver_vendor_passthru_method_not_supported [0.035770s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_utils.GetNodeNextStepsTestCase.test_get_node_next_deploy_steps [0.028327s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_get_topic_for_driver_known_driver [0.021694s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_heartbeat [0.017521s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_task_manager.TaskManagerTestCase.test_excl_lock_get_portgroups_exception [0.024085s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_utils.GetNodeNextStepsTestCase.test_get_node_next_deploy_steps_unset_deploy_step [0.033410s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_heartbeat_agent_token [0.018654s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_task_manager.TaskManagerTestCase.test_excl_lock_get_ports_exception [0.021925s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_manager.VendorPassthruTestCase.test_get_driver_vendor_passthru_methods_no_default_interface [0.039037s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_inject_nmi [0.018340s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_task_manager.TaskManagerTestCase.test_no_driver [0.023029s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_utils.MiscTestCase.test_notify_conductor_resume_deploy [0.030391s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_inspect_hardware [0.016652s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_task_manager.TaskManagerTestCase.test_spawn_after_link_fails [0.022169s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_update_port [0.016513s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_utils.MiscTestCase.test_notify_conductor_resume_operation [0.027403s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_task_manager.ThreadExceptionTestCase.test_set_node_last_error_no_error [0.013851s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_manager.VendorPassthruTestCase.test_vendor_passthru_worker_pool_full [0.063539s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_steps.NodeCleaningStepsTestCase.test__get_cleaning_steps_only_enabled [0.025631s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_utils.MiscTestCase.test_power_on_node_if_needed_false_power_on [0.031647s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_utils.AgentTokenUtilsTestCase.test_is_agent_token_present [0.011706s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_utils.DeployingErrorHandlerTestCase.test_cleanup_after_timeout [0.018318s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_manager.VifTestCase.test_vif_attach_validate_error [0.028968s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_steps.NodeCleaningStepsTestCase.test__get_cleaning_steps_priority_override_fail [0.026667s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_utils.DeployingErrorHandlerTestCase.test_deploying_error_handler_no_cleanup [0.019496s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_manager.VifTestCase.test_vif_detach_node_locked [0.022154s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_utils.MiscTestCase.test_power_on_node_if_needed_true [0.039224s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_utils.DeployingErrorHandlerTestCase.test_deploying_error_handler_not_deploy [0.019389s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_steps.NodeCleaningStepsTestCase.test__get_cleaning_steps_priority_override_ok [0.027394s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_utils.ErrorHandlersTestCase.test_cleaning_error_handler_manual [0.019147s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_manager.VifTestCase.test_vif_detach_validate_error [0.028237s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_steps.NodeCleaningStepsTestCase.test__validate_user_clean_steps_invalid_arg [0.027671s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_utils.ErrorHandlersTestCase.test_cleaning_error_handler_no_fail [0.019187s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_utils.NodeHistoryRecordTestCase.test_record_node_history_disaled [0.048388s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_manager.VifTestCase.test_vif_list [0.025381s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_utils.ErrorHandlersTestCase.test_cleaning_error_handler_tear_down_error [0.025271s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_steps.NodeCleaningStepsTestCase.test__validate_user_clean_steps_requires_ramdisk [0.029272s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_notification_utils.TestNotificationUtils.test_emit_console_notification [0.019255s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_utils.ErrorHandlersTestCase.test_cleanup_cleanwait_timeout_handler_call [0.019492s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_notification_utils.TestNotificationUtils.test_emit_power_set_notification [0.019113s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_utils.NodeHistoryRecordTestCase.test_record_node_history_noop [0.047819s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_steps.NodeDeployStepsTestCase.test__get_all_deployment_steps_disable_core_steps [0.030026s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_utils.ErrorHandlersTestCase.test_power_state_error_handler_other_error [0.023426s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_add_node_traits_replace [0.016474s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_utils.NodeHistoryRecordTestCase.test_record_node_history_with_user [0.020390s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_can_send_create_port_False [0.014843s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_utils.ErrorHandlersTestCase.test_rescuing_error_handler [0.020618s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_utils.NodePowerActionTestCase.test__calculate_target_state [0.015360s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_change_node_power_state [0.017018s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_steps.NodeDeployStepsTestCase.test__get_all_deployment_steps_error [0.028357s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_steps.NodeDeployStepsTestCase.test__get_all_deployment_steps_no_template_and_driver_steps [0.030463s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_continue_node_deploy [0.016104s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_utils.ErrorHandlersTestCase.test_spawn_cleaning_error_handler_other_error [0.022887s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_destroy_node [0.016115s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_utils.NodePowerActionTestCase.test__can_skip_state_change_same_state [0.035800s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_utils.FastTrackTestCase.test_is_fast_track [0.028266s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_steps.NodeDeployStepsTestCase.test__get_all_deployment_steps_override_template_steps [0.030064s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_destroy_volume_connector [0.016179s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_destroy_volume_target [0.015862s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_utils.FastTrackTestCase.test_is_fast_track_power_off_false [0.030511s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_do_node_deploy [0.016591s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_utils.NodePowerActionTestCase.test_node_power_action_failed_getting_state_notify [0.057010s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_steps.NodeDeployStepsTestCase.test__get_all_deployment_steps_user_and_template_steps [0.030414s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_utils.GetAttachedVifTestCase.test_get_attached_vif_provisioning [0.018935s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_do_node_deploy_with_deploy_steps [0.016524s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_steps.NodeDeployStepsTestCase.test__get_deploy_steps_unsorted [0.030830s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_utils.GetAttachedVifTestCase.test_get_attached_vif_rescuing [0.016334s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_get_console_information [0.016755s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_utils.GetConfigDriveImageTestCase.test_build_empty [0.016869s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_utils.NodePowerActionTestCase.test_node_power_action_in_same_state_db_not_in_sync [0.032046s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_get_node_vendor_passthru_methods [0.016404s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_steps.NodeDeployStepsTestCase.test__get_deployment_steps_only_enabled [0.027610s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_utils.GetNodeNextStepsTestCase.test_get_node_next_clean_steps_unset_clean_step [0.024007s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_get_raid_logical_disk_properties [0.015698s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_utils.NodePowerActionTestCase.test_node_power_action_invalid_state [0.041497s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_steps.NodeDeployStepsTestCase.test__validate_user_deploy_steps_disable_non_core [0.029314s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_get_random_topic [0.018272s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_utils.MiscTestCase.test_remove_node_rescue_password_save_false [0.017454s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_get_random_topic_no_conductors [0.015886s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_utils.MiscTestCase.test_restore_power_state_if_needed_true [0.026980s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_steps.NodeDeployStepsTestCase.test__validate_user_deploy_steps_duplicates [0.028342s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_utils.NodePowerActionTestCase.test_node_power_action_power_off_pregenerated_token [0.036194s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_get_topic_for_driver_doesnt_cache [0.019128s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_utils.NodeGetBootModeTestCase.test_node_get_boot_mode_unsupported [0.024847s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_get_topic_for_driver_unknown_driver [0.018815s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_steps.NodeDeployStepsTestCase.test__validate_user_deploy_steps_get_steps_exception [0.028499s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_utils.NodeHistoryRecordTestCase.test_record_node_history [0.018509s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_utils.NodePowerActionTestCase.test_node_power_action_power_reboot [0.034088s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_object_backport_versions_invalid_version [0.015630s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_steps.NodeDeployStepsTestCase.test__validate_user_deploy_steps_no_steps [0.028921s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_object_class_action_versions [0.017592s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_utils.NodeHistoryRecordTestCase.test_record_node_history_with_error_severity [0.017599s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_utils.NodePowerActionTestCase.test_node_power_action_reboot_no_timeout [0.033153s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_remove_node_traits [0.016318s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_steps.NodeDeployStepsTestCase.test__validate_user_deploy_steps_not_supported [0.030017s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_serialized_instance_has_uuid [0.013959s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_utils.NodePowerActionTestCase.test__can_skip_state_change_db_not_in_sync [0.028465s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_set_boot_device [0.016402s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_task_manager.ProvisionNotifyTestCase.test_notify_stable_to_unstable [0.014722s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_task_manager.TaskManagerStateModelTestCases.test_process_event_callback_stable_state [0.014271s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_utils.NodePowerActionTestCase.test_node_power_action_power_off_storage_detach [0.030622s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_set_indicator_state [0.015663s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_utils.NodePowerActionTestCase.test_node_power_action_set_power_failure_notify [0.058113s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_update_portgroup [0.016088s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_task_manager.TaskManagerStateModelTestCases.test_process_event_fsm_raises [0.014705s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_task_manager.TaskManagerStateModelTestCases.test_process_event_no_callback_stable_state [0.014949s] ... 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_rpcapi.RPCAPITestCase.test_update_volume_connector [0.016888s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_utils.NodeSetBootModeTestCase.test_node_set_boot_mode_non_existent_mode [0.026084s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_task_manager.TaskManagerStateModelTestCases.test_process_event_sets_callback [0.014010s] ... 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: {3} ironic.tests.unit.conductor.test_utils.NodePowerActionTestCase.test_node_power_action_power_on_notify [0.056243s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_task_manager.TaskManagerStateModelTestCases.test_process_event_sets_target_state [0.015956s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_steps.GetValidatedStepsFromTemplatesTestCase.test_instance_deploy_failure [0.028340s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_utils.NodeSoftPowerActionTestCase.test_node_power_action_power_soft_reboot [0.033147s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_task_manager.TaskManagerStateModelTestCases.test_release_clears_resources [0.013607s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_utils.NodeSetBootDeviceTestCase.test_node_set_boot_device_adopting [0.026449s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_utils.ValidateInstanceInfoTraitsTestCase.test_validate_instance_info_traits_empty_instance_traits [0.012226s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_steps.GetValidatedStepsFromTemplatesTestCase.test_skip_missing [0.028873s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_task_manager.TaskManagerTestCase.test_excl_lock_exception_then_lock [0.022865s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_utils.ValidateInstanceInfoTraitsTestCase.test_validate_instance_info_traits_missing [0.011872s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_utils.NodeSetBootDeviceTestCase.test_node_set_boot_device_force_always [0.026264s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_steps.NodeCleaningStepsTestCase.test__get_cleaning_steps [0.027729s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_utils.ValidatePortPhysnetTestCase.test_validate_port_physnet_1_port_portgroup_no_physnet_create_1 [0.029082s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_task_manager.TaskManagerTestCase.test_excl_nested_acquire [0.027074s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_utils.NodeSetBootDeviceTestCase.test_node_set_boot_device_non_existent_device [0.023272s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_steps.NodeCleaningStepsTestCase.test__get_cleaning_steps_priority_override_disable [0.024948s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_task_manager.TaskManagerTestCase.test_init_prepares_fsm [0.023284s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_utils.NodeSetBootDeviceTestCase.test_node_set_boot_device_valid [0.023935s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_utils.ValidatePortPhysnetTestCase.test_validate_port_physnet_1_port_portgroup_no_physnet_update_1 [0.028132s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_steps.NodeCleaningStepsTestCase.test__get_cleaning_steps_unsorted [0.027765s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_task_manager.TaskManagerTestCase.test_shared_lock_get_portgroups_exception [0.023125s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_utils.ValidatePortPhysnetTestCase.test_validate_port_physnet_1_port_portgroup_no_physnet_update_2 [0.028906s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_utils.NodeSetBootModeTestCase.test_node_set_boot_mode_valid [0.026670s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_task_manager.TaskManagerTestCase.test_spawn_after_exception_while_yielded [0.022911s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_steps.NodeCleaningStepsTestCase.test__validate_user_clean_steps_missing_required_arg [0.026918s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_utils.NodeSoftPowerActionTestCase.test_node_power_action_power_soft_reboot_timeout [0.031172s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_utils.ValidatePortPhysnetTestCase.test_validate_port_physnet_1_port_portgroup_w_physnet_create_1 [0.029507s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_task_manager.TaskManagerTestCase.test_spawn_after_on_error_hook [0.022702s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_steps.NodeCleaningStepsTestCase.test__validate_user_clean_steps_no_steps [0.027093s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_task_manager.TaskManagerTestCase.test_spawn_after_on_error_hook_exception [0.023180s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_utils.ValidatePortPhysnetTestCase.test_validate_port_physnet_1_port_portgroup_w_physnet_create_2 [0.030148s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_utils.NodeSoftPowerActionTestCase.test_node_power_action_soft_power_off [0.035227s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_steps.NodeCleaningStepsTestCase.test__validate_user_clean_steps_not_supported [0.027262s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_utils.StoreAgentCertificateTestCase.test_no_change [0.018936s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_utils.ValidatePortPhysnetTestCase.test_validate_port_physnet_1_port_portgroup_w_physnet_update_add_2 [0.031977s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_task_manager.TaskManagerTestCase.test_upgrade_lock [0.023717s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_steps.NodeCleaningStepsTestCase.test_set_node_cleaning_steps_manual [0.031685s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_utils.StoreAgentCertificateTestCase.test_store_existing [0.017612s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_task_manager.TaskManagerTestCase.test_upgrade_lock_refreshes_fsm [0.029308s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_utils.AgentTokenUtilsTestCase.test_add_secret_token [0.013529s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_steps.NodeDeployStepsTestCase.test__get_all_deployment_steps_all_steps [0.031801s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_utils.StoreAgentCertificateTestCase.test_take_over [0.016720s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_utils.ValidateInstanceInfoTraitsTestCase.test_validate_instance_info_traits_invalid_type [0.011537s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_utils.ValidatePortPhysnetTestCase.test_validate_port_physnet_2_port_portgroup_w_physnet_update_2 [0.033644s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_utils.ValidateInstanceInfoTraitsTestCase.test_validate_instance_info_traits_no_instance_traits [0.011139s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_utils.AgentTokenUtilsTestCase.test_wipe_deploy_internal_info [0.012032s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_utils.ValidatePortPhysnetTestCase.test_validate_port_physnet_empty_portgroup_create_2 [0.031297s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_steps.NodeDeployStepsTestCase.test__get_all_deployment_steps_duplicate_template_and_user_steps [0.029249s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_utils.CacheBootModeTestCase.test_already_present [0.031608s] ... 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.029602s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_utils.ValidatePortPhysnetTestCase.test_validate_port_physnet_empty_portgroup_update_1 [0.030649s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_utils.CacheBootModeTestCase.test_noneness [0.027372s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_steps.NodeDeployStepsTestCase.test__get_all_deployment_steps_duplicate_template_steps [0.029173s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_verify.DoNodeVerifyTestCase.test__do_node_cache_bios [0.036196s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_steps.NodeDeployStepsTestCase.test__get_all_deployment_steps_override_driver_steps [0.027889s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_utils.CacheBootModeTestCase.test_retreive_and_set [0.032635s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_utils.CacheBootModeTestCase.test_unsupported [0.027323s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_utils.ValidatePortPhysnetTestCase.test_validate_port_physnet_1_port_portgroup_w_physnet_update_1 [0.076167s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_utils.CacheVendorTestCase.test_failed [0.027021s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_steps.NodeDeployStepsTestCase.test__get_all_deployment_steps_skip_missing [0.064489s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_utils.ErrorHandlersTestCase.test_abort_on_conductor_take_over_cleaning [0.020874s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conductor.test_verify.DoNodeVerifyTestCase.test__do_node_verify [0.098547s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_utils.ValidatePortPhysnetTestCase.test_validate_port_physnet_1_port_portgroup_w_physnet_update_2 [0.070331s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_utils.ErrorHandlersTestCase.test_abort_on_conductor_take_over_deploying [0.019085s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.conf.test_auth.AuthConfTestCase.test_add_auth_opts [0.013660s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_utils.ErrorHandlersTestCase.test_cleaning_error_handler [0.022263s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_steps.NodeDeployStepsTestCase.test__get_all_deployment_steps_template_and_driver_steps [0.068470s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_utils.ValidatePortPhysnetTestCase.test_validate_port_physnet_1_port_portgroup_w_physnet_update_add_3 [0.046500s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_utils.ErrorHandlersTestCase.test_cleaning_error_handler_cleanfail [0.038133s] ... 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.029542s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_steps.NodeDeployStepsTestCase.test__get_all_deployment_steps_user_and_driver_steps [0.059802s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_utils.ErrorHandlersTestCase.test_cleaning_error_handler_cleanwait [0.044444s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_utils.ValidatePortPhysnetTestCase.test_validate_port_physnet_2_port_portgroup_w_physnet_update_1 [0.029153s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_utils.ValidatePortPhysnetTestCase.test_validate_port_physnet_empty_portgroup_create_1 [0.028358s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.db.sqlalchemy.test_migrations.ModelsMigrationsSyncMysql.test_models_sync ... SKIPPED: Backend 'mysql+pymysql' is unavailable: Could not connect DEBUG util.py:445: {2} ironic.tests.unit.db.sqlalchemy.test_migrations.TestMigrationsPostgreSQL.test_upgrade_and_version ... SKIPPED: Backend 'postgresql' is unavailable: Could not connect DEBUG util.py:445: {2} ironic.tests.unit.db.sqlalchemy.test_migrations.TestMigrationsPostgreSQL.test_walk_versions ... SKIPPED: Backend 'postgresql' is unavailable: Could not connect DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_steps.NodeDeployStepsTestCase.test__validate_user_deploy_steps_skip_missing [0.056463s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_utils.ErrorHandlersTestCase.test_cleaning_error_handler_no_teardown [0.048551s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_utils.ValidatePortPhysnetTestCase.test_validate_port_physnet_empty_portgroup_update_2 [0.029659s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.db.sqlalchemy.test_migrations.TestWalkVersions.test_walk_versions_all_false [0.034759s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_utils.ValidatePortPhysnetTestCase.test_validate_port_physnet_inconsistent_physnets [0.035145s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.db.sqlalchemy.test_models.TestGetClass.test_get_class_bad [0.012718s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.db.test_allocations.AllocationsTestCase.test_get_allocation_by_name_that_does_not_exist [0.019726s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_utils.ValidatePortPhysnetTestCase.test_validate_port_physnet_no_portgroup_create [0.027382s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_steps.NodeDeployStepsTestCase.test_set_node_deployment_steps_skip_missing [0.078452s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.db.test_allocations.AllocationsTestCase.test_get_allocation_list [0.025154s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.db.test_allocations.AllocationsTestCase.test_get_allocation_list_filter_by_rsc [0.026084s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_steps.ValidateUserDeployStepsAndTemplatesTestCase.test_error_on_usersteps [0.060244s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.conductor.test_verify.DoNodeVerifyTestCase.test__do_node_verify_get_state_fails [0.070969s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.db.test_allocations.AllocationsTestCase.test_update_allocation_not_found [0.019300s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.db.test_allocations.AllocationsTestCase.test_update_allocation_with_node_id [0.022226s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_steps.ValidateUserDeployStepsAndTemplatesTestCase.test_skip_missing [0.039850s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_steps.ValidateUserDeployStepsTestCase.test__get_validate_user_deploy_steps [0.027780s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_steps.ValidateUserDeployStepsTestCase.test__get_validate_user_deploy_steps_on_node [0.027229s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_task_manager.ExclusiveLockDecoratorTestCase.test_with_excl_lock_task_first_arg [0.012379s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_task_manager.ExclusiveLockDecoratorTestCase.test_with_shared_lock_task_first_arg [0.011476s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_task_manager.ProvisionNotifyTestCase.test_notify_only_once [0.012890s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.db.sqlalchemy.test_migrations.TestMigrationsMySQL.test_upgrade_twice ... SKIPPED: Backend 'mysql+pymysql' is unavailable: Could not connect DEBUG util.py:445: {3} ironic.tests.unit.db.sqlalchemy.test_migrations.TestMigrationsMySQL.test_walk_versions ... SKIPPED: Backend 'mysql+pymysql' is unavailable: Could not connect DEBUG util.py:445: {3} ironic.tests.unit.db.sqlalchemy.test_migrations.TestMigrationsPostgreSQL.test_create_schema_and_version ... SKIPPED: Backend 'postgresql' is unavailable: Could not connect DEBUG util.py:445: {2} ironic.tests.unit.db.test_api.UpdateToLatestVersionsTestCase.test_old_version_max_count_1 [0.121952s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_task_manager.ProvisionNotifyTestCase.test_notify_resource_released [0.013195s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_task_manager.ProvisionNotifyTestCase.test_notify_stable_to_stable [0.012426s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.db.sqlalchemy.test_models.TestGetClass.test_get_class [0.014487s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.db.sqlalchemy.test_types.SqlAlchemyCustomTypesTestCase.test_JSONEncodedList_default_value [0.019797s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_task_manager.ProvisionNotifyTestCase.test_notify_unstable_to_stable [0.012942s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_utils.ErrorHandlersTestCase.test_cleanup_cleanwait_timeout [0.313330s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_task_manager.TaskManagerTestCase.test_excl_lock_build_driver_exception [0.021930s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_utils.ErrorHandlersTestCase.test_cleanup_rescuewait_timeout_known_exc [0.025857s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.db.test_allocations.AllocationsTestCase.test_create [0.023219s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_task_manager.TaskManagerTestCase.test_excl_lock_get_voltgt_exception [0.021975s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.db.test_allocations.AllocationsTestCase.test_create_allocation_duplicated_name [0.019937s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_utils.ErrorHandlersTestCase.test_cleanup_rescuewait_timeout_unknown_exc [0.025618s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_task_manager.TaskManagerTestCase.test_excl_lock_reserve_exception [0.022386s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.db.test_allocations.AllocationsTestCase.test_create_allocation_duplicated_uuid [0.018923s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.db.test_api.UpdateToLatestVersionsTestCase.test_old_version_max_count_same_nodes [0.090123s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_utils.ErrorHandlersTestCase.test_rescuing_error_handler_ironic_exc [0.020633s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.db.test_allocations.AllocationsTestCase.test_destroy_allocation_that_does_not_exist [0.019171s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_task_manager.TaskManagerTestCase.test_excl_lock_upgade_exception_no_retries [0.021486s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.db.test_allocations.AllocationsTestCase.test_get_allocation_by_id [0.018376s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_utils.ErrorHandlersTestCase.test_rescuing_error_handler_other_exc [0.021636s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.db.test_api.UpdateToLatestVersionsTestCase.test_one_node [0.040892s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_task_manager.TaskManagerTestCase.test_shared_lock_build_driver_exception [0.020952s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.db.test_allocations.AllocationsTestCase.test_get_allocation_by_uuid [0.018668s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_utils.ErrorHandlersTestCase.test_spawn_deploying_error_handler_no_worker [0.025122s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_task_manager.TaskManagerTestCase.test_shared_lock_get_ports_exception [0.022006s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_task_manager.TaskManagerTestCase.test_shared_lock_get_voltgt_exception [0.021012s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.db.test_allocations.AllocationsTestCase.test_get_allocation_list_filter_by_state [0.024583s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_utils.FastTrackTestCase.test_is_fast_track_error_blocks [0.030909s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_task_manager.TaskManagerTestCase.test_shared_lock_node_get_exception [0.020938s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.db.test_allocations.AllocationsTestCase.test_update_allocation_associated_with_another_node [0.027530s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_utils.GetAttachedVifTestCase.test_get_attached_vif_none [0.018343s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_utils.GetConfigDriveImageTestCase.test_build_populated [0.017568s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.db.test_allocations.AllocationsTestCase.test_update_allocation_duplicated_name [0.020453s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_task_manager.TaskManagerTestCase.test_spawn_after [0.022540s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_task_manager.TaskManagerTestCase.test_spawn_after_spawn_fails [0.023621s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_utils.GetConfigDriveImageTestCase.test_build_user_data_as_dict [0.017982s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.db.test_allocations.AllocationsTestCase.test_update_allocation_node_already_associated [0.022649s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_task_manager.ThreadExceptionTestCase.test_set_node_last_error_cancelled [0.013452s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_utils.GetNodeNextStepsTestCase.test_get_node_next_clean_steps_no_skip [0.026205s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.db.test_allocations.AllocationsTestCase.test_update_allocation_uuid [0.019160s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_task_manager.ThreadExceptionTestCase.test_set_node_last_error_exists [0.014380s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.db.test_api.UpgradingTestCase.test_check_versions_conductor [0.155891s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_utils.GetNodeNextStepsTestCase.test_get_node_next_deploy_steps_no_skip [0.025660s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.db.test_api.GetNotVersionsTestCase.test_get_not_versions_null [0.025944s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_utils.GetNodeNextStepsTestCase.test_get_node_next_steps_exception [0.028217s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_utils.MiscTestCase.test_notify_conductor_resume_clean [0.028023s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.db.test_api.UpdateToLatestVersionsTestCase.test_max_count_zero [0.053007s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_utils.MiscTestCase.test_power_on_node_if_needed_with_smart_nic_port [0.032050s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.db.test_api.UpdateToLatestVersionsTestCase.test_version_exists [0.027532s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_utils.MiscTestCase.test_remove_node_rescue_password_save_true [0.021972s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_utils.MiscTestCase.test_restore_power_state_if_needed_false [0.028382s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_utils.CacheBootModeTestCase.test_change_secure_off_to_none [0.181934s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_utils.NodeGetBootModeTestCase.test_node_get_boot_mode_valid [0.026331s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.db.test_bios_settings.DbBIOSSettingTestCase.test_delete_bios_setting_list_node_not_exist [0.169159s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.db.test_bios_settings.DbBIOSSettingTestCase.test_update_bios_setting_list_node_not_exist [0.020028s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_utils.CacheBootModeTestCase.test_failed_secure [0.031529s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_utils.NodePowerActionTestCase.test_node_power_action_failed_getting_state [0.032189s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.db.test_chassis.DbChassisTestCase.test_destroy_chassis_that_does_not_exist [0.022245s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_utils.DeployingErrorHandlerTestCase.test_deploying_error_handler [0.021623s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_utils.NodePowerActionTestCase.test_node_power_action_power_off [0.033594s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.db.test_chassis.DbChassisTestCase.test_destroy_chassis_with_nodes [0.018234s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_utils.DeployingErrorHandlerTestCase.test_deploying_error_handler_cleanup_ironic_exception [0.022124s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.db.test_chassis.DbChassisTestCase.test_get_chassis_by_uuid [0.017198s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.db.test_chassis.DbChassisTestCase.test_update_chassis_uuid [0.017242s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_utils.DeployingErrorHandlerTestCase.test_deploying_error_handler_cleanup_random_exception [0.021774s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_utils.NodeSoftPowerActionTestCase.test_node_power_action_soft_power_off_timeout [0.034252s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.db.test_api.UpgradingTestCase.test_check_versions [0.186449s] ... 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.018274s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_utils.StoreAgentCertificateTestCase.test_store_new [0.017435s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.db.test_api.UpgradingTestCase.test_check_versions_conductor_old [0.023320s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_utils.ErrorHandlersTestCase.test_provision_error_handler_no_worker [0.029275s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_utils.ValidateInstanceInfoTraitsTestCase.test_validate_instance_info_traits [0.012986s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.db.test_conductor.DbConductorTestCase.test_register_conductor_override [0.021759s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_utils.ErrorHandlersTestCase.test_provision_error_handler_other_error [0.025196s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.db.test_deploy_templates.DbDeployTemplateTestCase.test_create_invalid_step_no_interface [0.016650s] ... 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.030626s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.db.test_deploy_templates.DbDeployTemplateTestCase.test_get_deploy_template_by_id [0.017929s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.db.test_deploy_templates.DbDeployTemplateTestCase.test_get_deploy_template_by_name [0.016576s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_utils.ErrorHandlersTestCase.test_rescuing_error_handler_set_failed_state_false [0.023724s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_utils.ValidatePortPhysnetTestCase.test_validate_port_physnet_1_port_portgroup_w_physnet_update_add_1 [0.030163s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.db.test_deploy_templates.DbDeployTemplateTestCase.test_update_steps_add [0.018773s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_utils.ErrorHandlersTestCase.test_spawn_cleaning_error_handler_no_worker [0.025807s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.db.test_node_history.DBNodeHistoryTestCase.test_get_history_by_id [0.018839s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_utils.ErrorHandlersTestCase.test_spawn_deploying_error_handler_other_error [0.025172s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.db.test_node_history.DBNodeHistoryTestCase.test_get_history_by_node_id_empty [0.018220s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_utils.ErrorHandlersTestCase.test_spawn_rescue_error_handler_no_worker [0.027015s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.db.test_node_tags.DbNodeTagTestCase.test_add_node_tag_node_not_exist [0.016851s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.db.test_api.UpgradingTestCase.test_check_versions_emptyDB [0.139601s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.conductor.test_verify.DoNodeVerifyTestCase.test__do_node_verify_validation_fails [0.075319s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.db.sqlalchemy.test_api.TestDBWriteMethodsRetryOnDeadlock.test_retry_on_deadlock [0.012071s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.db.test_node_tags.DbNodeTagTestCase.test_node_tag_exists [0.021293s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_utils.FastTrackTestCase.test_is_fast_track_config_false [0.029196s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.db.test_node_tags.DbNodeTagTestCase.test_node_tag_node_not_exist [0.017490s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.db.test_node_tags.DbNodeTagTestCase.test_node_tag_not_exists [0.020444s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_utils.FastTrackTestCase.test_is_fast_track_powered_after_heartbeat [0.037552s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_utils.GetAttachedVifTestCase.test_get_attached_vif_inspecting [0.018273s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.db.test_node_tags.DbNodeTagTestCase.test_set_node_tags [0.025382s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_utils.GetConfigDriveImageTestCase.test_no_configdrive [0.018399s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.db.test_node_traits.DbNodeTraitTestCase.test_add_node_trait_duplicate [0.023630s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_utils.GetConfigDriveImageTestCase.test_string [0.017691s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.db.test_api.UpgradingTestCase.test_check_versions_ignore_node [0.128857s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.db.sqlalchemy.test_migrations.TestMigrationsPostgreSQL.test_upgrade_and_create_schema ... SKIPPED: Backend 'postgresql' is unavailable: Could not connect DEBUG util.py:445: {0} ironic.tests.unit.db.sqlalchemy.test_migrations.TestMigrationsPostgreSQL.test_upgrade_twice ... SKIPPED: Backend 'postgresql' is unavailable: Could not connect DEBUG util.py:445: {3} ironic.tests.unit.db.test_bios_settings.DbBIOSSettingTestCase.test_create_bios_setting_list [0.021339s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.db.sqlalchemy.test_migrations.TestWalkVersions.test_migrate_up [0.014669s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_utils.MiscTestCase.test_power_on_node_if_needed_false_no_need [0.030569s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.db.sqlalchemy.test_migrations.TestWalkVersions.test_migrate_up_with_data [0.013464s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.db.test_bios_settings.DbBIOSSettingTestCase.test_get_bios_setting_node_not_exist [0.017289s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_utils.NodePowerActionTestCase.test__can_skip_state_change_different_state [0.027692s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.db.test_bios_settings.DbBIOSSettingTestCase.test_get_bios_setting_setting_not_exist [0.020116s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.db.sqlalchemy.test_migrations.TestWalkVersions.test_walk_versions_all_default [0.032254s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.db.test_chassis.DbChassisTestCase.test_get_chassis_by_id [0.016553s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.db.test_node_traits.DbNodeTraitTestCase.test_add_node_trait_over_limit [0.111803s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.db.sqlalchemy.test_types.SqlAlchemyCustomTypesTestCase.test_JSONEncodedDict_default_value [0.018430s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_utils.NodePowerActionTestCase.test__can_skip_state_change_failed_getting_state_notify [0.058410s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.db.test_node_traits.DbNodeTraitTestCase.test_delete_node_trait [0.024658s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.db.test_allocations.AllocationsTestCase.test_destroy_allocation_uuid [0.019957s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.db.test_node_traits.DbNodeTraitTestCase.test_node_trait_not_exists [0.020270s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.db.test_allocations.AllocationsTestCase.test_destroy_allocation_with_node [0.023660s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_utils.NodePowerActionTestCase.test_node_power_action_already_being_processed [0.034150s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.db.test_allocations.AllocationsTestCase.test_get_allocation_by_name [0.019337s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.db.test_node_traits.DbNodeTraitTestCase.test_set_node_traits [0.021189s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.db.test_allocations.AllocationsTestCase.test_get_allocation_by_uuid_that_does_not_exist [0.018485s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.db.test_node_traits.DbNodeTraitTestCase.test_set_node_traits_at_limit [0.022441s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_utils.NodePowerActionTestCase.test_node_power_action_in_same_state [0.039861s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.db.test_allocations.AllocationsTestCase.test_get_allocation_list_filter_by_conductor_affinity [0.025994s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.db.test_node_traits.DbNodeTraitTestCase.test_set_node_traits_over_limit [0.019539s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.db.test_node_traits.DbNodeTraitTestCase.test_unset_empty_node_traits [0.020647s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.db.test_allocations.AllocationsTestCase.test_take_over_conflict [0.024339s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_utils.NodePowerActionTestCase.test_node_power_action_invalid_state_notify [0.059982s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.db.test_conductor.DbConductorTestCase.test_get_active_hardware_type_dict_one_host_no_ht [0.159430s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.db.test_node_traits.DbNodeTraitTestCase.test_unset_node_traits [0.024429s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.db.test_allocations.AllocationsTestCase.test_take_over_success [0.022956s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.db.test_conductor.DbConductorTestCase.test_get_conductor [0.015899s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_destroy_node [0.023440s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.db.test_conductor.DbConductorTestCase.test_get_conductor_not_found [0.015619s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_utils.NodePowerActionTestCase.test_node_power_action_power_on [0.036218s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_destroy_node_that_does_not_exist [0.016928s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.db.test_conductor.DbConductorTestCase.test_get_inactive_conductor_with_online_true [0.017153s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.db.test_api.UpdateToLatestVersionsTestCase.test_empty_db [0.043750s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.db.test_conductor.DbConductorTestCase.test_get_offline_conductors [0.017995s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_get_node_by_instance_wrong_uuid [0.022265s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_utils.NodePowerActionTestCase.test_node_power_action_power_on_storage_attach [0.036140s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.db.test_conductor.DbConductorTestCase.test_register_conductor_hardware_interfaces [0.017316s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_get_node_by_port_addresses [0.025078s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.db.test_conductor.DbConductorTestCase.test_touch_conductor_deadlock [0.017274s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_utils.NodePowerActionTestCase.test_node_power_action_reboot_storage_attach [0.033402s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.db.test_conductor.DbConductorTestCase.test_touch_conductor_not_found [0.015894s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_get_node_that_does_not_exist [0.018158s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_reservation_non_existent_node [0.027408s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.db.test_conductor.DbConductorTestCase.test_touch_offline_conductor [0.018781s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_utils.NodePowerActionTestCase.test_node_power_action_set_power_failure [0.038936s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.db.test_api.UpdateToLatestVersionsTestCase.test_old_version_max_count_2_some_nodes [0.100129s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.db.test_deploy_templates.DbDeployTemplateTestCase.test_create_duplicate_name [0.016834s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.db.test_deploy_templates.DbDeployTemplateTestCase.test_create_no_steps [0.015777s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_reserve_node [0.027456s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.db.test_api.UpgradingTestCase.test_check_versions_missing_version_columns [0.015943s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_utils.NodeSetBootDeviceTestCase.test_node_set_boot_device_force_default [0.030706s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.db.test_deploy_templates.DbDeployTemplateTestCase.test_get_deploy_template_list [0.020358s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.db.test_api.UpgradingTestCase.test_check_versions_raises_missing_table [0.015352s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_touch_node_provisioning_not_found [0.017345s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.db.test_deploy_templates.DbDeployTemplateTestCase.test_get_deploy_template_list_by_names_no_match [0.020175s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.db.test_bios_settings.DbBIOSSettingTestCase.test_create_bios_setting_list_duplicate [0.021163s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_utils.NodeSetBootDeviceTestCase.test_node_set_boot_device_force_never [0.030326s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.db.test_bios_settings.DbBIOSSettingTestCase.test_get_bios_setting [0.020879s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_traits_get_destroyed_after_destroying_a_node_by_uuid [0.030259s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_update_node [0.019940s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.db.test_deploy_templates.DbDeployTemplateTestCase.test_update_extra [0.020063s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_utils.NodeSetBootModeTestCase.test_node_set_boot_mode_adopting [0.030850s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.db.test_deploy_templates.DbDeployTemplateTestCase.test_update_name [0.018042s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.db.test_bios_settings.DbBIOSSettingTestCase.test_get_bios_setting_list_node_not_exist [0.018358s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_update_node_inspection_started_at [0.030061s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.db.test_deploy_templates.DbDeployTemplateTestCase.test_update_not_found [0.016587s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.db.test_bios_settings.DbBIOSSettingTestCase.test_update_bios_setting_list [0.023192s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_utils.NodeSoftPowerActionTestCase.test_node_power_action_soft_power_off_storage_detach [0.038715s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.db.test_bios_settings.DbBIOSSettingTestCase.test_update_bios_setting_list_setting_not_exist [0.021165s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.db.test_deploy_templates.DbDeployTemplateTestCase.test_update_steps_replace [0.019579s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_update_node_no_provision [0.020684s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.db.test_deploy_templates.DbDeployTemplateTestCase.test_update_uuid_not_allowed [0.015840s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_utils.ValidateInstanceInfoTraitsTestCase.test_validate_instance_info_traits_invalid_trait_type [0.016519s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_update_node_uuid [0.017103s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.db.test_chassis.DbChassisTestCase.test_get_chassis_that_does_not_exist [0.017213s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.db.test_node_history.DBNodeHistoryTestCase.test_get_history_by_node_id [0.018665s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_utils.ValidatePortPhysnetTestCase.test_validate_port_physnet_1_port_portgroup_no_physnet_update_add_2 [0.034543s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_volume_target_gets_destroyed_after_destroying_a_node [0.023363s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.db.test_conductor.DbConductorTestCase.test_clear_node_reservations_for_conductor [0.029995s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.db.test_node_history.DBNodeHistoryTestCase.test_get_history_by_uuid [0.018457s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.db.test_portgroups.DbportgroupTestCase.test_create_portgroup_duplicated_uuid [0.019540s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.db.test_node_history.DBNodeHistoryTestCase.test_get_history_by_uuid_not_found [0.017925s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.db.test_conductor.DbConductorTestCase.test_clear_node_target_power_state [0.028511s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.db.test_portgroups.DbportgroupTestCase.test_get_portgroup_by_id [0.019123s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.db.test_node_tags.DbNodeTagTestCase.test_add_node_tag [0.018627s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_utils.ValidatePortPhysnetTestCase.test_validate_port_physnet_1_port_portgroup_w_physnet_create_3 [0.035271s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.db.test_node_tags.DbNodeTagTestCase.test_add_node_tag_duplicate [0.019446s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.db.test_portgroups.DbportgroupTestCase.test_get_portgroup_list_sorted [0.024067s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.db.test_conductor.DbConductorTestCase.test_get_active_hardware_type_dict_many_host_many_ht [0.024268s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_utils.ValidatePortPhysnetTestCase.test_validate_port_physnet_1_port_portgroup_w_physnet_update_3 [0.033953s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.db.test_node_tags.DbNodeTagTestCase.test_delete_node_tag_not_found [0.018320s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.db.test_portgroups.DbportgroupTestCase.test_get_portgroups_by_node_id_that_does_not_exist [0.018770s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.db.test_conductor.DbConductorTestCase.test_get_active_hardware_type_dict_one_host_many_ht [0.019943s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.db.test_portgroups.DbportgroupTestCase.test_update_portgroup_duplicated_name [0.019279s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.db.test_node_tags.DbNodeTagTestCase.test_set_node_tags_node_not_exist [0.016852s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_utils.ValidatePortPhysnetTestCase.test_validate_port_physnet_2_port_portgroup_no_physnet_update_2 [0.032647s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.db.test_conductor.DbConductorTestCase.test_get_active_hardware_type_dict_one_host_one_ht [0.017963s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.db.test_node_tags.DbNodeTagTestCase.test_unset_node_tags [0.021662s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.db.test_ports.DbPortTestCase.test_create_port_duplicated_address [0.019976s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.db.test_conductor.DbConductorTestCase.test_list_hardware_type_interfaces [0.020876s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.db.test_ports.DbPortTestCase.test_destroy_port [0.020906s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.db.test_node_tags.DbNodeTagTestCase.test_unset_node_tags_node_not_exist [0.017305s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_utils.ValidatePortPhysnetTestCase.test_validate_port_physnet_2_port_portgroup_w_physnet_update_3 [0.035485s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.db.test_conductor.DbConductorTestCase.test_register_conductor_existing_fails [0.019726s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.db.test_conductor.DbConductorTestCase.test_unregister_conductor [0.018762s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.db.test_ports.DbPortTestCase.test_get_port_by_address_filter_by_project [0.021411s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.db.test_node_traits.DbNodeTraitTestCase.test_add_node_trait [0.018283s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.db.test_node_traits.DbNodeTraitTestCase.test_delete_node_trait_node_not_found [0.017451s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_utils.ValidatePortPhysnetTestCase.test_validate_port_physnet_inconsistent_physnets_fix [0.036050s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.db.test_conductor.DbConductorTestCase.test_unregister_conductor_hardware_interfaces [0.019124s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.db.test_ports.DbPortTestCase.test_get_port_by_address_filter_by_project_no_match [0.019706s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.db.test_deploy_templates.DbDeployTemplateTestCase.test_create_duplicate_uuid [0.019810s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.db.test_node_traits.DbNodeTraitTestCase.test_node_trait_exists [0.022473s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.db.test_ports.DbPortTestCase.test_get_ports_by_portgroup_id [0.020625s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_utils.ValidatePortPhysnetTestCase.test_validate_port_physnet_no_portgroup_update [0.033003s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.db.test_deploy_templates.DbDeployTemplateTestCase.test_get_deploy_template_by_uuid [0.018639s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.db.test_node_traits.DbNodeTraitTestCase.test_set_node_traits_duplicate [0.018514s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.db.test_volume_connectors.DbVolumeConnectorTestCase.test_create_volume_connector_duplicated_type_connector_id [0.018886s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.db.test_deploy_templates.DbDeployTemplateTestCase.test_get_deploy_template_list_by_names [0.021216s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.db.test_volume_connectors.DbVolumeConnectorTestCase.test_get_volume_connectors_by_node_id [0.019926s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_check_node_list [0.021522s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_verify.DoNodeVerifyTestCase.test__do_node_cache_bios_exception [0.043119s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_create_node [0.016090s] ... 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.019632s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.db.test_node_history.DBNodeHistoryTestCase.test_destroy_node_history_by_uuid [0.022357s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_create_node_already_exists [0.017089s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.db.test_volume_connectors.DbVolumeConnectorTestCase.test_update_volume_connector_duplicated_type_connector_id [0.020633s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_create_node_name_duplicate [0.017342s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.db.test_node_history.DBNodeHistoryTestCase.test_get_node_history_list_sorted [0.023023s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.conductor.test_verify.DoNodeVerifyTestCase.test__do_node_cache_bios_unsupported [0.042880s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.db.test_volume_connectors.DbVolumeConnectorTestCase.test_update_volume_connector_uuid [0.018809s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_destroy_node_by_uuid [0.021029s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.db.test_node_tags.DbNodeTagTestCase.test_delete_node_tag [0.023683s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.db.test_volume_targets.DbVolumeTargetTestCase.test_create_volume_target_duplicated_nodeid_and_bootindex [0.019588s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.db.test_node_tags.DbNodeTagTestCase.test_get_node_tags_empty [0.018777s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.db.test_volume_targets.DbVolumeTargetTestCase.test_update_volume_target [0.020963s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_get_node_by_instance [0.025763s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.db.test_node_tags.DbNodeTagTestCase.test_set_node_tags_duplicate [0.018878s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_get_node_by_instance_invalid_uuid [0.014039s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.dhcp.test_factory.TestDHCPFactory.test_dhcp_some_error [0.024788s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.db.test_node_tags.DbNodeTagTestCase.test_unset_empty_node_tags [0.021313s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_get_node_by_uuid [0.022998s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.dhcp.test_factory.TestDHCPFactory.test_set_neutron_dhcp [0.013307s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.db.test_node_traits.DbNodeTraitTestCase.test_add_node_trait_node_not_exist [0.019151s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.db.test_node_traits.DbNodeTraitTestCase.test_delete_node_trait_not_found [0.020703s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.dhcp.test_neutron.TestNeutron.test__get_fixed_ip_address_invalid_ip [0.020482s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_get_node_list_filter_by_project [0.031955s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.dhcp.test_neutron.TestNeutron.test__get_ip_addresses_portgroup_int_info [0.030631s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.db.test_node_traits.DbNodeTraitTestCase.test_get_node_traits_by_node_id [0.023103s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_get_node_list_requested_fields_with_traits [0.037829s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.db.sqlalchemy.test_migrations.ModelsMigrationsSyncPostgres.test_models_sync ... SKIPPED: Backend 'postgresql' is unavailable: Could not connect DEBUG util.py:445: {0} ironic.tests.unit.db.test_node_traits.DbNodeTraitTestCase.test_get_node_traits_empty [0.018982s] ... 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: {1} ironic.tests.unit.db.sqlalchemy.test_migrations.TestMigrationsMySQL.test_upgrade_and_create_schema ... SKIPPED: Backend 'mysql+pymysql' is unavailable: Could not connect DEBUG util.py:445: {1} ironic.tests.unit.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.dhcp.test_neutron.TestNeutron.test__get_ip_addresses_ports_int_info [0.030272s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.db.test_node_traits.DbNodeTraitTestCase.test_get_node_traits_node_not_exist [0.017956s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.db.sqlalchemy.test_types.SqlAlchemyCustomTypesTestCase.test_JSONEncodedDict_type_check [0.018653s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.db.test_node_traits.DbNodeTraitTestCase.test_node_trait_node_not_exist [0.018109s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.dhcp.test_neutron.TestNeutron.test_update_dhcp [0.030556s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.db.sqlalchemy.test_types.SqlAlchemyCustomTypesTestCase.test_JSONEncodedList_type_check [0.018022s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.db.test_node_traits.DbNodeTraitTestCase.test_unset_node_traits_node_not_exist [0.018741s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.dhcp.test_neutron.TestNeutron.test_update_dhcp_no_vif_data [0.030218s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_get_node_list_with_filters [0.083182s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.db.test_allocations.AllocationsTestCase.test_destroy_allocation [0.023620s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_allocations_get_destroyed_after_destroying_a_node_by_uuid [0.025380s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.db.test_allocations.AllocationsTestCase.test_get_allocation_by_id_that_does_not_exist [0.022105s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_check_node_list_impossible [0.017598s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.dhcp.test_neutron.TestNeutron.test_update_port_dhcp_opts [0.029430s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_get_nodeinfo_list_inspection [0.023541s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_create_node_instance_already_associated [0.018662s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.db.test_allocations.AllocationsTestCase.test_get_allocation_list_filter_by_node [0.028777s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_get_nodeinfo_list_provision [0.023781s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_create_node_with_tags [0.014931s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.ansible.test_deploy.TestAnsibleDeploy.test__ansible_deploy [0.034670s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.db.test_allocations.AllocationsTestCase.test_get_allocation_list_invalid_fields [0.021274s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_history_get_destroyed_after_destroying_a_node_by_uuid [0.023426s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_create_node_with_traits [0.013915s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.db.test_allocations.AllocationsTestCase.test_get_allocation_list_sorted [0.026754s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.ansible.test_deploy.TestAnsibleDeploy.test_execute_clean_step [0.032894s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_get_node_by_port_addresses_multiple_found [0.022447s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_ports_get_destroyed_after_destroying_a_node_by_uuid [0.024130s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.db.test_allocations.AllocationsTestCase.test_take_over_allocation_not_found [0.022328s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_release_non_locked_node [0.021476s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.db.test_allocations.AllocationsTestCase.test_update_allocation [0.022633s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_reservation_after_release [0.022525s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_get_node_list_includes_traits [0.038299s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.ansible.test_deploy.TestAnsibleDeploy.test_execute_clean_step_no_success_log [0.038497s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_ports_get_destroyed_after_destroying_a_node [0.024652s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_traits_get_destroyed_after_destroying_a_node [0.025902s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.ansible.test_deploy.TestAnsibleDeploy.test_get_clean_steps [0.028792s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.db.test_api.GetNotVersionsTestCase.test_get_not_versions [0.029547s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_reservation_in_exception_message [0.020896s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.db.test_api.GetNotVersionsTestCase.test_get_not_versions_no_model [0.019194s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.ansible.test_deploy.TestAnsibleDeploy.test_get_clean_steps_priority [0.028881s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_volume_connector_get_destroyed_after_destroying_a_node [0.023904s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_tags_get_destroyed_after_destroying_a_node [0.026058s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.db.test_api.UpgradingTestCase.test_check_versions_handles_missing_table [0.017154s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.db.test_portgroups.DbportgroupTestCase.test_destroy_portgroup_not_empty [0.021395s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.ansible.test_deploy.TestAnsibleDeploy.test_prepare [0.035166s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_update_node_instance_already_associated [0.022545s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.db.test_portgroups.DbportgroupTestCase.test_destroy_portgroup_that_does_not_exist [0.018493s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.db.test_portgroups.DbportgroupTestCase.test_get_portgroup_by_id_that_does_not_exist [0.018496s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_update_node_not_found [0.015730s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.ansible.test_deploy.TestAnsibleDeploy.test_tear_down [0.030232s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.db.test_api.UpgradingTestCase.test_check_versions_node_no_version [0.046487s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_update_node_with_tags [0.020514s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.db.test_portgroups.DbportgroupTestCase.test_get_portgroup_by_name [0.017666s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_update_node_with_traits [0.020957s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.db.test_portgroups.DbportgroupTestCase.test_get_portgroup_by_uuid_that_does_not_exist [0.017300s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.ansible.test_deploy.TestAnsibleDeploy.test_tear_down_agent_soft_poweroff_retry [0.033213s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.db.test_api.UpgradingTestCase.test_check_versions_node_old [0.041207s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_volume_target_gets_destroyed_after_destroying_a_node_uuid [0.023757s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.db.test_portgroups.DbportgroupTestCase.test_get_portgroup_list [0.022529s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.ansible.test_deploy.TestAnsibleDeploy.test_validate [0.029534s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.db.test_portgroups.DbportgroupTestCase.test_get_portgroups_by_node_id [0.017698s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.db.test_bios_settings.DbBIOSSettingTestCase.test_create_bios_setting_list_node_not_exist [0.020785s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.db.test_portgroups.DbportgroupTestCase.test_create_portgroup_duplicated_address [0.018160s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.db.test_portgroups.DbportgroupTestCase.test_update_portgroup_duplicated_address [0.019156s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.db.test_portgroups.DbportgroupTestCase.test_create_portgroup_no_mode [0.019211s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.db.test_bios_settings.DbBIOSSettingTestCase.test_delete_bios_setting_list [0.031229s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.ansible.test_deploy.TestAnsibleMethods.test__get_node_ip [0.030269s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.db.test_portgroups.DbportgroupTestCase.test_update_portgroup_uuid [0.017325s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.db.test_portgroups.DbportgroupTestCase.test_destroy_portgroup_uuid [0.019959s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.db.test_bios_settings.DbBIOSSettingTestCase.test_delete_bios_setting_list_setting_not_exist [0.023793s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.ansible.test_deploy.TestAnsibleMethods.test__prepare_variables_root_device_hints [0.029640s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.db.test_ports.DbPortTestCase.test_get_port_by_address [0.020537s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.db.test_portgroups.DbportgroupTestCase.test_get_portgroup_by_address_that_does_not_exist [0.019182s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.db.test_bios_settings.DbBIOSSettingTestCase.test_get_bios_setting_list [0.022764s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.ansible.test_deploy.TestAnsibleMethods.test__run_playbook_ansible_interpreter_python3 [0.019378s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.db.test_ports.DbPortTestCase.test_get_port_list_filter_by_node_project [0.026382s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.db.test_portgroups.DbportgroupTestCase.test_update_portgroup_not_found [0.019456s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.db.test_chassis.DbChassisTestCase.test_create_chassis_already_exists [0.017854s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.ansible.test_deploy.TestAnsibleMethods.test__run_playbook_fail [0.019291s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.db.test_ports.DbPortTestCase.test_get_port_by_address_filter_by_owner [0.019292s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.db.test_chassis.DbChassisTestCase.test_destroy_chassis [0.022438s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.db.test_ports.DbPortTestCase.test_get_ports_by_node_id [0.018989s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.ansible.test_deploy.TestAnsibleMethods.test__validate_clean_steps [0.018771s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.db.test_ports.DbPortTestCase.test_get_port_by_id [0.018295s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.db.test_ports.DbPortTestCase.test_get_ports_by_node_id_filter_by_node_project_no_match [0.019339s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.db.test_ports.DbPortTestCase.test_get_port_by_name [0.019107s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.db.test_chassis.DbChassisTestCase.test_get_chassis_list [0.021330s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.db.test_chassis.DbChassisTestCase.test_update_chassis [0.017733s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.db.test_ports.DbPortTestCase.test_get_ports_by_portgroup_id_filter_by_node_owner_no_match [0.019525s] ... 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.039245s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.db.test_ports.DbPortTestCase.test_get_port_by_uuid [0.018659s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.db.test_volume_connectors.DbVolumeConnectorTestCase.test_create_volume_connector_duplicated_uuid [0.018065s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.db.test_chassis.DbChassisTestCase.test_update_chassis_that_does_not_exist [0.017248s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.db.test_ports.DbPortTestCase.test_get_port_list [0.022261s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.db.test_volume_connectors.DbVolumeConnectorTestCase.test_get_volume_connector_list [0.021293s] ... 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.034054s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.db.test_conductor.DbConductorTestCase.test_get_active_hardware_type_dict_many_host_one_ht [0.021804s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.db.test_ports.DbPortTestCase.test_get_ports_by_node_id_filter_by_node_owner [0.020420s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.db.test_volume_connectors.DbVolumeConnectorTestCase.test_update_volume_connector [0.019165s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.db.test_conductor.DbConductorTestCase.test_get_active_hardware_type_dict_with_old_conductor [0.024770s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.db.test_ports.DbPortTestCase.test_get_ports_by_node_id_filter_by_node_owner_no_match [0.018691s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.drac.test_bios.DracWSManBIOSConfigurationTestCase.test__check_node_bios_jobs_still_running [0.033782s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.db.test_volume_connectors.DbVolumeConnectorTestCase.test_update_volume_connector_fails_invalid_id [0.017830s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.db.test_ports.DbPortTestCase.test_get_ports_by_node_id_filter_by_node_project [0.019276s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.db.test_conductor.DbConductorTestCase.test_get_inactive_conductor_ignore_online [0.019726s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.db.test_volume_targets.DbVolumeTargetTestCase.test_destroy_volume_target [0.019600s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.drac.test_bios.DracWSManBIOSConfigurationTestCase.test__query_bios_config_job_status_no_driver [0.024393s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.db.test_conductor.DbConductorTestCase.test_get_online_conductors [0.019161s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.db.test_ports.DbPortTestCase.test_get_ports_by_portgroup_id_filter_by_node_owner [0.019744s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.db.test_volume_targets.DbVolumeTargetTestCase.test_get_volume_target_list [0.021767s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.db.test_conductor.DbConductorTestCase.test_register_conductor_hardware_interfaces_duplicate [0.020032s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.db.test_ports.DbPortTestCase.test_get_ports_by_portgroup_id_that_does_not_exist [0.018626s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.drac.test_bios.DracWSManBIOSConfigurationTestCase.test_apply_configuration_clean [0.034786s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.db.test_volume_targets.DbVolumeTargetTestCase.test_get_volume_targets_by_volume_id [0.019227s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.db.test_conductor.DbConductorTestCase.test_touch_conductor [0.020197s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.db.test_volume_connectors.DbVolumeConnectorTestCase.test_destroy_volume_connector [0.019497s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.db.test_volume_targets.DbVolumeTargetTestCase.test_get_volume_targets_by_volume_id_that_does_not_exist [0.017424s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.drac.test_bios.DracWSManBIOSConfigurationTestCase.test_factory_reset_commit_fail [0.030768s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.db.test_deploy_templates.DbDeployTemplateTestCase.test_create [0.016716s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.db.test_volume_connectors.DbVolumeConnectorTestCase.test_get_volume_connector_by_id [0.019414s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.db.test_volume_targets.DbVolumeTargetTestCase.test_update_volume_target_duplicated_nodeid_and_bootindex [0.018711s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.drac.test_bios.DracWSManBIOSConfigurationTestCase.test_factory_reset_set_fail [0.030147s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.db.test_deploy_templates.DbDeployTemplateTestCase.test_destroy [0.021872s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.db.test_volume_targets.DbVolumeTargetTestCase.test_update_volume_target_uuid [0.017254s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.db.test_volume_connectors.DbVolumeConnectorTestCase.test_get_volume_connector_by_uuid [0.019885s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.dhcp.test_factory.TestDHCPFactory.test_set_bad_dhcp [0.011684s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.db.test_deploy_templates.DbDeployTemplateTestCase.test_get_deploy_template_list_sorted [0.022988s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.db.test_volume_connectors.DbVolumeConnectorTestCase.test_get_volume_connector_list_sorted [0.023334s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.drac.test_bios.DracWSManBIOSConfigurationTestCase.test_get_properties [0.029655s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.dhcp.test_neutron.TestNeutron.test__get_fixed_ip_address_ipv6 [0.018575s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.db.test_volume_targets.DbVolumeTargetTestCase.test_create_volume_target [0.018552s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.db.test_deploy_templates.DbDeployTemplateTestCase.test_update_duplicate_name [0.020214s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.dhcp.test_neutron.TestNeutron.test__get_port_ip_address_for_portgroup_with_exception [0.028147s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.db.test_volume_targets.DbVolumeTargetTestCase.test_create_volume_target_duplicated_uuid [0.018534s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.db.test_deploy_templates.DbDeployTemplateTestCase.test_update_steps_remove_all [0.020015s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.drac.test_boot.DracBootTestCase.test__set_boot_device_cd [0.032628s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.db.test_volume_targets.DbVolumeTargetTestCase.test_get_volume_target_by_id [0.018771s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.db.test_deploy_templates.DbDeployTemplateTestCase.test_update_steps_replace_args [0.019513s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.dhcp.test_neutron.TestNeutron.test__get_port_ip_address_provisioning [0.027827s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.db.test_node_history.DBNodeHistoryTestCase.test_get_history_by_id_not_found [0.019697s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.db.test_volume_targets.DbVolumeTargetTestCase.test_get_volume_target_list_sorted [0.021226s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.db.test_node_history.DBNodeHistoryTestCase.test_get_node_history_list [0.022867s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.dhcp.test_neutron.TestNeutron.test_update_dhcp_unset_sleep_and_fake [0.033103s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.db.test_volume_targets.DbVolumeTargetTestCase.test_get_volume_targets_by_node_id [0.020595s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.drac.test_common.DracCommonMethodsTestCase.test_get_drac_client [0.059347s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.db.test_node_tags.DbNodeTagTestCase.test_delete_node_tag_node_not_found [0.018263s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.db.test_volume_targets.DbVolumeTargetTestCase.test_update_volume_target_fails_invalid_id [0.017124s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.dhcp.test_neutron.TestNeutron.test_update_port_dhcp_opts_v6 [0.028033s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.dhcp.test_factory.CompareBasetoModules.test_drivers_match_dhcp_base [0.012014s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.drac.test_common.DracCommonMethodsTestCase.test_parse_driver_info_missing_password [0.018419s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.dhcp.test_factory.TestDHCPFactory.test_set_none_dhcp [0.011440s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.drac.test_common.DracCommonMethodsTestCase.test_parse_driver_info_missing_path [0.019259s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.dhcp.test_neutron.TestNeutron.test_update_port_dhcp_opts_with_exception [0.027749s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.db.test_node_tags.DbNodeTagTestCase.test_get_node_tags_by_node_id [0.023087s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.dhcp.test_neutron.TestNeutron.test__get_fixed_ip_address_with_exception [0.018297s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.drac.test_common.DracCommonMethodsTestCase.test_parse_driver_info_missing_username [0.018367s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.db.test_node_tags.DbNodeTagTestCase.test_get_node_tags_node_not_exist [0.020033s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.ansible.test_deploy.TestAnsibleDeploy.test_get_properties [0.017707s] ... 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.026204s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.dhcp.test_neutron.TestNeutron.test__get_port_ip_address_for_portgroup [0.028253s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.ansible.test_deploy.TestAnsibleDeploy.test_prepare_cleaning [0.032381s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.drac.test_inspect.DracInspectionTestCase.test__get_pxe_dev_nics_list_nic_setting_failure [0.027980s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.dhcp.test_neutron.TestNeutron.test__get_port_ip_address_tenant [0.028275s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.ansible.test_deploy.TestAnsibleDeploy.test_tear_down_agent_force_reboot [0.031821s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.drac.test_inspect.DracInspectionTestCase.test__guess_root_disk [0.025033s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.dhcp.test_neutron.TestNeutron.test_get_ip_addresses_for_port_and_portgroup [0.030989s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.drac.test_inspect.DracInspectionTestCase.test_get_properties [0.023277s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.ansible.test_deploy.TestAnsibleDeploy.test_validate_not_iwdi_netboot [0.028945s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.dhcp.test_neutron.TestNeutron.test_update_dhcp_set_sleep_and_fake [0.034600s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.db.test_node_traits.DbNodeTraitTestCase.test_add_node_trait_at_limit [0.115325s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.ansible.test_deploy.TestAnsibleMethods.test__get_clean_steps [0.023582s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.drac.test_inspect.DracInspectionTestCase.test_inspect_hardware [0.033440s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.ansible.test_deploy.TestAnsibleMethods.test__parse_ansible_driver_info [0.017742s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.ansible.test_deploy.TestAnsibleDeploy.test__ansible_deploy_iwdi [0.031513s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.ansible.test_deploy.TestAnsibleMethods.test__parse_partitioning_info_all_gpt [0.019022s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.drac.test_inspect.DracInspectionTestCase.test_inspect_hardware_no_virtual_disk [0.048306s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.ansible.test_deploy.TestAnsibleMethods.test__parse_root_device_hints [0.028604s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.drac.test_inspect.DracRedfishInspectionTestCase.test__get_mac_address_with_ethernet_interfaces [0.026937s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.ansible.test_deploy.TestAnsibleMethods.test__parse_root_device_hints_fail_advanced [0.028126s] ... 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.027524s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.ansible.test_deploy.TestAnsibleMethods.test__parse_root_device_hints_iinfo [0.027835s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.db.test_node_traits.DbNodeTraitTestCase.test_add_node_trait_duplicate_at_limit [0.115504s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.db.test_node_traits.DbNodeTraitTestCase.test_set_node_traits_node_not_exist [0.020034s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.drac.test_inspect.DracRedfishInspectionTestCase.test_inspect_hardware_with_ethernet_interfaces_mac [0.024879s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_check_node_list_non_existing [0.021624s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.ansible.test_deploy.TestAnsibleMethods.test__prepare_extra_vars [0.017173s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.drac.test_job.DracJobTestCase.test_get_job [0.022645s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.ansible.test_deploy.TestAnsibleMethods.test__prepare_variables_configdrive_file [0.030861s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.drac.test_job.DracJobTestCase.test_list_unfinished_jobs_fail [0.019337s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_get_node_by_id [0.026000s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.ansible.test_deploy.TestAnsibleMethods.test__run_playbook [0.018763s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.drac.test_job.DracJobTestCase.test_validate_job_queue_invalid [0.019141s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_get_node_by_name [0.027665s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.ansible.test_deploy.TestAnsibleDeploy.test_deploy [0.177217s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.ansible.test_deploy.TestAnsibleMethods.test__run_playbook_default_verbosity_nodebug [0.017631s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.drac.test_job.DracVendorPassthruJobTestCase.test_list_unfinished_jobs [0.028928s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.ansible.test_deploy.TestAnsibleDeploy.test_prepare_cleaning_callback_no_steps [0.027162s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_get_node_by_port_addresses_not_found [0.019340s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.drac.test_bios.DracBIOSConfigurationTestCase.test_abandon_config [0.027639s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.drac.test_bios.DracBIOSConfigurationTestCase.test_get_config [0.024145s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.drac.test_management.DracManagementInternalMethodsTestCase.test__flexibly_program_boot_order_for_pxe [0.027101s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_get_node_list [0.031737s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.ansible.test_deploy.TestAnsibleDeploy.test_prepare_cleaning_with_smartnic_port [0.035210s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_get_node_list_chassis_not_found [0.016671s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.drac.test_management.DracManagementInternalMethodsTestCase.test__get_boot_device_with_no_boot_device [0.021642s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.drac.test_bios.DracBIOSConfigurationTestCase.test_set_config [0.027633s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.ansible.test_deploy.TestAnsibleDeploy.test_write_image [0.032978s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.drac.test_management.DracManagementInternalMethodsTestCase.test__get_next_persistent_boot_mode_with_empty_boot_mode_list [0.019598s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.drac.test_bios.DracBIOSConfigurationTestCase.test_set_config_fail [0.027685s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_get_node_list_description [0.027214s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.ansible.test_deploy.TestAnsibleMethods.test__get_configdrive_path [0.017834s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.drac.test_management.DracManagementInternalMethodsTestCase.test__is_boot_order_flexibly_programmable [0.018762s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_get_node_list_requested_fields_no_traits [0.023475s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.ansible.test_deploy.TestAnsibleMethods.test__get_python_interpreter [0.017049s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.drac.test_management.DracManagementInternalMethodsTestCase.test_set_boot_device_called_with_not_flexibly_programmable [0.022636s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.drac.test_bios.DracWSManBIOSConfigurationTestCase.test__check_last_system_inventory_changed_same_inventory_time [0.029850s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.ansible.test_deploy.TestAnsibleMethods.test__parse_ansible_driver_info_defaults [0.018359s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.ansible.test_deploy.TestAnsibleMethods.test__parse_ansible_driver_info_no_playbook [0.017738s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_get_nodeinfo_list_defaults [0.029462s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.drac.test_bios.DracWSManBIOSConfigurationTestCase.test__check_node_bios_jobs_completed_with_errors [0.034097s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_get_nodeinfo_list_description [0.022172s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.ansible.test_deploy.TestAnsibleMethods.test__parse_partitioning_info_root_msdos [0.017979s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.drac.test_bios.DracWSManBIOSConfigurationTestCase.test_cache_bios_settings_fail [0.027550s] ... ok DEBUG util.py:443: /builddir/build/BUILD/ironic-18.3.1.dev11/ironic/db/sqlalchemy/api.py:347: SAWarning: TypeDecorator JsonEncodedDict() will not produce a cache key because the ``cache_ok`` attribute is not set to True. This can have significant performance implications including some performance degradations in comparison to prior SQLAlchemy versions. Set this attribute to True if this type object's state is safe to use in a cache key, or False to disable this warning. (Background on this error at: https://sqlalche.me/e/14/cprf) DEBUG util.py:443: return query.all() DEBUG util.py:445: {1} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_get_nodeinfo_list_with_cols [0.026815s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.ansible.test_deploy.TestAnsibleMethods.test__parse_root_device_hints_override [0.030884s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.ansible.test_deploy.TestAnsibleMethods.test__prepare_variables [0.027798s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_get_nodeinfo_list_with_filters [0.035138s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.drac.test_bios.DracWSManBIOSConfigurationTestCase.test_cache_bios_settings_noop [0.054696s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_release_non_existent_node [0.027427s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.ansible.test_deploy.TestAnsibleMethods.test__prepare_variables_insecure_activated [0.028832s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.ansible.test_deploy.TestAnsibleMethods.test__run_playbook_default_verbosity_debug [0.019299s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_release_reservation [0.022017s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.ansible.test_deploy.TestAnsibleMethods.test__validate_clean_steps_missing [0.017515s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_reservation_of_reserved_node_fails [0.023114s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.drac.test_management.DracManagementInternalMethodsTestCase.test_set_boot_device_with_list_unfinished_jobs_with_clean_step [0.187816s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.ansible.test_deploy.TestAnsibleMethods.test__validate_clean_steps_names_not_unique [0.017121s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_tags_get_destroyed_after_destroying_a_node_by_uuid [0.028288s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.drac.test_bios.DracBIOSConfigurationTestCase.test_commit_config_fail [0.029114s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.drac.test_management.DracManagementTestCase.test_get_sensors_data [0.029584s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_touch_node_provisioning [0.023088s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.drac.test_management.DracManagementTestCase.test_get_supported_boot_devices [0.025218s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_update_node_associate_and_disassociate [0.022468s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.drac.test_bios.DracWSManBIOSConfigurationTestCase.test__check_node_bios_jobs [0.035859s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_update_node_inspection_finished_at [0.021589s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.drac.test_management.DracRedfishManagementTestCase.test__check_import_configuration_task [0.034631s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.drac.test_bios.DracWSManBIOSConfigurationTestCase.test__check_node_bios_jobs_failed [0.037639s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.drac.test_bios.DracWSManBIOSConfigurationTestCase.test_factory_reset_clean [0.184582s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_update_node_name_duplicate [0.023374s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.drac.test_management.DracRedfishManagementTestCase.test__set_failed_deploy [0.031889s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.drac.test_bios.DracWSManBIOSConfigurationTestCase.test__query_bios_config_job_status [0.027382s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_update_node_provision [0.021349s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.drac.test_bios.DracWSManBIOSConfigurationTestCase.test_validate [0.028263s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.drac.test_management.DracRedfishManagementTestCase.test__validate_conf_mold_interface_missing [0.021972s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.drac.test_bios.DracWSManBIOSConfigurationTestCase.test__query_bios_config_job_status_no_config_jobs [0.021360s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_volume_connector_get_destroyed_after_destroying_a_node_uuid [0.027410s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.drac.test_management.DracRedfishManagementTestCase.test_export_configuration_export_failed [0.020306s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.drac.test_boot.DracBootTestCase.test_validate_correct_vendor [0.025846s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.drac.test_bios.DracWSManBIOSConfigurationTestCase.test_apply_conf_commit_fail [0.033007s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.db.test_portgroups.DbportgroupTestCase.test_create_portgroup_duplicated_name [0.020355s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.drac.test_common.DracCommonMethodsTestCase.test_parse_driver_info_missing_port [0.018599s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.drac.test_management.DracRedfishManagementTestCase.test_import_configuration_success [0.030679s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.db.test_portgroups.DbportgroupTestCase.test_destroy_portgroup [0.024628s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.drac.test_inspect.DracInspectionTestCase.test__calculate_cpus [0.024853s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.drac.test_bios.DracWSManBIOSConfigurationTestCase.test_factory_reset_deploy [0.037626s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.db.test_portgroups.DbportgroupTestCase.test_get_portgroup_by_address [0.020941s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.drac.test_periodic_task.DracPeriodicTaskTestCase.test__check_node_raid_jobs_with_completed_job_in_clean [0.036767s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.drac.test_inspect.DracInspectionTestCase.test__get_pxe_dev_nics_with_BIOS_boot_mode [0.025818s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.db.test_portgroups.DbportgroupTestCase.test_get_portgroup_by_name_that_does_not_exist [0.019908s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.drac.test_periodic_task.DracPeriodicTaskTestCase.test__check_node_raid_jobs_with_completed_job_in_deploy [0.032104s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.db.test_portgroups.DbportgroupTestCase.test_get_portgroup_by_uuid [0.020942s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.drac.test_boot.DracBootTestCase.test__set_boot_device_disk [0.042729s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.drac.test_inspect.DracInspectionTestCase.test_inspect_hardware_no_gpu [0.041857s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.db.test_portgroups.DbportgroupTestCase.test_update_portgroup [0.020198s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.drac.test_boot.DracBootTestCase.test__set_boot_device_floppy [0.030251s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.drac.test_periodic_task.DracPeriodicTaskTestCase.test__check_node_raid_jobs_with_completed_with_errors_job [0.034655s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.db.test_ports.DbPortTestCase.test_create_port_duplicated_uuid [0.021651s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.drac.test_common.DracCommonMethodsTestCase.test_parse_driver_info [0.018674s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.drac.test_inspect.DracInspectionTestCase.test_inspect_hardware_with_existing_ports [0.033850s] ... 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.032192s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.db.test_ports.DbPortTestCase.test_get_port_by_address_filter_by_owner_no_match [0.021838s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.drac.test_common.DracCommonMethodsTestCase.test_parse_driver_info_missing_host [0.016706s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.drac.test_inspect.DracRedfishInspectionTestCase.test__get_mac_address_without_ethernet_interfaces [0.027175s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.drac.test_common.DracCommonMethodsTestCase.test_parse_driver_info_missing_protocol [0.016492s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.db.test_ports.DbPortTestCase.test_get_port_list_filter_by_node_owner [0.025873s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.drac.test_job.DracJobTestCase.test_list_unfinished_jobs [0.019832s] ... 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.035436s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.drac.test_inspect.DracInspectionTestCase.test__get_pxe_dev_nics_with_UEFI_boot_mode [0.024355s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.drac.test_periodic_task.DracPeriodicTaskTestCase.test__query_raid_config_job_status_drac_wsman [0.023232s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.db.test_ports.DbPortTestCase.test_get_port_list_sorted [0.026078s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.drac.test_management.DracManagementInternalMethodsTestCase.test__flexibly_program_boot_order_for_cdrom [0.019204s] ... 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.019403s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.db.test_ports.DbPortTestCase.test_get_ports_by_node_id_that_does_not_exist [0.020878s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.drac.test_inspect.DracInspectionTestCase.test_inspect_hardware_multiple_supported_gpu [0.030823s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.drac.test_periodic_task.DracPeriodicTaskTestCase.test__query_raid_config_job_status_no_nodes [0.018363s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.db.test_ports.DbPortTestCase.test_get_ports_by_portgroup_id_filter_by_node_project [0.022553s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.drac.test_management.DracManagementInternalMethodsTestCase.test__get_boot_device_not_persistent [0.023543s] ... 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.026212s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.db.test_ports.DbPortTestCase.test_get_ports_by_portgroup_id_filter_by_node_project_no_match [0.021049s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.drac.test_management.DracManagementInternalMethodsTestCase.test__is_boot_order_flexibly_programmable_with_no_bios_setting [0.020170s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.drac.test_inspect.DracRedfishInspectionTestCase.test_get_properties [0.017231s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.drac.test_job.DracJobTestCase.test_get_job_fail [0.017296s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.db.test_ports.DbPortTestCase.test_update_port [0.022330s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.drac.test_management.DracManagementInternalMethodsTestCase.test_set_boot_device_called_with_no_drac_boot_device [0.022580s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.drac.test_job.DracJobTestCase.test_validate_job_queue [0.019200s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.db.test_ports.DbPortTestCase.test_update_port_duplicated_address [0.022391s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.drac.test_management.DracManagementInternalMethodsTestCase.test_set_boot_device_job_not_scheduled [0.022937s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.drac.test_management.DracManagementInternalMethodsTestCase.test__get_boot_device [0.017992s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.db.test_ports.DbPortTestCase.test_update_port_uuid [0.018554s] ... 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.022701s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.drac.test_management.DracManagementInternalMethodsTestCase.test__get_next_persistent_boot_mode [0.017818s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.db.test_volume_targets.DbVolumeTargetTestCase.test_get_volume_target_by_uuid [0.018330s] ... 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.021176s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.drac.test_management.DracManagementInternalMethodsTestCase.test__get_next_persistent_boot_mode_list_boot_modes_fail [0.017655s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.drac.test_management.DracManagementInternalMethodsTestCase.test__get_next_persistent_boot_mode_with_non_persistent_boot_mode [0.018221s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.drac.test_management.DracManagementTestCase.test_set_boot_device [0.033773s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.drac.test_management.DracManagementInternalMethodsTestCase.test__is_boot_order_flexibly_programmable_not_persistent [0.017757s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.drac.test_management.DracManagementInternalMethodsTestCase.test_set_boot_device [0.020983s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.drac.test_management.DracRedfishManagementTestCase.test__check_import_configuration_task_failed [0.034679s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.drac.test_management.DracManagementTestCase.test_get_boot_device_from_driver_internal_info [0.024097s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.drac.test_management.DracRedfishManagementTestCase.test__check_import_configuration_task_missing [0.031515s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.drac.test_management.DracManagementTestCase.test_get_properties [0.018396s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.drac.test_management.DracRedfishManagementTestCase.test__check_import_configuration_task_still_processing [0.029771s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.drac.test_management.DracRedfishManagementTestCase.test__check_import_configuration_task_partial_failed [0.033267s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.db.test_volume_targets.DbVolumeTargetTestCase.test_get_volume_targets_by_node_id_that_does_not_exist [0.156822s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.dhcp.test_factory.TestDHCPFactory.test_default_dhcp [0.011980s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.drac.test_management.DracRedfishManagementTestCase.test__check_import_configuration_task_with_export_failed [0.030567s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.drac.test_management.DracRedfishManagementTestCase.test__check_import_configuration_task_with_export [0.033478s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.dhcp.test_factory.TestDHCPFactory.test_only_one_dhcp [0.012134s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.drac.test_management.DracRedfishManagementTestCase.test__query_import_configuration_not_drac [0.022729s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.dhcp.test_neutron.TestNeutron.test__get_fixed_ip_address [0.018593s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.drac.test_management.DracRedfishManagementTestCase.test__set_failed_clean [0.030370s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.drac.test_management.DracRedfishManagementTestCase.test__validate_conf_mold [0.017707s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.drac.test_management.DracRedfishManagementTestCase.test__query_import_configuration_status_no_task_monitor_url [0.022225s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.dhcp.test_neutron.TestNeutron.test__get_port_ip_address_cleaning [0.032664s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.drac.test_management.DracRedfishManagementTestCase.test__validate_conf_mold_data_missing [0.017707s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.drac.test_management.DracRedfishManagementTestCase.test__set_success_clean [0.030629s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.drac.test_management.DracRedfishManagementTestCase.test__validate_conf_mold_interface_not_supported [0.018093s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.dhcp.test_neutron.TestNeutron.test__get_port_ip_address_with_exception [0.028443s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.drac.test_management.DracRedfishManagementTestCase.test_export_configuration_name_missing [0.017287s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.drac.test_management.DracRedfishManagementTestCase.test__set_success_deploy [0.031360s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.drac.test_management.DracRedfishManagementTestCase.test_import_configuration_name_missing [0.017615s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.dhcp.test_neutron.TestNeutron.test_get_ip_addresses [0.029234s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.drac.test_management.DracRedfishManagementTestCase.test__validate_conf_mold_oem_missing [0.023294s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.drac.test_management.DracRedfishManagementTestCase.test_import_export_configuration_success [0.021710s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.dhcp.test_neutron.TestNeutron.test_update_dhcp_fails [0.028844s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.drac.test_management.DracRedfishManagementTestCase.test_clear_job_queue [0.034333s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.dhcp.test_neutron.TestNeutron.test_update_dhcp_some_failures [0.027196s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.drac.test_periodic_task.DracPeriodicTaskTestCase.test__check_node_raid_jobs_with_completed_job_already_failed_in_clean [0.036067s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.drac.test_management.DracRedfishManagementTestCase.test_import_configuration_file_not_found [0.019268s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.dhcp.test_neutron.TestNeutron.test_update_port_dhcp_opts_v4_and_v6 [0.027069s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.drac.test_periodic_task.DracPeriodicTaskTestCase.test__check_node_raid_jobs_with_completed_job_already_failed_in_deploy [0.032549s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.drac.test_management.DracRedfishManagementTestCase.test_known_good_state [0.033597s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.drac.test_periodic_task.DracPeriodicTaskTestCase.test__query_raid_config_job_status_no_config_jobs_drac [0.019231s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.ansible.test_deploy.TestAnsibleDeploy.test_clean_up [0.026828s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.drac.test_periodic_task.DracPeriodicTaskTestCase.test__check_node_raid_jobs_with_failed_job [0.034294s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.drac.test_power.DracPowerTestCase.test_reboot_retries_fail [0.030131s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.ansible.test_deploy.TestAnsibleDeploy.test_prepare_with_smartnic_port [0.033234s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.drac.test_power.DracPowerTestCase.test_set_power_state_fail [0.027760s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.ansible.test_deploy.TestAnsibleDeploy.test_tear_down_cleaning [0.026948s] ... 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.038147s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.drac.test_raid.DracCreateRaidConfigurationHelpersTestCase.test__calculate_spans_for_invalid_raid_level [0.021623s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.ansible.test_deploy.TestAnsibleDeploy.test_tear_down_cleaning_with_smartnic_port [0.026962s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.drac.test_raid.DracCreateRaidConfigurationHelpersTestCase.test__find_configuration_all_steps [0.020943s] ... 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.036273s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.ansible.test_deploy.TestAnsibleMethods.test__calculate_memory_req [0.026905s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.drac.test_raid.DracCreateRaidConfigurationHelpersTestCase.test__find_configuration_with_more_than_min_disks_for_raid_level [0.020134s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.drac.test_periodic_task.DracPeriodicTaskTestCase.test__check_node_raid_jobs_without_update [0.023114s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.drac.test_periodic_task.DracPeriodicTaskTestCase.test__query_raid_config_job_status_no_config_jobs_drac_wsman [0.018138s] ... 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.023612s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.ansible.test_deploy.TestAnsibleMethods.test__prepare_variables_configdrive_json [0.030769s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.drac.test_raid.DracManageVirtualDisksTestCase.test__commit_to_controllers_without_config_job [0.022201s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.drac.test_power.DracPowerTestCase.test_reboot_while_powered_on [0.028976s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.ansible.test_deploy.TestAnsibleMethods.test__prepare_variables_configdrive_url [0.028622s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.drac.test_raid.DracManageVirtualDisksTestCase.test_clear_foreign_config_fail [0.019673s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.ansible.test_deploy.TestAnsibleMethods.test__run_playbook_ansible_interpreter_override [0.017984s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.drac.test_power.DracPowerTestCase.test_reboot_while_powered_on_timeout [0.028830s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.drac.test_raid.DracManageVirtualDisksTestCase.test_commit_config [0.019543s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.drac.test_bios.DracBIOSConfigurationTestCase.test_abandon_config_fail [0.027061s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.drac.test_raid.DracManageVirtualDisksTestCase.test_commit_config_fail [0.018495s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.drac.test_raid.DracManageVirtualDisksTestCase.test_commit_config_with_realtime [0.018239s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.drac.test_bios.DracBIOSConfigurationTestCase.test_commit_config [0.027368s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.drac.test_raid.DracManageVirtualDisksTestCase.test_commit_config_with_reboot [0.018507s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.drac.test_bios.DracBIOSConfigurationTestCase.test_commit_config_with_reboot [0.027831s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.drac.test_raid.DracManageVirtualDisksTestCase.test_delete_virtual_disk_fail [0.018943s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.drac.test_raid.DracManageVirtualDisksTestCase.test_set_raid_settings [0.019982s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.drac.test_bios.DracBIOSConfigurationTestCase.test_get_config_fail [0.025250s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.drac.test_raid.DracQueryRaidConfigurationTestCase.test_list_virtual_disks [0.018582s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.drac.test_bios.DracWSManBIOSConfigurationTestCase.test_apply_conf_set_fail [0.028935s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.drac.test_raid.DracQueryRaidConfigurationTestCase.test_list_virtual_disks_fail [0.018422s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.drac.test_bios.DracWSManBIOSConfigurationTestCase.test_apply_configuration_deploy [0.033815s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.drac.test_raid.DracRaidInterfaceTestCase.test_create_configuration_in_deploy [0.042829s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.drac.test_boot.DracBootTestCase.test__set_boot_device_persistent [0.033423s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.drac.test_common.DracCommonMethodsTestCase.test_parse_driver_info_invalid_port [0.019210s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.drac.test_raid.DracRaidInterfaceTestCase.test_create_configuration_no_change [0.038595s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.drac.test_common.DracCommonMethodsTestCase.test_parse_driver_info_invalid_protocol [0.016896s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.drac.test_inspect.DracInspectionTestCase.test__calculate_cpus_without_ht_enabled [0.023731s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.drac.test_raid.DracRaidInterfaceTestCase.test_create_configuration_with_share_physical_disks [0.041468s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.drac.test_inspect.DracInspectionTestCase.test__get_pxe_dev_nics_with_empty_list [0.025740s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.drac.test_raid.DracRaidInterfaceTestCase.test_delete_configuration_no_change [0.036418s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.drac.test_power.DracPowerTestCase.test_reboot_retries_success [1.033075s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.drac.test_inspect.DracInspectionTestCase.test_inspect_hardware_fail [0.026940s] ... 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.039009s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.drac.test_inspect.DracInspectionTestCase.test_inspect_hardware_no_cpu [0.029550s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.drac.test_raid.DracRedfishRAIDTestCase.test__get_storage_controller_invalid_identity [0.018442s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.drac.test_raid.DracCreateRaidConfigurationHelpersTestCase.test__filter_logical_disks_excelude_all [0.046125s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.drac.test_inspect.DracInspectionTestCase.test_inspect_hardware_no_supported_gpu [0.033517s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.drac.test_raid.DracRedfishRAIDTestCase.test__query_raid_tasks_status_node_locked [0.022938s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.drac.test_raid.DracCreateRaidConfigurationHelpersTestCase.test__filter_logical_disks_root_only [0.031273s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.drac.test_raid.DracRedfishRAIDTestCase.test__query_raid_tasks_status_node_notfound [0.023688s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.drac.test_inspect.DracRedfishInspectionTestCase.test__get_pxe_port_macs_without_boot_mode [0.029331s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.drac.test_raid.DracCreateRaidConfigurationHelpersTestCase.test__max_volume_size_mb [0.021410s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.drac.test_raid.DracRedfishRAIDTestCase.test__retry_till_realtime_ready_retry_exceeded [0.019891s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.drac.test_job.DracJobTestCase.test_validate_job_queue_fail [0.019618s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.drac.test_raid.DracManageVirtualDisksTestCase.test_abandon_config_fail [0.018195s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.drac.test_job.DracJobTestCase.test_validate_job_queue_name_prefix [0.019400s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.drac.test_raid.DracManageVirtualDisksTestCase.test_change_physical_disk_state [0.019082s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.drac.test_raid.DracRedfishRAIDTestCase.test__set_success_deploy [0.031887s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.drac.test_job.DracJobTestCase.test_validate_job_queue_name_prefix_invalid [0.018564s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.drac.test_raid.DracManageVirtualDisksTestCase.test_create_virtual_disk_with_optional_attrs [0.018940s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.drac.test_raid.DracRedfishRAIDTestCase.test_create_configuration [0.023946s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.drac.test_raid.DracManageVirtualDisksTestCase.test_list_raid_settings [0.018384s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.drac.test_job.DracVendorPassthruJobTestCase.test_list_unfinished_jobs_fail [0.027983s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.drac.test_raid.DracRedfishRAIDTestCase.test_pre_create_configuration [0.020342s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.drac.test_raid.DracQueryRaidConfigurationTestCase.test_list_physical_disks [0.018049s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.drac.test_management.DracManagementInternalMethodsTestCase.test__flexibly_program_boot_order_for_disk_and_uefi [0.019598s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.drac.test_raid.DracRedfishRAIDTestCase.test_validate_correct_vendor [0.016689s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.drac.test_management.DracManagementInternalMethodsTestCase.test__get_boot_device_with_empty_boot_mode_list [0.019608s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.drac.test_raid.DracRaidInterfaceTestCase.test_apply_configuration [0.030444s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.drac.test_utils.DracUtilsOemManagerTestCase.test_execute_oem_manager_method_managers_fail [0.027173s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.drac.test_management.DracManagementInternalMethodsTestCase.test_set_boot_device_called_with_no_change [0.021185s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.drac.test_raid.DracRaidInterfaceTestCase.test_create_configuration_fails_if_not_enough_space [0.035203s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.drac.test_utils.DracUtilsOemManagerTestCase.test_execute_oem_manager_method_oem_not_found [0.027155s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.drac.test_management.DracManagementInternalMethodsTestCase.test_set_boot_device_called_with_unknown_boot_mode [0.022662s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.ibmc.test_management.IBMCManagementTestCase.test_get_properties [0.024652s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.drac.test_management.DracManagementInternalMethodsTestCase.test_set_boot_device_with_list_unfinished_jobs_fail [0.021755s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.drac.test_raid.DracRaidInterfaceTestCase.test_create_configuration_fails_with_sharing_disabled [0.036029s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.drac.test_management.DracManagementInternalMethodsTestCase.test_set_boot_device_with_list_unfinished_jobs_without_clean_step [0.022243s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.ibmc.test_management.IBMCManagementTestCase.test_get_sensors_data [0.023163s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.drac.test_management.DracManagementTestCase.test_clear_job_queue [0.028937s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.drac.test_raid.DracRaidInterfaceTestCase.test_create_configuration_with_backing_physical_disks [0.046262s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.ibmc.test_power.IBMCPowerRebootTestCase.test_reboot [0.039406s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.drac.test_management.DracManagementTestCase.test_get_boot_device [0.026376s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.ibmc.test_power.IBMCPowerRebootTestCase.test_reboot_timeout [0.032969s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.drac.test_raid.DracRaidInterfaceTestCase.test_create_configuration_with_max_size [0.041094s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.drac.test_management.DracManagementTestCase.test_known_good_state [0.030953s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.ibmc.test_power.IBMCPowerTestCase.test_get_properties [0.023576s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.drac.test_raid.DracRaidInterfaceTestCase.test_create_configuration_with_predefined_number_of_physical_disks [0.043458s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.drac.test_management.DracManagementTestCase.test_reset_idrac [0.030284s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.ibmc.test_raid.IbmcRAIDTestCase.test_sync_create_configuration_without_delete [0.038163s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.drac.test_management.DracManagementTestCase.test_set_boot_device_fail [0.031398s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.ibmc.test_utils.IBMCUtilsTestCase.test_parse_driver_info_invalid_address [0.019173s] ... 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.041743s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.ibmc.test_utils.IBMCUtilsTestCase.test_parse_driver_info_invalid_string_value_verify_ca [0.019563s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.drac.test_raid.DracRedfishRAIDTestCase.test__change_physical_disk_state_attribute_error [0.020832s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.drac.test_management.DracRedfishManagementTestCase.test__check_import_configuration_task_partial_failed_idrac5 [0.036383s] ... 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.020108s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.drac.test_management.DracRedfishManagementTestCase.test__query_import_configuration_status [0.024190s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.drac.test_raid.DracRedfishRAIDTestCase.test__check_raid_tasks_status_task_failed [0.035195s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.ibmc.test_utils.IBMCUtilsTestCase.test_revert_dictionary [0.022383s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.drac.test_management.DracRedfishManagementTestCase.test__query_import_configuration_status_node_locked [0.025082s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.drac.test_raid.DracRedfishRAIDTestCase.test__clear_foreign_config_attribute_error [0.020020s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.drac.test_management.DracRedfishManagementTestCase.test__query_import_configuration_status_node_notfound [0.024010s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.drac.test_raid.DracRedfishRAIDTestCase.test__query_raid_tasks_status [0.023895s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.ilo.test_bios.IloBiosTestCase.test__execute_post_boot_bios_get_settings_error_cleaning [0.040657s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.drac.test_management.DracRedfishManagementTestCase.test__validate_conf_mold_data_empty [0.019548s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.drac.test_raid.DracRedfishRAIDTestCase.test__query_raid_tasks_status_no_task_monitor_url [0.024178s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.ilo.test_bios.IloBiosTestCase.test__execute_post_boot_bios_get_settings_error_deploying [0.041976s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.drac.test_management.DracRedfishManagementTestCase.test_export_configuration_success [0.027554s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.drac.test_raid.DracRedfishRAIDTestCase.test__query_raid_tasks_status_not_drac [0.023873s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.drac.test_management.DracRedfishManagementTestCase.test_import_configuration_incorrect_schema [0.021175s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.drac.test_raid.DracRedfishRAIDTestCase.test__retry_till_realtime_ready_retry_fails [0.030931s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.drac.test_management.DracRedfishManagementTestCase.test_reset_idrac [0.037354s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.ilo.test_bios.IloBiosTestCase.test__execute_post_boot_bios_step_iloobj_failed_deploy [0.062420s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.drac.test_periodic_task.DracPeriodicTaskTestCase.test__query_raid_config_job_status_drac [0.024512s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.drac.test_raid.DracRedfishRAIDTestCase.test__set_success_clean [0.055276s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.drac.test_raid.DracRedfishRAIDTestCase.test__wait_till_realtime_ready [0.018820s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.drac.test_power.DracPowerTestCase.test_get_power_state [0.027325s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.ilo.test_bios.IloBiosTestCase.test__execute_pre_boot_bios_step_apply_configuration [0.041665s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.drac.test_utils.DracUtilsOemManagerTestCase.test_execute_oem_manager_method_no_managers [0.027958s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.drac.test_power.DracPowerTestCase.test_get_power_state_fail [0.026487s] ... 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.030899s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.drac.test_power.DracPowerTestCase.test_get_properties [0.020818s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.ibmc.test_management.IBMCManagementTestCase.test_get_boot_device [0.030185s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.drac.test_power.DracPowerTestCase.test_reboot_retries_power_change_success [0.031009s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.ibmc.test_management.IBMCManagementTestCase.test_get_boot_mode [0.028488s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.ilo.test_bios.IloBiosTestCase.test__execute_pre_boot_bios_step_reset_bios_failed_deploying [0.036787s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.ilo.test_bios.IloBiosTestCase.test__execute_pre_boot_bios_step_set_bios_failed_cleaning [0.037046s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.ibmc.test_power.IBMCPowerTestCase.test_get_power_state [0.030194s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.ibmc.test_power.IBMCPowerTestCase.test_set_power_state_fail [0.031801s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.ilo.test_bios.IloBiosTestCase.test__execute_pre_boot_bios_step_set_bios_failed_deploying [0.033622s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.ilo.test_boot.IloBootCommonMethodsTestCase.test_parse_driver_info_deploy_deprecated [0.018903s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.ibmc.test_power.IBMCPowerTestCase.test_set_power_state_not_reached [0.037564s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.ilo.test_boot.IloBootCommonMethodsTestCase.test_parse_driver_info_rescue [0.018572s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.ilo.test_boot.IloBootCommonMethodsTestCase.test_parse_driver_info_rescue_config [0.018870s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.ibmc.test_power.IBMCPowerTestCase.test_set_power_state_timeout [0.033979s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.ilo.test_boot.IloBootPrivateMethodsTestCase.test__disable_secure_boot_exception [0.031794s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.ibmc.test_raid.IbmcRAIDTestCase.test_sync_create_configuration_with_delete [0.040694s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.ilo.test_boot.IloBootPrivateMethodsTestCase.test__get_boot_iso_http_url [0.035381s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.ibmc.test_raid.IbmcRAIDTestCase.test_sync_delete_configuration_success [0.034580s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.ilo.test_boot.IloBootPrivateMethodsTestCase.test__validate_driver_info [0.029434s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.ibmc.test_utils.IBMCUtilsTestCase.test_parse_driver_info_valid_capath [0.019194s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.ilo.test_boot.IloBootPrivateMethodsTestCase.test_prepare_node_for_deploy [0.030375s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.ibmc.test_vendor.IBMCVendorTestCase.test_list_boot_type_order [0.028361s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.ilo.test_boot.IloBootPrivateMethodsTestCase.test_prepare_node_for_deploy_inst_info [0.029728s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.ibmc.test_vendor.IBMCVendorTestCase.test_validate [0.028717s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.ilo.test_boot.IloUefiHttpsBootTestCase.test__parse_driver_info_rescue_mode [0.032246s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.ilo.test_bios.IloBiosTestCase.test__execute_post_boot_bios_get_settings_failed_deploying [0.031799s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.ilo.test_boot.IloUefiHttpsBootTestCase.test__validate_hrefs_https_image [0.026011s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.ilo.test_bios.IloBiosTestCase.test__execute_post_boot_bios_step_apply_configuration [0.028455s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.ilo.test_boot.IloUefiHttpsBootTestCase.test__validate_instance_image_info [0.028715s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.ilo.test_bios.IloBiosTestCase.test__execute_pre_boot_bios_step_apply_conf_cleaning [0.031539s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.ilo.test_bios.IloBiosTestCase.test__execute_pre_boot_bios_step_invalid_deploying [0.024881s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.ilo.test_boot.IloUefiHttpsBootTestCase.test_prepare_ramdisk_glance_image_cleaning [0.040064s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.ilo.test_bios.IloBiosTestCase.test_apply_configuration_post_boot [0.026898s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.ilo.test_boot.IloUefiHttpsBootTestCase.test_prepare_ramdisk_middle_of_clean_step [0.043994s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.ilo.test_bios.IloBiosTestCase.test_apply_configuration_pre_boot [0.027965s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.ilo.test_bios.IloBiosTestCase.test_cache_bios_settings [0.026180s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.ilo.test_boot.IloUefiHttpsBootTestCase.test_prepare_ramdisk_rescue_not_a_glance_image [0.039006s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.ilo.test_bios.IloBiosTestCase.test_validate [0.023981s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.ilo.test_boot.IloUefiHttpsBootTestCase.test_validate [0.031934s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.ilo.test_boot.IloBootCommonMethodsTestCase.test_parse_driver_info_bootloader_none [0.017347s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.ilo.test_boot.IloBootCommonMethodsTestCase.test_parse_driver_info_deploy [0.017489s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.ilo.test_boot.IloUefiHttpsBootTestCase.test_validate_ramdisk_boot_option_glance [0.031121s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.ilo.test_boot.IloBootCommonMethodsTestCase.test_parse_driver_info_deploy_iso [0.016850s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.ilo.test_boot.IloUefiHttpsBootTestCase.test_validate_rescue [0.029629s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.ilo.test_boot.IloBootPrivateMethodsTestCase.test__disable_secure_boot_false [0.027991s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.ilo.test_boot.IloBootPrivateMethodsTestCase.test__get_boot_iso_create [0.027569s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.ilo.test_boot.IloBootPrivateMethodsTestCase.test_prepare_node_for_deploy_sec_boot_on_inst_info [0.026775s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.ilo.test_boot.IloPXEBootTestCase.test_clean_up_instance [0.027199s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.ilo.test_boot.IloPXEBootTestCase.test_clean_up_instance_boot_from_volume [0.033622s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.ilo.test_boot.IloPXEBootTestCase.test_prepare_instance [0.029651s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.ilo.test_boot.IloUefiHttpsBootTestCase.test_validate_rescue_no_rescue_ramdisk [0.172062s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.ilo.test_boot.IloUefiHttpsBootTestCase.test__parse_driver_info_invalid_params [0.030567s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.ilo.test_boot.IloVirtualMediaBootTestCase.test_clean_up_instance_deleting [0.033790s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.ilo.test_boot.IloUefiHttpsBootTestCase.test_prepare_instance_boot_ramdisk [0.037292s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.ilo.test_boot.IloVirtualMediaBootTestCase.test_prepare_ramdisk_not_a_glance_image [0.039451s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.ilo.test_boot.IloUefiHttpsBootTestCase.test_prepare_instance_image_local [0.031732s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.ilo.test_boot.IloUefiHttpsBootTestCase.test_prepare_instance_partition_image [0.034431s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.ilo.test_boot.IloVirtualMediaBootTestCase.test_prepare_ramdisk_rescue_not_a_glance_image [0.040006s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.ilo.test_boot.IloUefiHttpsBootTestCase.test_validate_bios [0.029656s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.ilo.test_boot.IloVirtualMediaBootTestCase.test_validate_boot_from_volume [0.028517s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.ilo.test_boot.IloVirtualMediaBootTestCase.test_validate_ramdisk_boot_option_glance [0.032084s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.ilo.test_boot.IloUefiHttpsBootTestCase.test_validate_ramdisk_boot_option_webserver_exc [0.033492s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.ilo.test_boot.IloVirtualMediaBootTestCase.test_validate_rescue_deprecated [0.029813s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.ilo.test_boot.IloVirtualMediaBootTestCase.test_prepare_instance_boot_from_volume_bios [0.030943s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.ilo.test_boot.IloiPXEBootTestCase.test_clean_up_instance_boot_from_volume [0.034882s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.ilo.test_boot.IloVirtualMediaBootTestCase.test_prepare_ramdisk_glance_image [0.044776s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.ilo.test_boot.IloiPXEBootTestCase.test_prepare_instance_bios [0.029945s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.drac.test_power.DracPowerTestCase.test_reboot_while_powered_off [1.035887s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.ilo.test_boot.IloiPXEBootTestCase.test_prepare_ramdisk_in_cleaning [0.031751s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.ilo.test_boot.IloVirtualMediaBootTestCase.test_prepare_ramdisk_in_takeover [0.065703s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test__get_certificate_file_list_empty [0.019584s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.ilo.test_boot.IloVirtualMediaBootTestCase.test_validate_inspection [0.025331s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test__prepare_floppy_image_use_webserver [0.031107s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.ilo.test_boot.IloVirtualMediaBootTestCase.test_validate_inspection_missing [0.024572s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_attach_vmedia [0.020432s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.ilo.test_boot.IloVirtualMediaBootTestCase.test_validate_ramdisk_boot_option_webserver_exc [0.031789s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_cleanup_vmedia_boot_exc [0.035470s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.ilo.test_boot.IloVirtualMediaBootTestCase.test_validate_rescue_no_rescue_ramdisk [0.026844s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_cleanup_vmedia_boot_exc_resource_not_found [0.037520s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.ilo.test_boot.IloiPXEBootTestCase.test_clean_up_instance_boot_from_volume_bios [0.028044s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_cleanup_vmedia_boot_for_webserver [0.029179s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_add_certificates_None [0.028604s] ... 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.024461s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_add_certificates_false [0.028159s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_get_current_boot_mode [0.021189s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_attach_vmedia_fails [0.018835s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_get_ilo_object_cafile [0.020627s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_cleanup_vmedia_boot [0.034742s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_get_secure_boot_mode [0.028337s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_clear_certificates_raises_ilo_error [0.028750s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_get_secure_boot_mode_bios [0.028774s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_copy_image_to_web_server [0.020680s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_get_secure_boot_mode_not_supported [0.030400s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_copy_image_to_web_server_fails [0.019938s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_get_current_boot_mode_fail [0.019046s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_get_server_post_state [0.030089s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_get_ilo_object_cafile_boolean [0.020668s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_set_boot_mode_without_set_pending_boot_mode [0.019811s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.drac.test_power.DracPowerTestCase.test_set_power_state [2.579600s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_get_server_post_state_not_supported [0.029358s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_setup_uefi_https_scheme_http [0.042426s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.drac.test_raid.DracCreateRaidConfigurationHelpersTestCase.test__calculate_spans_for_2_disk_and_raid_level_1 [0.041951s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_remove_image_from_swift_suppresses_notfound_exc [0.031932s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_setup_vmedia [0.030897s] ... 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.021060s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_set_boot_mode [0.021476s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.drac.test_raid.DracCreateRaidConfigurationHelpersTestCase.test__calculate_spans_for_7_disk_and_raid_level_50 [0.034476s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_setup_vmedia_without_params [0.034503s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.drac.test_raid.DracCreateRaidConfigurationHelpersTestCase.test__filter_logical_disks_nonroot_only [0.025144s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_setup_uefi_https_raises_ilo_error [0.032083s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_update_boot_mode_unknown_except [0.031348s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.drac.test_raid.DracCreateRaidConfigurationHelpersTestCase.test__find_configuration_pending_delete [0.021738s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_update_boot_mode [0.032470s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.drac.test_raid.DracCreateRaidConfigurationHelpersTestCase.test__validate_volume_size_requested_more_than_actual_size [0.024962s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_update_boot_mode_use_def_boot_mode [0.033073s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_update_boot_mode_capabilities_exist [0.027197s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.drac.test_raid.DracCreateRaidConfigurationHelpersTestCase.test__volume_usage_per_disk_mb [0.021626s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_verify_image_checksum [0.021040s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_verify_image_checksum_throws_for_failed_validation [0.020412s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.drac.test_raid.DracManageVirtualDisksTestCase.test__commit_to_controllers_with_config_job [0.022149s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_update_boot_mode_legacy [0.029641s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.ilo.test_common.IloValidateParametersTestCase.test_parse_driver_info_invalid_multiple_params [0.017754s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.drac.test_raid.DracManageVirtualDisksTestCase.test_abandon_config [0.019393s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_validate_security_parameter_values_invalid_param [0.018470s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.ilo.test_common.IloValidateParametersTestCase.test_parse_driver_info_missing_multiple_params [0.017304s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.drac.test_raid.DracManageVirtualDisksTestCase.test_clear_foreign_config [0.019693s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_validate_security_parameter_values_no_param [0.018647s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.ilo.test_common.IloValidateParametersTestCase.test_parse_driver_info_missing_username [0.018079s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.drac.test_raid.DracManageVirtualDisksTestCase.test_create_virtual_disk_fail [0.020112s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.ilo.test_common.IloValidateParametersTestCase.test_parse_driver_info_ca_file_and_snmp_inspection_true [0.017977s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.ilo.test_common.IloValidateParametersTestCase.test_parse_driver_info_path_verify_ca_dir [0.018608s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.drac.test_raid.DracQueryRaidConfigurationTestCase.test_list_raid_controllers [0.019052s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.ilo.test_common.IloValidateParametersTestCase.test_parse_driver_info_invalid_cafile [0.018602s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.ilo.test_common.IloValidateParametersTestCase.test_parse_driver_info_path_verify_ca_file [0.018486s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.ilo.test_common.IloValidateParametersTestCase.test_parse_driver_info_invalid_port [0.017686s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.drac.test_raid.DracQueryRaidConfigurationTestCase.test_list_raid_controllers_fail [0.019022s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.ilo.test_common.IloValidateParametersTestCase.test_parse_driver_info_snmp_inspection_false [0.017578s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.ilo.test_common.IloValidateParametersTestCase.test_parse_driver_info_missing_address [0.017099s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.ilo.test_common.IloValidateParametersTestCase.test_parse_driver_info_snmp_inspection_true_raises [0.017277s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.ilo.test_common.IloValidateParametersTestCase.test_parse_driver_info_snmp_true_invalid_auth_protocol [0.018476s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.drac.test_raid.DracRaidInterfaceTestCase.test_create_configuration_fails_if_disk_already_reserved [0.035755s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.ilo.test_common.IloValidateParametersTestCase.test_parse_driver_info_verify_ca_string_false [0.017406s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.ilo.test_common.IloValidateParametersTestCase.test_parse_driver_info_snmp_true_no_auth_priv_protocols [0.018949s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.ilo.test_console.IloConsoleInterfaceTestCase.test_validate_exc [0.027429s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.ilo.test_common.IloValidateParametersTestCase.test_parse_driver_info_verify_ca_boolean_false [0.018951s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.drac.test_raid.DracRaidInterfaceTestCase.test_create_configuration_in_clean [0.040182s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.ilo.test_firmware_processor.FirmwareProcessorTestCase.test__download_http_based_fw_to_downloads_the_fw_file [0.020156s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.ilo.test_firmware_processor.FirmwareProcessorTestCase.test__remove_webserver_based_me [0.022219s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.ilo.test_firmware_processor.FirmwareProcessorTestCase.test_fw_img_loc_sets_these_attributes [0.012108s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.drac.test_raid.DracRaidInterfaceTestCase.test_create_configuration_with_multiple_controllers [0.040029s] ... 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.034288s] ... 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.025751s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.drac.test_raid.DracRaidInterfaceTestCase.test_create_configuration_with_nested_raid_10 [0.041837s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.ilo.test_firmware_processor.FirmwareProcessorTestCase.test_process_fw_on_verifies_checksum_of_downloaded_fw_file [0.053719s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.ilo.test_firmware_processor.FirmwareProcessorTestCase.test__remove_file_based_me [0.022025s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.ilo.test_firmware_processor.FirmwareProcessorTestCase.test__remove_swift_based_me [0.022974s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.drac.test_raid.DracRaidInterfaceTestCase.test_create_configuration_with_nested_raid_level [0.042639s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.ilo.test_firmware_processor.FirmwareProcessorTestCase.test__validate_sum_components_fails [0.017418s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.ilo.test_firmware_processor.FirmwareProcessorTestCase.test_get_and_validate_firmware_image_info_sum [0.012708s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.ilo.test_firmware_processor.FirmwareProcessorTestCase.test_verify_firmware_update_args_throws_for_invalid_update_mode [0.012151s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.drac.test_raid.DracRaidInterfaceTestCase.test_delete_configuration_in_deploy [0.041081s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.ilo.test_firmware_processor.FirmwareProcessorTestCase.test_verify_firmware_update_args_throws_for_no_firmware_url [0.012109s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.drac.test_raid.DracRaidInterfaceTestCase.test_get_logical_disks [0.031707s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.ilo.test_inspect.IloInspectTestCase.test_get_properties [0.027222s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.drac.test_raid.DracRedfishRAIDTestCase.test__check_raid_tasks_status [0.033645s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.ilo.test_inspect.IloInspectTestCase.test_inspect_essential_capabilities_ok [0.033315s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.drac.test_raid.DracRedfishRAIDTestCase.test__is_realtime_ready [0.025784s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.ilo.test_inspect.IloInspectTestCase.test_inspect_essential_ok_local_gb_zero [0.182939s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.ilo.test_inspect.IloInspectTestCase.test_inspect_essential_ok [0.033367s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.drac.test_raid.DracRedfishRAIDTestCase.test__retry_till_realtime_ready [0.020337s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.ilo.test_inspect.IloInspectTestCase.test_inspect_ok_gen10 [0.033455s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.ilo.test_inspect.IloInspectTestCase.test_inspect_essential_ok_power_off [0.033433s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.drac.test_raid.DracRedfishRAIDTestCase.test__set_failed_clean [0.031428s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.ilo.test_inspect.TestInspectPrivateMethods.test___create_supported_capabilities_dict_excluded_capability [0.018143s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.drac.test_raid.DracRedfishRAIDTestCase.test__wait_till_realtime_ready_retryerror [0.025365s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.ilo.test_inspect.TestInspectPrivateMethods.test__get_essential_properties_hardware_port_not_dict [0.017368s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.ilo.test_inspect.IloInspectTestCase.test_inspect_ok_gen8 [0.033577s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.ilo.test_inspect.TestInspectPrivateMethods.test__validate_essential_keys_fail_missing_key [0.016686s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.ilo.test_inspect.TestInspectPrivateMethods.test__get_essential_properties_fail_invalid_format [0.017801s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.drac.test_raid.DracRedfishRAIDTestCase.test_post_delete_configuration_foreign_async [0.027584s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.ilo.test_inspect.TestInspectPrivateMethods.test__get_essential_properties_fail_mac_invalid_format [0.018331s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.ilo.test_management.Ilo5ManagementTestCase.test_erase_devices_hdd_with_erase_pattern_zero [0.034490s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.ibmc.test_management.IBMCManagementTestCase.test_get_supported_boot_devices [0.030204s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.ilo.test_management.Ilo5ManagementTestCase.test_clear_ca_certificates_ilo_operation_not_supported [0.030974s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.ibmc.test_management.IBMCManagementTestCase.test_get_supported_boot_modes [0.022984s] ... 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.027627s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.ilo.test_management.Ilo5ManagementTestCase.test_erase_devices_completed [0.034503s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.ibmc.test_management.IBMCManagementTestCase.test_inject_nmi_fail [0.032254s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.ilo.test_management.Ilo5ManagementTestCase.test_erase_devices_ssd [0.040099s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.ilo.test_management.Ilo5ManagementTestCase.test_erase_devices_hdd_with_invalid_device_type_erase_pattern [0.062248s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.ilo.test_management.Ilo5ManagementTestCase.test_erase_devices_when_no_drive_available [0.068235s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.ibmc.test_management.IBMCManagementTestCase.test_set_boot_device [0.084195s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.ilo.test_management.Ilo5ManagementTestCase.test_one_button_secure_erase_ilo_error [0.040594s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test__execute_ilo_step_fail_deploy [0.032805s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.ibmc.test_management.IBMCManagementTestCase.test_set_boot_mode [0.039782s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test__write_firmware_sum_final_environment_error_deploy [0.046567s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test__write_firmware_sum_final_swift_error_clean [0.038448s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.ibmc.test_management.IBMCManagementTestCase.test_set_boot_mode_fail [0.037013s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.ibmc.test_management.IBMCManagementTestCase.test_validate [0.036487s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test__write_firmware_sum_final_unknown_exception_deploy [0.058763s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test__write_firmware_sum_final_unknown_exception_clean [0.055511s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test__write_firmware_sum_final_without_logs_deploy [0.041037s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.ibmc.test_power.IBMCPowerRebootTestCase.test_reboot_not_reached [0.046029s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test__write_firmware_sum_final_with_logs_clean [0.051026s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.ibmc.test_power.IBMCPowerTestCase.test_get_supported_power_states [0.024444s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test_activate_license [0.047743s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.ibmc.test_power.IBMCPowerTestCase.test_validate [0.026825s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test__write_firmware_sum_final_without_logs_clean [0.052863s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test_activate_license_no_or_invalid_format_license_key [0.037628s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.ibmc.test_raid.IbmcRAIDTestCase.test_sync_create_configuration_failed [0.050330s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test_clear_iscsi_boot_target_failed [0.046071s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test_get_boot_device_next_boot [0.042079s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test_clear_iscsi_boot_target_in_bios [0.041802s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test_flash_firmware_sum_mode_with_component [0.039194s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test_get_supported_boot_devices [0.072457s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test_get_properties [0.029741s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test_inject_nmi_failed [0.043525s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test_get_sensor_data [0.031050s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test_get_supported_boot_modes_2___uefi_only_____uefi___ [0.027269s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test_inject_nmi_not_supported [0.033176s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test_reset_ilo [0.034337s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test_reset_bios_to_default [0.052955s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test_set_boot_device_fail [0.033278s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test_reset_ilo_credential_pass_as_arg_ok [0.037145s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test_set_boot_device_ok [0.031093s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test_security_parameters_update [0.037351s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test_set_boot_device_persistent_fail [0.043680s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test_set_boot_mode [0.030624s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test_set_iscsi_boot_target_failed [0.042842s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test_set_iscsi_boot_target_without_auth [0.046739s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test_update_firmware_cleans_all_files_if_exc_thrown_clean [0.056021s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test_update_firmware_calls_step_foreach_url_clean [0.048518s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test_update_firmware_cleans_all_files_if_exc_thrown_deploy [0.043800s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test_update_firmware_error_for_checksum_validation_error_deploy [0.048414s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test_update_firmware_doesnt_update_any_if_any_url_fails_clean [0.041354s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test_update_firmware_error_for_invalid_component_type_deploy [0.035118s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test_update_firmware_doesnt_update_any_if_any_url_fails_deploy [0.044385s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test_write_firmware_sum_mode_invalid_component_deploy [0.039263s] ... 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.038797s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test_write_firmware_sum_mode_without_component_deploy [0.042093s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test_update_minimum_password_length [0.044090s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.ilo.test_power.IloPowerInternalMethodsTestCase.test__get_power_state [0.035835s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.ilo.test_power.IloPowerInternalMethodsTestCase.test__set_power_state_soft_power_off_fail [0.029297s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test_write_firmware_sum_mode_swift_url_clean [0.032736s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.ilo.test_power.IloPowerTestCase.test_set_power_state_no_timeout [0.054091s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test_write_firmware_sum_mode_swift_url_deploy [0.056883s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.ilo.test_power.IloPowerTestCase.test_set_power_state_timeout [0.035486s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.ilo.test_power.IloPowerTestCase.test_validate_fail [0.028252s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.ilo.test_raid.Ilo5RAIDTestCase.test_create_configuration_cleaning [0.198110s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.drac.test_power.DracPowerTestCase.test_set_power_state_timeout [2.647457s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.drac.test_raid.DracCreateRaidConfigurationHelpersTestCase.test__calculate_spans_for_7_disk_and_raid_level_10 [0.025701s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.drac.test_raid.DracCreateRaidConfigurationHelpersTestCase.test__find_configuration [0.060638s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.ilo.test_raid.Ilo5RAIDTestCase.test_create_configuration_skip_non_root_cleaning [0.220771s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.drac.test_raid.DracManageVirtualDisksTestCase.test__change_physical_disk_mode [0.131931s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.ilo.test_raid.Ilo5RAIDTestCase.test_create_configuration_skip_root_cleaning [0.149408s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.drac.test_raid.DracManageVirtualDisksTestCase.test__reset_raid_config [0.094645s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.ilo.test_raid.Ilo5RAIDTestCase.test_create_configuration_skip_root_skip_non_root_cleaning [0.145212s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.drac.test_raid.DracManageVirtualDisksTestCase.test__reset_raid_config_fail [0.252408s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.drac.test_raid.DracManageVirtualDisksTestCase.test_create_virtual_disk [0.136093s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.ilo.test_raid.Ilo5RAIDTestCase.test_create_configuration_with_read_raid_cleaning [0.299886s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.drac.test_raid.DracManageVirtualDisksTestCase.test_delete_virtual_disk [0.178009s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.drac.test_raid.DracQueryRaidConfigurationTestCase.test_list_physical_disks_fail [0.162107s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.ilo.test_raid.Ilo5RAIDTestCase.test_create_configuration_with_read_raid_failed_deploying [0.438221s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.ilo.test_raid.Ilo5RAIDTestCase.test_delete_configuration_cleaning [0.050249s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.ilo.test_raid.Ilo5RAIDTestCase.test_delete_configuration_deploying [0.033816s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.ilo.test_raid.Ilo5RAIDTestCase.test_delete_configuration_ilo_error_deploying [0.034632s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.ilo.test_raid.Ilo5RAIDTestCase.test_delete_configuration_no_logical_drive_cleaning [0.032670s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.ilo.test_raid.Ilo5RAIDTestCase.test_delete_configuration_no_logical_drive_deploying [0.032516s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.ilo.test_raid.Ilo5RAIDTestCase.test_delete_configuration_with_read_raid_cleaning [0.036159s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.drac.test_raid.DracRaidInterfaceTestCase.test__execute_foreign_drives_with_foreign_drives [0.380630s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.ilo.test_raid.Ilo5RAIDTestCase.test_delete_configuration_with_read_raid_failed_cleaning [0.037980s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.ilo.test_raid.Ilo5RAIDTestCase.test_delete_configuration_with_read_raid_failed_deploying [0.038090s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.ilo.test_vendor.VendorPassthruTestCase.test__validate_boot_into_iso_manage [0.028358s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.intel_ipmi.test_management.IntelIPMIManagementTestCase.test_configure_intel_speedselect_more_socket [0.028628s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCDeployPrivateMethodsTestCase.test__attach_virtual_cd_ok [0.029814s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCDeployPrivateMethodsTestCase.test__detach_virtual_cd_fail [0.028038s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCDeployPrivateMethodsTestCase.test__detach_virtual_fd_fail [0.028893s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCDeployPrivateMethodsTestCase.test__get_floppy_image_name [0.040799s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCDeployPrivateMethodsTestCase.test__parse_driver_info_deprecated [0.023145s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCDeployPrivateMethodsTestCase.test__parse_driver_info_kernel_params [0.020485s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.ilo.test_power.IloPowerInternalMethodsTestCase.test__set_power_state_off_fail [2.052110s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCDeployPrivateMethodsTestCase.test__parse_driver_info_not_in_share [0.037913s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCDeployPrivateMethodsTestCase.test__parse_instance_info_with_boot_iso_deprecated [0.094978s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCDeployPrivateMethodsTestCase.test_attach_boot_iso_if_needed [0.062802s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.drac.test_raid.DracRaidInterfaceTestCase.test__execute_foreign_drives_with_no_foreign_drives [0.499746s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCDeployPrivateMethodsTestCase.test_setup_vmedia_with_image_service_deploy [0.051392s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCPXEBootBasicTestCase.test_clean_up_ramdisk [0.085697s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.drac.test_raid.DracRaidInterfaceTestCase.test_create_configuration_delete_existing [0.405384s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCPXEBootBasicTestCase.test_prepare_ramdisk_cleaning [0.455462s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.drac.test_raid.DracRaidInterfaceTestCase.test_create_configuration_with_max_size_and_share_physical_disks [0.374748s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.ilo.test_power.IloPowerInternalMethodsTestCase.test__set_power_state_on_ok [1.083461s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.ilo.test_power.IloPowerInternalMethodsTestCase.test__set_power_state_reboot_fail [0.144959s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.ibmc.test_utils.IBMCUtilsTestCase.test_handle_ibmc_exception_retry [4.041801s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCPXEBootBasicTestCase.test_prepare_ramdisk_set_boot_mode_on_ironic [0.561882s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.drac.test_raid.DracRaidInterfaceTestCase.test_create_configuration_with_max_size_without_backing_disks [0.391046s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.ibmc.test_utils.IBMCUtilsTestCase.test_parse_driver_info [0.179085s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.ibmc.test_utils.IBMCUtilsTestCase.test_parse_driver_info_default_scheme [0.117471s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.ibmc.test_utils.IBMCUtilsTestCase.test_parse_driver_info_default_scheme_with_port [0.091826s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.ibmc.test_utils.IBMCUtilsTestCase.test_parse_driver_info_invalid_value_verify_ca [0.099520s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.ibmc.test_utils.IBMCUtilsTestCase.test_parse_driver_info_missing_info [0.017127s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.ilo.test_bios.IloBiosTestCase.test__execute_post_boot_bios_step_factory_reset [0.032592s] ... 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.468556s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.ilo.test_bios.IloBiosTestCase.test__execute_post_boot_bios_step_invalid_cleaning [0.049686s] ... 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.036957s] ... 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.035309s] ... 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.588831s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.ilo.test_bios.IloBiosTestCase.test__execute_pre_boot_bios_step_iloobj_failed_cleaning [0.028885s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.ilo.test_bios.IloBiosTestCase.test__execute_pre_boot_bios_step_invalid_cleaning [0.028962s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.ilo.test_bios.IloBiosTestCase.test__execute_pre_boot_bios_step_reset_bios_failed_cleaning [0.030921s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.ilo.test_bios.IloBiosTestCase.test_cache_bios_settings_invalid_parameter [0.026248s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.drac.test_raid.DracRaidInterfaceTestCase.test_create_configuration_without_drives_conversion [0.234690s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.ilo.test_bios.IloBiosTestCase.test_cache_bios_settings_missing_parameter [0.067888s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.ilo.test_bios.IloBiosTestCase.test_cache_bios_settings_with_unknown_error [0.045925s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.drac.test_raid.DracRaidInterfaceTestCase.test_delete_configuration_in_clean [0.091810s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.ilo.test_bios.IloBiosTestCase.test_get_properties [0.061222s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.drac.test_raid.DracRedfishRAIDTestCase.test__check_raid_tasks_status_task_still_processing [0.142991s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.ilo.test_boot.IloBootCommonMethodsTestCase.test_parse_driver_info_deploy_config [0.116654s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.ilo.test_boot.IloBootCommonMethodsTestCase.test_parse_driver_info_rescue_iso [0.034089s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCPXEBootBasicTestCase.test_prepare_ramdisk_uefi [0.524470s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.ilo.test_boot.IloBootPrivateMethodsTestCase.test__get_boot_iso_swift_image [0.231725s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.ilo.test_boot.IloBootPrivateMethodsTestCase.test__parse_deploy_info [0.023306s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.drac.test_raid.DracRedfishRAIDTestCase.test__set_failed_deploy [0.397056s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.ilo.test_boot.IloBootPrivateMethodsTestCase.test__validate_instance_image_info [0.088916s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCPXEBootBasicTestCase.test_validate_fail_glance_conn_problem [0.349817s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCPXEBootBasicTestCase.test_validate_fail_no_port [0.190011s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.ilo.test_boot.IloBootPrivateMethodsTestCase.test_prepare_node_for_deploy_sec_boot_on [0.314980s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.drac.test_raid.DracRedfishRAIDTestCase.test_delete_configuration [0.357925s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCPXEBootBasicTestCase.test_validate_inspection [0.135352s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCPXEBootBasicTestCase.test_validate_inspection_no_inspection_ramdisk [0.221927s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.drac.test_raid.DracRedfishRAIDTestCase.test_post_delete_configuration_foreign_sync [0.290300s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.ilo.test_power.IloPowerInternalMethodsTestCase.test__set_power_state_soft_power_off_ok [2.332070s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.ilo.test_boot.IloPXEBootTestCase.test_prepare_instance_bios [0.666352s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.drac.test_utils.DracUtilsOemManagerTestCase.test_execute_oem_manager_method [0.625388s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.ilo.test_boot.IloPXEBootTestCase.test_prepare_ramdisk_in_rescuing [0.666065s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCPXEBootTestCase.test_prepare_instance [0.729542s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.ibmc.test_management.IBMCManagementTestCase.test_inject_nmi [0.494866s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.ibmc.test_management.IBMCManagementTestCase.test_set_boot_device_fail [0.101958s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.ibmc.test_power.IBMCPowerRebootTestCase.test_reboot_fail [0.214718s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.ilo.test_boot.IloUefiHttpsBootTestCase.test__parse_driver_info_default_mode [0.882230s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCPXEBootTestCase.test_prepare_ramdisk_without_backup_bios [0.839979s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.ibmc.test_power.IBMCPowerTestCase.test_set_power_state [0.871340s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCVirtualMediaBootTestCase.test__configure_vmedia_boot [0.522727s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCVirtualMediaBootTestCase.test_prepare_instance_whole_disk_image [0.057294s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCVirtualMediaBootTestCase.test_validate_rescue_ramdisk_not_exist [0.033364s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCVirtualMediaBootWithVolumeTestCase.test__configure_boot_from_volume_fc [0.236232s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCVirtualMediaBootWithVolumeTestCase.test__configure_boot_from_volume_iscsi_chap [0.271689s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCVirtualMediaBootWithVolumeTestCase.test_clean_up_instance [0.043678s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCVirtualMediaBootWithVolumeTestCase.test_prepare_instance [0.081165s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.ilo.test_power.IloPowerInternalMethodsTestCase.test__set_power_state_soft_power_off_timeout [3.147754s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCVirtualMediaBootWithVolumeTestCase.test_prepare_ramdisk_skip [0.279429s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.ibmc.test_raid.IbmcRAIDTestCase.test_sync_create_configuration_without_nonroot [1.239134s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.ilo.test_boot.IloUefiHttpsBootTestCase.test_clean_up_instance [2.163114s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.ilo.test_boot.IloUefiHttpsBootTestCase.test_prepare_instance_whole_disk_image [0.035713s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCVirtualMediaBootWithVolumeTestCase.test_validate_invalid_physical_id_in_lan_port [0.742713s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.ilo.test_boot.IloUefiHttpsBootTestCase.test_prepare_ramdisk_not_a_glance_image_cleaning [0.380844s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.ibmc.test_raid.IbmcRAIDTestCase.test_sync_create_configuration_without_root [1.141614s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.ilo.test_boot.IloUefiHttpsBootTestCase.test_validate_inspection_missing [0.317592s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCVirtualMediaBootWithVolumeTestCase.test_validate_iscsi_connector_no_ip [0.744518s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.ibmc.test_raid.IbmcRAIDTestCase.test_sync_delete_configuration_failed [0.342352s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCVirtualMediaBootWithVolumeTestCase.test_validate_iscsi_connector_no_netmask [0.551220s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.ilo.test_boot.IloVirtualMediaBootTestCase.test__configure_vmedia_boot_with_boot_iso [0.849785s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.ibmc.test_utils.IBMCUtilsTestCase.test_parse_driver_info_path_verify_ca [0.637084s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.ilo.test_boot.IloVirtualMediaBootTestCase.test_clean_up_instance_rescuing [0.527233s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.ibmc.test_vendor.IBMCVendorTestCase.test_get_properties [0.674243s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCVirtualMediaBootWithVolumeTestCase.test_validate_no_physical_id_in_lan_port [0.974525s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.irmc.test_common.IRMCCommonMethodsTestCase.test_get_irmc_report_cert_support_https [0.164513s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.irmc.test_common.IRMCCommonMethodsTestCase.test_out_range_port [0.018562s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.irmc.test_common.IRMCCommonMethodsTestCase.test_out_range_sensor_method [0.019162s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.irmc.test_common.IRMCCommonMethodsTestCase.test_set_secure_boot_mode_enable [0.023516s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.ilo.test_boot.IloVirtualMediaBootTestCase.test_prepare_instance_whole_disk_image [0.600818s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.ibmc.test_vendor.IBMCVendorTestCase.test_list_raid_controller [0.455043s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.irmc.test_common.IRMCCommonMethodsTestCase.test_update_ipmi_properties [0.135347s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.ilo.test_bios.IloBiosTestCase.test__execute_post_boot_bios_get_settings_failed_cleaning [0.161503s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.ilo.test_bios.IloBiosTestCase.test__execute_post_boot_bios_step_iloobj_failed_cleaning [0.109337s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.irmc.test_common.IRMCValidateParametersTestCase.test_parse_driver_info_invalid_snmp_security [0.265466s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.ilo.test_boot.IloVirtualMediaBootTestCase.test_prepare_instance_whole_disk_image_local [0.574335s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.irmc.test_common.IRMCValidateParametersTestCase.test_parse_driver_info_missing_multiple_params [0.355612s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.ilo.test_power.IloPowerInternalMethodsTestCase.test__set_power_state_soft_reboot_fail_to_on [4.256544s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.irmc.test_common.IRMCValidateParametersTestCase.test_parse_driver_info_short_snmp_priv_password [0.197901s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.ilo.test_bios.IloBiosTestCase.test__execute_post_boot_bios_step_invalid_deploy [0.653820s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.ilo.test_power.IloPowerTestCase.test_get_properties [0.162832s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.irmc.test_common.IRMCValidateParametersTestCase.test_parse_snmp_driver_info_with_snmp [0.212475s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.ilo.test_boot.IloVirtualMediaBootTestCase.test_prepare_ramdisk_not_a_glance_image_cleaning [0.531997s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.ilo.test_power.IloPowerTestCase.test_reboot_with_timeout [0.126380s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.ilo.test_power.IloPowerTestCase.test_validate [0.053831s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.ilo.test_bios.IloBiosTestCase.test__execute_pre_boot_bios_step_factory_reset_cleaning [0.540457s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.irmc.test_inspect.IRMCInspectTestCase.test_inspect_hardware_mac_already_exist [0.501877s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.ilo.test_boot.IloVirtualMediaBootTestCase.test_validate_ramdisk_boot_option_webserver [0.478267s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.ilo.test_bios.IloBiosTestCase.test_cache_bios_settings_with_ilo_error [0.286901s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.ilo.test_boot.IloVirtualMediaBootTestCase.test_validate_rescue [0.370400s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.ilo.test_boot.IloBootCommonMethodsTestCase.test_parse_driver_info_deploy_iso_deprecated [0.199032s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.irmc.test_inspect.IRMCInspectTestCase.test_inspect_hardware_props_pci_gpu_devices_return_zero [0.509401s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.ilo.test_raid.Ilo5RAIDTestCase.test__prepare_for_read_raid_delete_raid_cleaning [0.672682s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.ilo.test_boot.IloBootCommonMethodsTestCase.test_parse_driver_info_exc [0.170271s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.ilo.test_raid.Ilo5RAIDTestCase.test_create_configuration_deploying [0.110224s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.ilo.test_boot.IloiPXEBootTestCase.test_prepare_instance [0.323782s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.ilo.test_boot.IloBootPrivateMethodsTestCase.test__disable_secure_boot_true [0.432832s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.ilo.test_raid.Ilo5RAIDTestCase.test_create_configuration_empty_target_raid_config_deploying [0.444060s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.ilo.test_boot.IloiPXEBootTestCase.test_prepare_instance_boot_from_volume [0.559435s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.ilo.test_boot.IloBootPrivateMethodsTestCase.test__get_boot_iso_glance_image [0.413034s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test__get_certificate_file_list_empty_no_path [0.158783s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.ilo.test_boot.IloPXEBootTestCase.test_clean_up_instance_boot_from_volume_bios [0.102024s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.ilo.test_raid.Ilo5RAIDTestCase.test_create_configuration_with_read_raid_deploying [0.538340s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.ilo.test_boot.IloPXEBootTestCase.test_prepare_instance_boot_from_volume [0.171335s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test__get_certificate_file_list_string_type [0.291863s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.ilo.test_boot.IloPXEBootTestCase.test_prepare_ramdisk_in_cleaning [0.218568s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test__get_floppy_image_name [0.219632s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.ilo.test_boot.IloPXEBootTestCase.test_prepare_ramdisk_in_deploying [0.181905s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.ilo.test_raid.Ilo5RAIDTestCase.test_delete_configuration_ilo_error_cleaning [0.619317s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.ilo.test_boot.IloUefiHttpsBootTestCase.test__parse_deploy_info [0.211820s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test__prepare_floppy_image [0.409169s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.ilo.test_boot.IloUefiHttpsBootTestCase.test__validate_hrefs_http_image [0.069480s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.ilo.test_vendor.VendorPassthruTestCase.test_boot_into_iso [0.244899s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.ilo.test_boot.IloUefiHttpsBootTestCase.test_clean_up_ramdisk [0.103269s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.ilo.test_boot.IloUefiHttpsBootTestCase.test_prepare_ramdisk_glance_image [0.065416s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.ilo.test_boot.IloUefiHttpsBootTestCase.test_prepare_ramdisk_not_a_glance_image [0.048234s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.ilo.test_boot.IloUefiHttpsBootTestCase.test_prepare_ramdisk_rescue_glance_image [0.048633s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.ilo.test_boot.IloUefiHttpsBootTestCase.test_validate_inspection [0.026952s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_add_certificates_true [0.422783s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.ilo.test_boot.IloUefiHttpsBootTestCase.test_validate_ramdisk_boot_option_webserver [0.167175s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.intel_ipmi.test_intel_ipmi.IntelIPMIHardwareTestCase.test_override_with_shellinabox [0.463820s] ... ok DEBUG util.py:443: /builddir/build/BUILD/ironic-18.3.1.dev11/ironic/drivers/modules/irmc/inspect.py:287: RuntimeWarning: coroutine 'AsyncMockMixin._execute_mock_call' was never awaited DEBUG util.py:443: new_port.create() DEBUG util.py:443: RuntimeWarning: Enable tracemalloc to get the object allocation traceback DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.irmc.test_inspect.IRMCInspectTestCase.test_inspect_hardware_with_power_off [2.614382s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_add_certificates_true_default [0.369159s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.irmc.test_management.IRMCManagementFunctionsTestCase.test__restore_bios_config_corrupted [0.118606s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.irmc.test_management.IRMCManagementFunctionsTestCase.test__restore_bios_config_failed [0.052790s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.irmc.test_management.IRMCManagementFunctionsTestCase.test_backup_bios_config [0.037006s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.irmc.test_management.IRMCManagementTestCase.test_management_interface_get_supported_boot_devices [0.033809s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.irmc.test_management.IRMCManagementTestCase.test_management_interface_inject_nmi_fail [0.034739s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.irmc.test_management.IRMCManagementTestCase.test_management_interface_set_boot_device_ng [0.032532s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.intel_ipmi.test_management.IntelIPMIManagementTestCase.test_configure_intel_speedselect_empty [0.569609s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.irmc.test_management.IRMCManagementTestCase.test_management_interface_set_boot_device_ok_bios [0.082284s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.irmc.test_management.IRMCManagementTestCase.test_validate [0.029770s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.irmc.test_periodic_task.iRMCPeriodicTaskTestCase.test__query_raid_config_fgi_status_with_clean_fail [0.036102s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_clear_certificates [0.584031s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.intel_ipmi.test_management.IntelIPMIManagementTestCase.test_configure_intel_speedselect_error [0.242479s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.irmc.test_periodic_task.iRMCPeriodicTaskTestCase.test__query_raid_config_fgi_status_without_fgi_status [0.228868s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.intel_ipmi.test_management.IntelIPMIManagementTestCase.test_configure_intel_speedselect_invalid_input [0.256684s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_eject_vmedia_devices [0.304575s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.irmc.test_periodic_task.iRMCPeriodicTaskTestCase.test__query_raid_config_fgi_status_without_input [0.273718s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.ilo.test_boot.IloVirtualMediaBootTestCase.test_clean_up_instance_boot_from_volume [1.444887s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_eject_vmedia_devices_raises [0.361863s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.irmc.test_power.IRMCPowerInternalMethodsTestCase.test__set_power_state_invalid_target_state [0.362345s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_get_secure_boot_mode_fail [0.084877s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.irmc.test_bios.IRMCBIOSTestCase.test_apply_configuration [0.530485s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_get_server_post_state_fail [0.068327s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.ilo.test_boot.IloVirtualMediaBootTestCase.test_clean_up_instance_boot_from_volume_bios [0.447979s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.irmc.test_power.IRMCPowerInternalMethodsTestCase.test__set_power_state_reboot_ok [0.301736s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_remove_image_from_swift_suppresses_operror_exc [0.249808s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.irmc.test_bios.IRMCBIOSTestCase.test_apply_configuration_failed [0.348804s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_remove_image_from_web_server [0.126048s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.ilo.test_boot.IloVirtualMediaBootTestCase.test_clean_up_ramdisk [0.410649s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.irmc.test_power.IRMCPowerTestCase.test_reboot_reboot [0.418217s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCDeployPrivateMethodsTestCase.test__attach_virtual_fd_ok [0.390236s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCDeployPrivateMethodsTestCase.test__cleanup_vmedia_boot_ok [0.040317s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_set_secure_boot_mode [0.457202s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_setup_uefi_https_persistent_true [0.263562s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.irmc.test_power.IRMCPowerTestCase.test_set_power_state_timeout [0.578520s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.ilo.test_boot.IloVirtualMediaBootTestCase.test_prepare_instance_boot_from_volume [0.668445s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.ilo.test_boot.IloVirtualMediaBootTestCase.test_prepare_instance_boot_ramdisk [0.218841s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.irmc.test_power.IRMCPowerTestCase.test_validate [0.327132s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_setup_uefi_https_raises_not_supported [0.476194s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.irmc.test_power.IRMCPowerTestCase.test_validate_fail [0.058343s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCDeployPrivateMethodsTestCase.test__detach_virtual_cd_ok [0.975211s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.ilo.test_boot.IloVirtualMediaBootTestCase.test_prepare_instance_partition_image [0.352440s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_setup_vmedia_for_boot_with_swift [0.438534s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCDeployPrivateMethodsTestCase.test__detach_virtual_fd_ok [0.351703s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.irmc.test_raid.IRMCRaidConfigurationInternalMethodsTestCase.test___fail_validation_without_raid_level [0.547861s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_update_boot_mode_instance_info_exists [0.250005s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.irmc.test_raid.IRMCRaidConfigurationInternalMethodsTestCase.test__fail_validate_capacity_raid_0 [0.231804s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCDeployPrivateMethodsTestCase.test__parse_config_option_non_existed_root [0.268890s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.ilo.test_boot.IloVirtualMediaBootTestCase.test_prepare_ramdisk_glance_image_cleaning [0.643555s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.irmc.test_raid.IRMCRaidConfigurationInternalMethodsTestCase.test__fail_validation_with_difference_physical_disks_type [0.133577s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.irmc.test_raid.IRMCRaidConfigurationInternalMethodsTestCase.test__fail_validation_with_duplicated_physical_disks [0.153801s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_update_boot_mode_prop_boot_mode_exist [0.490233s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCDeployPrivateMethodsTestCase.test__parse_driver_info_kernel_params_in_driver_info [0.386943s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.ilo.test_boot.IloVirtualMediaBootTestCase.test_prepare_ramdisk_not_iso [0.346730s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCDeployPrivateMethodsTestCase.test__parse_instance_info_with_boot_iso_glance_ok [0.314490s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_update_boot_mode_unknown [0.318634s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.irmc.test_raid.IRMCRaidConfigurationTestCase.test_create_raid_with_raid_5_and_0 [0.458336s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_update_ipmi_properties [0.206578s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_validate_security_parameter_values [0.068967s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCDeployPrivateMethodsTestCase.test__parse_instance_info_with_boot_iso_invalid [0.378202s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.ilo.test_boot.IloVirtualMediaBootTestCase.test_prepare_ramdisk_rescue_glance_image [0.647684s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.irmc.test_raid.IRMCRaidConfigurationTestCase.test_delete_raid_configuration [0.447354s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.ilo.test_common.IloValidateParametersTestCase.test_parse_driver_info_invalid_timeout [0.243392s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCDeployPrivateMethodsTestCase.test__parse_instance_info_without_boot_iso_ok [0.366774s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.network.test_common.TestCommonFunctions.test__get_free_portgroups_and_ports_neutron [0.400965s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.ilo.test_common.IloValidateParametersTestCase.test_parse_driver_info_invalid_value_verify_ca [0.241022s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.ilo.test_boot.IloVirtualMediaBootTestCase.test_validate [0.644883s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCDeployPrivateMethodsTestCase.test__prepare_floppy_image [0.355790s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.ilo.test_common.IloValidateParametersTestCase.test_parse_driver_info_verify_ca_boolean_true [0.235532s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.ilo.test_boot.IloiPXEBootTestCase.test_clean_up_instance [0.268463s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.network.test_common.TestCommonFunctions.test__get_free_portgroups_and_ports_no_port_physnets [0.486433s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.ilo.test_console.IloConsoleInterfaceTestCase.test_validate [0.388129s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCDeployPrivateMethodsTestCase.test__prepare_floppy_image_exception [0.486847s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.ilo.test_boot.IloiPXEBootTestCase.test_prepare_ramdisk_in_deploying [0.330986s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.ilo.test_firmware_processor.FirmwareProcessorTestCase.test__download_swift_based_fw_to_calls__download_http_based_fw_to [0.175487s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.network.test_common.TestCommonFunctions.test__get_free_portgroups_and_ports_physnet1 [0.445391s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.ilo.test_boot.IloiPXEBootTestCase.test_prepare_ramdisk_in_rescuing [0.256240s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCDeployPrivateMethodsTestCase.test__setup_vmedia_for_boot_with_parameters [0.394809s] ... 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.372686s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test__get_certificate_file_list [0.228456s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.network.test_common.TestCommonFunctions.test__get_free_portgroups_and_ports_physnet2 [0.569561s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test__get_certificate_file_list_none [0.278420s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCDeployPrivateMethodsTestCase.test__setup_vmedia_for_boot_without_parameters [0.568381s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCDeployPrivateMethodsTestCase.test_attach_boot_iso_if_needed_deprecated [0.099229s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.ilo.test_firmware_processor.FirmwareProcessorTestCase.test__extract_fw_from_file_doesnt_upload_firmware [0.605094s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCDeployPrivateMethodsTestCase.test_attach_boot_iso_if_needed_on_rebuild [0.147651s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_add_certificates_invalid [0.488994s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.network.test_common.TestCommonFunctions.test_get_free_port_like_object_ignores_empty_portgroup [0.578032s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.ilo.test_firmware_processor.FirmwareProcessorTestCase.test__extract_fw_from_file_sets_loc_obj_remove_to_file_if_no_upload [0.311534s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.network.test_common.TestCommonFunctions.test_get_free_port_like_object_no_matching_physnets [0.263641s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCPXEBootBasicTestCase.test_clean_up_ramdisk_rescue [0.430244s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.ilo.test_firmware_processor.FirmwareProcessorTestCase.test__extract_fw_from_file_sets_loc_obj_remove_to_swift [0.239276s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_add_certificates_raises_ilo_error [0.393299s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.ilo.test_firmware_processor.FirmwareProcessorTestCase.test__extract_fw_from_file_sets_loc_obj_remove_to_webserver [0.227349s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_clear_certificates_default [0.231049s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCPXEBootBasicTestCase.test_get_properties [0.340487s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.network.test_common.TestCommonFunctions.test_get_free_port_like_object_portgroup_physnet_match_first [0.373982s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_copy_image_to_swift [0.153910s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCPXEBootBasicTestCase.test_prepare_instance_netboot_missing_root_uuid [0.125139s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.ilo.test_firmware_processor.FirmwareProcessorTestCase.test__extract_fw_from_file_uploads_firmware_to_webserver [0.269744s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCPXEBootBasicTestCase.test_prepare_instance_ramdisk_pxe_conf_exists [0.063881s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.ilo.test_firmware_processor.FirmwareProcessorTestCase.test__validate_sum_components [0.087182s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.ilo.test_firmware_processor.FirmwareProcessorTestCase.test_fw_processor_ctor_throws_exception_with_invalid_firmware_url [0.036640s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCPXEBootBasicTestCase.test_prepare_ramdisk_conflicting_boot_modes_set_unsupported [0.185565s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCPXEBootBasicTestCase.test_validate_fail_no_image_kernel_ramdisk_props [0.058400s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.ilo.test_firmware_processor.FirmwareProcessorTestCase.test_get_and_validate_firmware_image_info_fails_for_empty_parameter [0.145098s] ... 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.016475s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCPXEBootBasicTestCase.test_validate_good [0.062795s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCPXEBootBasicTestCase.test_validate_kickstart_fail_http_url_not_set [0.039232s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.ilo.test_firmware_processor.FirmwareProcessorTestCase.test_get_and_validate_firmware_image_info_sum_with_component [0.166075s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCPXEBootBasicTestCase.test_validate_kickstart_missing_stage2_id [0.110355s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.network.test_common.TestCommonFunctions.test_get_free_port_like_object_ports [0.623980s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCPXEBootBasicTestCase.test_validate_skip_check_write_image_false [0.094517s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_destroy_floppy_image_from_web_server [0.651384s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCPXEBootTestCase.test_prepare_ramdisk_with_backup_bios [0.064640s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.network.test_common.TestCommonFunctions.test_plug_port_to_tenant_network_no_client [0.353768s] ... 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.559326s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_get_ilo_object_snmp [0.573969s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.ilo.test_inspect.IloInspectTestCase.test_inspect_essential_capabilities_exist_ok [0.255377s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_remove_image_from_swift [0.334214s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.network.test_common.TestNeutronVifPortIDMixin.test_port_changed_address_VIF_MAC_update_fail [0.707589s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.ilo.test_inspect.IloInspectTestCase.test_validate [0.304829s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.ilo.test_inspect.TestInspectPrivateMethods.test___create_supported_capabilities_dict [0.023910s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.ilo.test_inspect.TestInspectPrivateMethods.test___create_supported_capabilities_dict_gpu_capabilities [0.209262s] ... 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.380551s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.ilo.test_inspect.TestInspectPrivateMethods.test__get_capabilities_ok [0.129181s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.ilo.test_inspect.TestInspectPrivateMethods.test__get_essential_properties_ok [0.057121s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.network.test_common.TestNeutronVifPortIDMixin.test_port_changed_address_no_vif_id [0.510336s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.network.test_common.TestNeutronVifPortIDMixin.test_port_changed_client_id [0.166104s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_set_boot_mode_with_IloOperationError [0.384837s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.ilo.test_management.Ilo5ManagementTestCase.test_clear_ca_certificates [0.365558s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_set_secure_boot_mode_fail [0.259711s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.network.test_common.TestNeutronVifPortIDMixin.test_port_changed_client_id_no_vif_id [0.392101s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.ilo.test_management.Ilo5ManagementTestCase.test_clear_ca_certificates_ilo_operation_error [0.245962s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.ilo.test_management.Ilo5ManagementTestCase.test_erase_devices_hdd [0.120973s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.ilo.test_management.Ilo5ManagementTestCase.test_erase_devices_hdd_ilo_error [0.214348s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.ilo.test_management.Ilo5ManagementTestCase.test_erase_devices_hdd_with_invalid_erase_pattern [0.104118s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.ilo.test_management.Ilo5ManagementTestCase.test_erase_devices_ssd_when_hdd_done [0.196710s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_set_secure_boot_mode_not_supported [0.741756s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test_get_boot_device_fail [0.159474s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.network.test_common.TestNeutronVifPortIDMixin.test_port_changed_novif_nopxe_portgroup_nostandalone_ports [0.836934s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test_get_boot_mode_fail [0.157134s] ... 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.050016s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test_get_supported_boot_modes_3___legacy_bios_and_uefi_____uefi____bios___ [0.027787s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test_inject_nmi [0.033551s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test_reset_ilo_credential_no_password [0.040526s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_setup_uefi_https_persistent_false [0.498166s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test_reset_ilo_credential_ok [0.045514s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test_reset_secure_boot_keys_to_default [0.032441s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test_set_boot_device_invalid_device [0.032999s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test_set_boot_device_persistent_true [0.033279s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test_set_boot_mode_fail [0.032246s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test_set_iscsi_boot_target_in_bios [0.057443s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test_set_iscsi_boot_target_missed_properties [0.038897s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.network.test_common.TestNeutronVifPortIDMixin.test_port_changed_novif_nopxe_portgroup_standalone_ports [0.545347s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test_set_iscsi_boot_target_with_auth [0.042216s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_setup_vmedia_for_boot_with_parameters [0.270440s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test_update_firmware_calls_step_foreach_url_deploy [0.048127s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test_update_firmware_error_for_no_firmware_url_clean [0.039538s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test_update_firmware_invalid_update_mode_provided_clean [0.036081s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test_update_firmware_sum_mode_with_component [0.030551s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test_validate [0.063870s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.ilo.test_power.IloPowerInternalMethodsTestCase.test__attach_boot_iso_if_needed_on_rebuild [0.028981s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.ilo.test_power.IloPowerInternalMethodsTestCase.test__set_power_state_invalid_state [0.035587s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_setup_vmedia_for_boot_with_url [0.301690s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_verify_image_checksum_throws_for_nonexistent_file [0.158201s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.network.test_common.TestNeutronVifPortIDMixin.test_port_changed_vif_nopxe_portgroup_nostandalone_ports [0.644735s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.ilo.test_common.IloValidateParametersTestCase.test_parse_driver_info_missing_password [0.146429s] ... 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.041276s] ... 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.280472s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.network.test_common.TestNeutronVifPortIDMixin.test_update_portgroup_nostandalone_ports_novif_nopxe_ports [0.406087s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.network.test_common.TestNeutronVifPortIDMixin.test_update_portgroup_nostandalone_ports_novif_pxe_ports [0.211171s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.ilo.test_common.IloValidateParametersTestCase.test_parse_driver_info_verify_ca_default_value [0.386829s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.ilo.test_power.IloPowerInternalMethodsTestCase.test__set_power_state_reboot_ok [1.057803s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.ilo.test_firmware_processor.FirmwareProcessorTestCase.test__download_file_based_fw_to_copies_file_to_target [0.170831s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.network.test_common.TestNeutronVifPortIDMixin.test_update_portgroup_standalone_ports_novif_pxe_ports [0.280773s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.ilo.test_firmware_processor.FirmwareProcessorTestCase.test__download_file_based_fw_to_gets_invoked_for_file_based_firmware [0.125550s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.ilo.test_firmware_processor.FirmwareProcessorTestCase.test__download_http_based_fw_to_gets_invoked_for_http_based_firmware [0.014510s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.network.test_common.TestNeutronVifPortIDMixin.test_vif_attach_active_node_failure [0.134396s] ... 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.014087s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.ilo.test_firmware_processor.FirmwareProcessorTestCase.test_fw_processor_ctor_sets_parsed_url_attrib_of_fw_processor [0.013787s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.ilo.test_firmware_processor.FirmwareProcessorTestCase.test_get_and_validate_firmware_image_info [0.011768s] ... 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.011714s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.ilo.test_firmware_processor.FirmwareProcessorTestCase.test_get_and_validate_firmware_image_info_sum_invalid_component [0.013044s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.network.test_common.TestNeutronVifPortIDMixin.test_vif_attach_multiple_segment_mappings [0.075454s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.ilo.test_firmware_processor.FirmwareProcessorTestCase.test_process_fw_on_calls__download_fw_to [0.071731s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.network.test_common.TestNeutronVifPortIDMixin.test_vif_attach_portgroup_no_address [0.135050s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.ilo.test_firmware_processor.FirmwareProcessorTestCase.test_process_fw_on_calls__extract_fw_from_file [0.108191s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.ilo.test_inspect.TestInspectPrivateMethods.test__get_essential_properties_fail [0.254739s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.network.test_common.TestNeutronVifPortIDMixin.test_vif_attach_portgroup_physnet_inconsistent [0.384747s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.ilo.test_inspect.TestInspectPrivateMethods.test__get_essential_properties_hardware_port_empty [0.261050s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.ilo.test_inspect.TestInspectPrivateMethods.test__validate_ok [0.057697s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.network.test_common.TestNeutronVifPortIDMixin.test_vif_detach [0.257905s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.network.test_common.TestNeutronVifPortIDMixin.test_vif_detach_active_node [0.212840s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.ilo.test_management.Ilo5ManagementTestCase.test_clear_ca_certificates_clear_flag [0.326776s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.network.test_common.TestNeutronVifPortIDMixin.test_vif_detach_active_node_failure [0.378166s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.ilo.test_management.Ilo5ManagementTestCase.test_one_button_secure_erase [0.328874s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.network.test_common.TestNeutronVifPortIDMixin.test_vif_detach_portgroup [0.074033s] ... 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.045539s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.network.test_common.TestVifPortIDMixin.test__get_vif_id_by_port_like_obj_not_attached [0.033873s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test__execute_ilo_step_fail_clean [0.135406s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.network.test_common.TestVifPortIDMixin.test_get_current_vif_internal_info_provisioning [0.054377s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.network.test_common.TestVifPortIDMixin.test_get_current_vif_none [0.054933s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.network.test_common.TestVifPortIDMixin.test_vif_list_extra_and_internal_priority [0.080909s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.ilo.test_power.IloPowerInternalMethodsTestCase.test__set_power_state_soft_reboot_ok [2.088522s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test__execute_ilo_step_not_supported [0.276390s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.network.test_common.TestVifPortIDMixin.test_vif_list_port_and_portgroup [0.083270s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.network.test_flat.TestFlatInterface.test__bind_flat_ports_set_binding_host_id [0.057964s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.network.test_flat.TestFlatInterface.test_add_cleaning_network [0.060244s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.network.test_flat.TestFlatInterface.test_remove_cleaning_network [0.042511s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test__execute_ilo_step_ok [0.184137s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.network.test_flat.TestFlatInterface.test_remove_provisioning_network [0.034599s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.network.test_flat.TestFlatInterface.test_validate_inspection [0.035826s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.network.test_flat.TestFlatInterface.test_vif_list [0.065388s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.network.test_flat.TestFlatInterface.test_vif_port_changed [0.107496s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test__write_firmware_sum_final_environment_error_clean [0.269056s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.network.test_neutron.NeutronInterfaceTestCase.test_add_cleaning_network [0.149519s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.network.test_neutron.NeutronInterfaceTestCase.test_add_inspection_network_with_sg [0.301858s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test__write_firmware_sum_final_swift_error_deploy [0.417639s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test__write_firmware_sum_final_with_logs_deploy [0.216603s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test_clear_iscsi_boot_target [0.222060s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.network.test_neutron.NeutronInterfaceTestCase.test_add_rescuing_network [0.556636s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test_clear_secure_boot_keys [0.267513s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.network.test_neutron.NeutronInterfaceTestCase.test_configure_tenant_networks [0.394214s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test_get_boot_device_persistent [0.559590s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.network.test_neutron.NeutronInterfaceTestCase.test_configure_tenant_networks_multiple_ports_one_vif_id [0.414956s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test_get_boot_device_persistent_fail [0.337518s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.network.test_neutron.NeutronInterfaceTestCase.test_configure_tenant_networks_with_portgroups_no_address [0.438800s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test_get_boot_mode [0.235179s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.network.test_neutron.NeutronInterfaceTestCase.test_get_node_network_data [0.218987s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test_update_auth_failure_logging_threshold [0.362030s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test_update_firmware_error_for_checksum_validation_error_clean [0.339398s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.ilo.test_power.IloPowerInternalMethodsTestCase.test__set_power_state_soft_reboot_timeout [3.820534s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.network.test_neutron.NeutronInterfaceTestCase.test_init_incorrect_provisioning_net [0.855325s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.network.test_neutron.NeutronInterfaceTestCase.test_need_power_on_false [0.118689s] ... 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.332542s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.ilo.test_raid.Ilo5RAIDTestCase.test_create_configuration_empty_target_raid_config_cleaning [0.184777s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.network.test_neutron.NeutronInterfaceTestCase.test_remove_cleaning_network [0.125846s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test_update_firmware_invalid_update_mode_provided_deploy [0.179628s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.ilo.test_raid.Ilo5RAIDTestCase.test_create_configuration_ilo_error_cleaning [0.347560s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.ilo.test_raid.Ilo5RAIDTestCase.test_create_configuration_skip_non_root_deploying [0.096676s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test_write_firmware_sum_mode_invalid_component_clean [0.404195s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.ilo.test_raid.Ilo5RAIDTestCase.test_create_configuration_with_read_raid_failed_cleaning [0.153744s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.network.test_neutron.NeutronInterfaceTestCase.test_remove_cleaning_network_from_node [0.555657s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.irmc.test_bios.IRMCBIOSTestCase.test_cache_bios_settings_failed [0.101591s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.irmc.test_bios.IRMCBIOSTestCase.test_validate [0.055196s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test_write_firmware_sum_mode_without_component_clean [0.228840s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCDeployPrivateMethodsTestCase.test__attach_virtual_cd_fail [0.115450s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.network.test_neutron.NeutronInterfaceTestCase.test_unconfigure_tenant_networks_portgroup_1 [0.251177s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCDeployPrivateMethodsTestCase.test__get_iso_name [0.073240s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.ilo.test_power.IloPowerInternalMethodsTestCase.test__attach_boot_iso_if_needed [0.336137s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCDeployPrivateMethodsTestCase.test__parse_driver_info_in_share [0.191639s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.ilo.test_power.IloPowerInternalMethodsTestCase.test__get_power_state_fail [0.199743s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCDeployPrivateMethodsTestCase.test__parse_driver_info_kernel_params_in_conf [0.211697s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.network.test_neutron.NeutronInterfaceTestCase.test_validate_boot_option_local [0.490711s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCDeployPrivateMethodsTestCase.test__parse_driver_info_with_iso_missing [0.233202s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.ilo.test_power.IloPowerInternalMethodsTestCase.test__set_power_state_soft_reboot_fail_to_off [0.430555s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.network.test_noop.NoopInterfaceTestCase.test_get_current_vif [0.429235s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCDeployPrivateMethodsTestCase.test__parse_instance_info_with_boot_iso_file_name_ok [0.282740s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.network.test_noop.NoopInterfaceTestCase.test_port_changed [0.464880s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCDeployPrivateMethodsTestCase.test__prepare_boot_iso_fetch_ok [0.516235s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.network.test_noop.NoopInterfaceTestCase.test_remove_provisioning_network [0.339675s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCDeployPrivateMethodsTestCase.test__prepare_boot_iso_file [0.352817s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.network.test_noop.NoopInterfaceTestCase.test_unconfigure_tenant_networks [0.139762s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCDeployPrivateMethodsTestCase.test__remove_share_file [0.055023s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCDeployPrivateMethodsTestCase.test__setup_vmedia_with_file_deploy [0.075091s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCDeployPrivateMethodsTestCase.test_parse_deploy_info_ok [0.083861s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.network.test_noop.NoopInterfaceTestCase.test_validate [0.427492s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.ilo.test_power.IloPowerInternalMethodsTestCase.test__set_power_state_soft_reboot_ok_initial_power_off [1.481448s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.ilo.test_power.IloPowerTestCase.test_get_power_state [0.073133s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.network.test_noop.NoopInterfaceTestCase.test_vif_detach [0.232030s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCPXEBootBasicTestCase.test_prepare_instance_localboot_active [0.514066s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.ilo.test_power.IloPowerTestCase.test_get_supported_power_states [0.388463s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCPXEBootBasicTestCase.test_prepare_instance_netboot [0.344567s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.redfish.test_bios.RedfishBiosRegistryTestCase.test_cache_exception_bios_registry [0.442653s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCPXEBootBasicTestCase.test_prepare_instance_ramdisk_pxe_conf_missing [0.052004s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.ilo.test_power.IloPowerTestCase.test_reboot_no_timeout [0.200529s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCPXEBootBasicTestCase.test_prepare_instance_whole_disk_image_missing_root_uuid [0.114491s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCPXEBootBasicTestCase.test_prepare_ramdisk_conflicting_boot_modes [0.129881s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.ilo.test_raid.Ilo5RAIDTestCase.test__prepare_for_read_raid_create_raid_cleaning [0.244690s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCPXEBootBasicTestCase.test_prepare_ramdisk_set_boot_mode_not_called [0.126470s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCPXEBootBasicTestCase.test_validate_fail_missing_deploy_kernel [0.064966s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.ilo.test_raid.Ilo5RAIDTestCase.test__prepare_for_read_raid_create_raid_deploying [0.165242s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.redfish.test_bios.RedfishBiosTestCase.test_apply_conf_post_reboot_deploying [0.477924s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCPXEBootBasicTestCase.test_validate_fail_missing_image_source [0.076930s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCPXEBootBasicTestCase.test_validate_fail_trusted_boot_with_secure_boot [0.074512s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.ilo.test_raid.Ilo5RAIDTestCase.test__prepare_for_read_raid_delete_raid_deploying [0.154738s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCPXEBootBasicTestCase.test_validate_good_whole_disk_image [0.074835s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCPXEBootBasicTestCase.test_validate_no_image_source_for_local_boot [0.109736s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCPXEBootTestCase.test_clean_up_instance [0.063962s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCVirtualMediaBootTestCase.test_clean_up_instance [0.051556s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.redfish.test_bios.RedfishBiosTestCase.test_apply_configuration_fail [0.416592s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.ilo.test_raid.Ilo5RAIDTestCase.test_create_configuration_ilo_error_cleaning_deploying [0.322512s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCVirtualMediaBootTestCase.test_clean_up_instance_with_secure_boot_false [0.065529s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCVirtualMediaBootTestCase.test_clean_up_ramdisk [0.043980s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCVirtualMediaBootTestCase.test_prepare_instance_partition_image [0.044341s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCVirtualMediaBootTestCase.test_prepare_instance_without_secure_boot [0.049183s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.ilo.test_raid.Ilo5RAIDTestCase.test_create_configuration_skip_root_deploying [0.224495s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCVirtualMediaBootTestCase.test_prepare_ramdisk_glance_image_cleaning [0.079215s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.redfish.test_bios.RedfishBiosTestCase.test_apply_configuration_not_supported [0.332276s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.ilo.test_raid.Ilo5RAIDTestCase.test_create_configuration_skip_root_skip_non_root_deploying [0.143173s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCVirtualMediaBootTestCase.test_prepare_ramdisk_glance_image_rescuing [0.167518s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.ilo.test_raid.Ilo5RAIDTestCase.test_delete_configuration_with_read_raid_deploying [0.206659s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCVirtualMediaBootTestCase.test_validate [0.213577s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.ilo.test_vendor.VendorPassthruTestCase.test__validate_boot_into_iso_invalid_state [0.167472s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCVirtualMediaBootWithVolumeTestCase.test__configure_boot_from_volume_iscsi_no_portal_port [0.284409s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.ilo.test_vendor.VendorPassthruTestCase.test__validate_boot_into_iso_maintenance [0.217626s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.redfish.test_bios.RedfishBiosTestCase.test_cache_bios_settings [0.640246s] ... 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.295409s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCVirtualMediaBootWithVolumeTestCase.test_clean_up_instance_error [0.448281s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.ilo.test_vendor.VendorPassthruTestCase.test_validate_boot_into_iso [0.193884s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.redfish.test_bios.RedfishBiosTestCase.test_factory_reset_step_pre_reboot_cleaning [0.530820s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.intel_ipmi.test_intel_ipmi.IntelIPMIHardwareTestCase.test_default_interfaces [0.230036s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCVirtualMediaBootWithVolumeTestCase.test_validate_iscsi [0.458891s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.redfish.test_bios.RedfishBiosTestCase.test_factory_reset_step_pre_reboot_deploying [0.319006s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.intel_ipmi.test_intel_ipmi.IntelIPMIHardwareTestCase.test_override_with_agent_rescue [0.276301s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.irmc.test_common.IRMCCommonMethodsTestCase.test_get_irmc_report_no_cert_support_http [0.163757s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.redfish.test_bios.RedfishBiosTestCase.test_loading_error [0.207260s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.irmc.test_common.IRMCCommonMethodsTestCase.test_set_secure_boot_mode_fail [0.125250s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.irmc.test_common.IRMCValidateParametersTestCase.test_parse_driver_info [0.102675s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.redfish.test_bios.RedfishBiosTestCase.test_validate [0.151571s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.irmc.test_common.IRMCValidateParametersTestCase.test_parse_driver_info_invalid_auth_method [0.034182s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.irmc.test_common.IRMCValidateParametersTestCase.test_parse_driver_info_invalid_port [0.024586s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.irmc.test_common.IRMCValidateParametersTestCase.test_parse_driver_info_invalid_sensor_method [0.039138s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.irmc.test_common.IRMCValidateParametersTestCase.test_parse_driver_info_invalid_snmp_auth_password [0.029345s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.irmc.test_common.IRMCValidateParametersTestCase.test_parse_driver_info_invalid_snmp_priv_password [0.022109s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.redfish.test_boot.RedfishVirtualMediaBootTestCase.test__has_vmedia_device [0.154263s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.irmc.test_common.IRMCValidateParametersTestCase.test_parse_driver_info_invalid_snmp_user [0.022687s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.irmc.test_common.IRMCValidateParametersTestCase.test_parse_driver_info_invalid_timeout [0.021107s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.redfish.test_boot.RedfishVirtualMediaBootTestCase.test__insert_vmedia_already_inserted [0.145565s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.irmc.test_common.IRMCValidateParametersTestCase.test_parse_driver_info_missing_address [0.160681s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.redfish.test_boot.RedfishVirtualMediaBootTestCase.test__insert_vmedia_anew [0.080543s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.irmc.test_common.IRMCValidateParametersTestCase.test_parse_driver_info_missing_username [0.065770s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.irmc.test_common.IRMCValidateParametersTestCase.test_parse_driver_info_using_snmp_security_ [0.034029s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.intel_ipmi.test_intel_ipmi.IntelIPMIHardwareTestCase.test_override_with_cinder_storage [0.810601s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.irmc.test_inspect.IRMCInspectInternalMethodsTestCase.test__get_mac_addresses [0.101419s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.intel_ipmi.test_management.IntelIPMIManagementTestCase.test_configure_intel_speedselect [0.035997s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.redfish.test_boot.RedfishVirtualMediaBootTestCase.test__insert_vmedia_while_ejecting [0.210345s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.redfish.test_boot.RedfishVirtualMediaBootTestCase.test_clean_up_instance_only_cdrom [0.028307s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.irmc.test_inspect.IRMCInspectInternalMethodsTestCase.test__inspect_hardware_exception [0.057387s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.irmc.test_inspect.IRMCInspectTestCase.test__init_fail_invalid_fpga_ids_input [0.028008s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.irmc.test_inspect.IRMCInspectTestCase.test__init_fail_invalid_gpu_ids_input [0.020751s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.irmc.test_bios.IRMCBIOSTestCase.test_cache_bios_settings [0.101736s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.redfish.test_boot.RedfishVirtualMediaBootTestCase.test_clean_up_ramdisk [0.095035s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.irmc.test_inspect.IRMCInspectTestCase.test_inspect_hardware_inspect_exception [0.098890s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.redfish.test_boot.RedfishVirtualMediaBootTestCase.test_eject_vmedia_not_inserted [0.081005s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.irmc.test_inspect.IRMCInspectTestCase.test_inspect_hardware_props_empty_gpu_ids_fpga_id_sand_existing_cap [0.034396s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.irmc.test_bios.IRMCBIOSTestCase.test_factory_reset [0.106501s] ... 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.043856s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.irmc.test_management.IRMCManagementTestCase.test_get_properties [0.045255s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.redfish.test_boot.RedfishVirtualMediaBootTestCase.test_eject_vmedia_specific [0.124627s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCDeployPrivateMethodsTestCase.test__attach_virtual_fd_fail [0.128292s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.irmc.test_management.IRMCManagementTestCase.test_management_interface_get_sensors_data_exception [0.051385s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.irmc.test_management.IRMCManagementTestCase.test_management_interface_get_sensors_data_ipmitool_ok [0.030971s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCDeployPrivateMethodsTestCase.test__parse_config_option [0.078438s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.redfish.test_boot.RedfishVirtualMediaBootTestCase.test_eject_vmedia_unknown [0.104317s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.redfish.test_boot.RedfishVirtualMediaBootTestCase.test_parse_deploy_info [0.060472s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.irmc.test_management.IRMCManagementTestCase.test_management_interface_set_boot_device_ok_cdrom [0.115054s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCDeployPrivateMethodsTestCase.test__parse_driver_info_with_iso_invalid [0.120643s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.redfish.test_boot.RedfishVirtualMediaBootTestCase.test_parse_driver_info_deploy [0.074942s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.irmc.test_management.IRMCManagementTestCase.test_management_interface_set_boot_device_ok_safe [0.113396s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.redfish.test_boot.RedfishVirtualMediaBootTestCase.test_parse_driver_info_exc [0.045822s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCDeployPrivateMethodsTestCase.test__parse_instance_info_with_boot_iso_file_url_ok [0.066854s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.redfish.test_boot.RedfishVirtualMediaBootTestCase.test_parse_driver_info_from_conf_rescue [0.033249s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCDeployPrivateMethodsTestCase.test__parse_instance_info_with_boot_iso_http_ok [0.053126s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.redfish.test_boot.RedfishVirtualMediaBootTestCase.test_parse_driver_info_iso_deprecated [0.049335s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCDeployPrivateMethodsTestCase.test__parse_instance_info_with_boot_iso_https_ok [0.029843s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.irmc.test_management.IRMCManagementTestCase.test_validate_fail [0.105664s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.redfish.test_boot.RedfishVirtualMediaBootTestCase.test_parse_driver_info_mixed_source_deploy [0.027489s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCDeployPrivateMethodsTestCase.test__parse_instance_info_with_boot_iso_uuid_ok [0.031072s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.irmc.test_periodic_task.iRMCPeriodicTaskTestCase.test__query_raid_config_fgi_status_without_raid_object [0.029416s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.redfish.test_boot.RedfishVirtualMediaBootTestCase.test_parse_driver_info_mixed_source_rescue [0.027989s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.irmc.test_power.IRMCPowerInternalMethodsTestCase.test__is_expected_power_state [0.032837s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.irmc.test_power.IRMCPowerInternalMethodsTestCase.test__set_power_state_scci_exception [0.033598s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.redfish.test_boot.RedfishVirtualMediaBootTestCase.test_prepare_instance_local_boot_option [0.061124s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.irmc.test_power.IRMCPowerInternalMethodsTestCase.test__set_power_state_snmp_exception [0.034147s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCDeployPrivateMethodsTestCase.test__prepare_boot_iso_create_ok [0.147275s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.irmc.test_power.IRMCPowerInternalMethodsTestCase.test__wait_power_state_timeout [0.063833s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCDeployPrivateMethodsTestCase.test__setup_vmedia_with_file_rescue [0.033721s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.irmc.test_power.IRMCPowerTestCase.test_get_power_state [0.044526s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCDeployPrivateMethodsTestCase.test_check_share_fs_mounted_exception [0.040591s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCDeployPrivateMethodsTestCase.test_check_share_fs_mounted_ok [0.027287s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.irmc.test_power.IRMCPowerTestCase.test_reboot_reboot_timeout [0.048029s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCDeployPrivateMethodsTestCase.test_setup_vmedia_with_image_service_rescue [0.038828s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.redfish.test_boot.RedfishVirtualMediaBootTestCase.test_prepare_instance_ramdisk_boot_iso [0.228576s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.irmc.test_raid.IRMCRaidConfigurationInternalMethodsTestCase.test__fail_validation_with_not_enough_valid_disks [0.056921s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCPXEBootBasicTestCase.test_clean_up_instance [0.046927s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.irmc.test_raid.IRMCRaidConfigurationInternalMethodsTestCase.test__fail_validation_with_physical_disk_incorrect_valid_disks [0.042531s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCPXEBootBasicTestCase.test_prepare_instance_kickstart [0.054734s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.irmc.test_raid.IRMCRaidConfigurationTestCase.test_create_raid_with_raid_1_and_0 [0.047050s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCPXEBootBasicTestCase.test_prepare_instance_localboot [0.040650s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.redfish.test_boot.RedfishVirtualMediaBootTestCase.test_prepare_instance_ramdisk_boot_iso_boot [0.148301s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCPXEBootBasicTestCase.test_prepare_instance_netboot_active [0.107351s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.network.test_common.TestCommonFunctions.test__get_free_portgroups_and_ports_all_physnets [0.161003s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.redfish.test_boot.RedfishVirtualMediaBootTestCase.test_prepare_instance_ramdisk_boot_render_configdrive [0.120550s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.redfish.test_boot.RedfishVirtualMediaBootTestCase.test_prepare_ramdisk_with_params [0.062236s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.network.test_common.TestCommonFunctions.test__get_free_portgroups_and_ports_neutron_missed [0.099904s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCPXEBootBasicTestCase.test_prepare_ramdisk [0.138398s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.redfish.test_boot.RedfishVirtualMediaBootTestCase.test_validate_boot_iso [0.126173s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCPXEBootBasicTestCase.test_prepare_ramdisk_rescue [0.137565s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.network.test_common.TestCommonFunctions.test__get_free_portgroups_and_ports_no_matching_physnet [0.172943s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCPXEBootBasicTestCase.test_prepare_ramdisk_set_boot_mode_on_bm [0.066298s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.network.test_common.TestCommonFunctions.test__get_free_portgroups_and_ports_no_matching_uuid [0.080911s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCPXEBootBasicTestCase.test_prepare_ramdisk_set_default_boot_mode_on_ironic_bios [0.092397s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.redfish.test_boot.RedfishVirtualMediaBootTestCase.test_validate_correct_vendor [0.222490s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCPXEBootBasicTestCase.test_validate_fail_glance_image_doesnt_exists [0.050133s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.redfish.test_boot.RedfishVirtualMediaBootTestCase.test_validate_inspection_missing [0.087147s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCPXEBootBasicTestCase.test_validate_fail_invalid_trusted_boot_value [0.060036s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.network.test_common.TestCommonFunctions.test__get_free_portgroups_and_ports_physnet3 [0.215227s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.redfish.test_boot.RedfishVirtualMediaBootTestCase.test_validate_missing [0.109620s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCPXEBootBasicTestCase.test_validate_fail_missing_deploy_ramdisk [0.102815s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.redfish.test_firmware_utils.FirmwareUtilsTestCase.test_validate_update_firmware_args_url_missing [0.041592s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.network.test_common.TestCommonFunctions.test__get_free_portgroups_and_ports_portgroup_uuid [0.175499s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.redfish.test_firmware_utils.FirmwareUtilsTestCase.test_validate_update_firmware_args_wait_not_int [0.092785s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.redfish.test_inspect.RedfishInspectTestCase.test_get_properties [0.128721s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.network.test_common.TestCommonFunctions.test__get_free_portgroups_and_ports_portgroup_uuid_attached_vifs [0.239378s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.redfish.test_inspect.RedfishInspectTestCase.test_inspect_hardware_fail_missing_memory_mb [0.235016s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.network.test_common.TestCommonFunctions.test_get_free_port_like_object_nothing_free [0.239974s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.redfish.test_inspect.RedfishInspectTestCase.test_inspect_hardware_with_no_mac [0.161023s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.network.test_common.TestCommonFunctions.test_get_free_port_like_object_portgroup_first [0.220060s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.redfish.test_inspect.RedfishInspectTestCase.test_inspect_hardware_with_set_port_pxe_enabled [0.343729s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.network.test_common.TestCommonFunctions.test_plug_port_to_tenant_network_client [0.227057s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.redfish.test_management.RedfishManagementTestCase.test__check_node_firmware_update_done [0.221005s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.network.test_common.TestNeutronVifPortIDMixin.test_port_changed_novif_nopxe_noportgroup [0.329460s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.redfish.test_management.RedfishManagementTestCase.test__check_node_firmware_update_still_waiting [0.182294s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.network.test_common.TestNeutronVifPortIDMixin.test_port_changed_vif_nopxe_portgroup_standalone_ports [0.396401s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.redfish.test_management.RedfishManagementTestCase.test__check_node_firmware_update_wait_elapsed [0.409006s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.redfish.test_management.RedfishManagementTestCase.test__query_firmware_update_failed_no_firmware_upd [0.104781s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.redfish.test_management.RedfishManagementTestCase.test__query_firmware_update_status_node_locked [0.164881s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.network.test_common.TestNeutronVifPortIDMixin.test_port_changed_vif_pxe_portgroup_standalone_ports [0.397877s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.redfish.test_management.RedfishManagementTestCase.test__query_firmware_update_status_not_redfish [0.156681s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.network.test_common.TestNeutronVifPortIDMixin.test_update_portgroup_address [0.125578s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.network.test_common.TestNeutronVifPortIDMixin.test_update_portgroup_address_fail [0.062562s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.redfish.test_management.RedfishManagementTestCase.test_get_indicator_state [0.111877s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.network.test_common.TestNeutronVifPortIDMixin.test_update_portgroup_standalone_ports_novif_nopxe_ports [0.176896s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.network.test_common.TestNeutronVifPortIDMixin.test_update_portgroup_standalone_ports_vif_pxe_ports [0.088657s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.network.test_common.TestNeutronVifPortIDMixin.test_vif_attach_active_node [0.122975s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.network.test_common.TestVifPortIDMixin.test__clear_vif_from_port_like_obj_in_internal_info_port [0.035441s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.network.test_common.TestVifPortIDMixin.test__clear_vif_from_port_like_obj_in_internal_info_portgroup [0.039226s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.redfish.test_management.RedfishManagementTestCase.test_set_boot_device_fail [0.445009s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.redfish.test_management.RedfishManagementTestCase.test_set_boot_device_persistence_fallback [0.171229s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.redfish.test_management.RedfishManagementTestCase.test_set_boot_device_persistency_no_change [0.059036s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.redfish.test_management.RedfishManagementTestCase.test_set_boot_device_persistency_vendor [0.171415s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.network.test_common.TestVifPortIDMixin.test__save_vif_to_port_like_obj_portgroup [0.453800s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.network.test_common.TestVifPortIDMixin.test_get_current_vif_internal_info_cleaning [0.065593s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.network.test_common.TestVifPortIDMixin.test_get_current_vif_internal_info_tenant_vif [0.057480s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.redfish.test_management.RedfishManagementTestCase.test_set_boot_mode_fail [0.200241s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.network.test_flat.TestFlatInterface.test_add_inspection_network_from_node [0.126194s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.redfish.test_management.RedfishManagementTestCase.test_update_firmware_invalid_args [0.127907s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.network.test_flat.TestFlatInterface.test_add_rescuing_network [0.075689s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.network.test_flat.TestFlatInterface.test_validate_from_node [0.066386s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.redfish.test_power.RedfishPowerTestCase.test_get_supported_power_states [0.135827s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.network.test_neutron.NeutronInterfaceTestCase.test_add_cleaning_network_with_sg [0.068027s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.network.test_neutron.NeutronInterfaceTestCase.test_add_inspection_network [0.122277s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.redfish.test_power.RedfishPowerTestCase.test_reboot_fail_on_power_on [0.232781s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.network.test_neutron.NeutronInterfaceTestCase.test_add_provisioning_network [0.127274s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.redfish.test_power.RedfishPowerTestCase.test_reboot_from_power_off [0.032909s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.redfish.test_power.RedfishPowerTestCase.test_validate [0.031649s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.redfish.test_raid.RedfishRAIDTestCase.test__check_node_raid_config_clean [0.055423s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.network.test_neutron.NeutronInterfaceTestCase.test_add_provisioning_network_with_sg [0.152752s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.redfish.test_raid.RedfishRAIDTestCase.test__check_node_raid_config_pending_create [0.076338s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.redfish.test_raid.RedfishRAIDTestCase.test__get_storage_controller [0.087824s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.network.test_neutron.NeutronInterfaceTestCase.test_add_rescuing_network_with_sg [0.117321s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.redfish.test_raid.RedfishRAIDTestCase.test__max_volume_size_bytes_raid1 [0.094620s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.network.test_neutron.NeutronInterfaceTestCase.test_configure_tenant_networks_no_vif_id [0.153953s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.redfish.test_raid.RedfishRAIDTestCase.test_create_config_case_6 [0.096225s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.network.test_neutron.NeutronInterfaceTestCase.test_configure_tenant_networks_update_fail [0.139166s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.redfish.test_raid.RedfishRAIDTestCase.test_create_config_interface_type [0.161995s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.network.test_neutron.NeutronInterfaceTestCase.test_remove_provisioning_network [0.090332s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.redfish.test_utils.RedfishUtilsAuthTestCase.test_ensure_session_reuse [0.139437s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.network.test_neutron.NeutronInterfaceTestCase.test_unconfigure_tenant_networks [0.150163s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.network.test_neutron.NeutronInterfaceTestCase.test_validate_boot_option_netboot [0.137029s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.redfish.test_utils.RedfishUtilsAuthTestCase.test_expire_old_sessions [0.245954s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.network.test_neutron.NeutronInterfaceTestCase.test_validate_boot_option_netboot_no_exc [0.072237s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.redfish.test_utils.RedfishUtilsTestCase.test_parse_driver_info_default_scheme_ipv6_brackets_added [0.053067s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.redfish.test_utils.RedfishUtilsTestCase.test_parse_driver_info_invalid_string_value_verify_ca [0.054054s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.network.test_neutron.NeutronInterfaceTestCase.test_validate_rescue_exc [0.095159s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.redfish.test_utils.RedfishUtilsTestCase.test_parse_driver_info_valid_capath [0.055377s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.network.test_neutron.NeutronInterfaceTestCase.test_vif_detach [0.057668s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.redfish.test_utils.RedfishUtilsTestCase.test_parse_driver_info_with_root_prefix [0.063425s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.redfish.test_vendor.RedfishVendorPassthruTestCase.test_create_subscription [0.065533s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.network.test_neutron.NeutronInterfaceTestCase.test_vif_list [0.147232s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.redfish.test_vendor.RedfishVendorPassthruTestCase.test_get_all_subscriptions [0.040578s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.storage.test_cinder.CinderInterfaceTestCase.test__fail_validation [0.057382s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.network.test_noop.NoopInterfaceTestCase.test_add_cleaning_network [0.123414s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.storage.test_cinder.CinderInterfaceTestCase.test__generate_connector_single_path [0.062479s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.network.test_noop.NoopInterfaceTestCase.test_add_inspection_network [0.093754s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.storage.test_cinder.CinderInterfaceTestCase.test_attach_detach_volumes_fails_without_connectors [0.109623s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.network.test_noop.NoopInterfaceTestCase.test_add_provisioning_network [0.068211s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.storage.test_cinder.CinderInterfaceTestCase.test_detach_volumes_failure [0.151491s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.redfish.test_bios.RedfishBiosRegistryTestCase.test_cache_bios_registry_save [0.149305s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.storage.test_cinder.CinderInterfaceTestCase.test_validate_success_connectors_and_boot [0.075581s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.storage.test_cinder.CinderInterfaceTestCase.test_validate_success_iscsi_connector [0.123353s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.redfish.test_bios.RedfishBiosTestCase.test_apply_conf_post_reboot_cleaning_failed [0.226494s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_agent.AgentRAIDTestCase.test__create_configuration_final_bad_command_result2 [0.117151s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.redfish.test_bios.RedfishBiosTestCase.test_apply_conf_step_pre_reboot_cleaning [0.118418s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_agent.AgentRAIDTestCase.test__delete_configuration_final [0.096479s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_agent.AgentRAIDTestCase.test_create_configuration_empty_target_raid_config [0.067909s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.redfish.test_bios.RedfishBiosTestCase.test_cache_bios_settings_noop [0.140569s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_agent.AgentRAIDTestCase.test_create_configuration_no_target_raid_config_after_skipping [0.082217s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.redfish.test_boot.RedfishVirtualMediaBootTestCase.test__insert_vmedia_bad_device [0.043241s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_agent.AgentRAIDTestCase.test_get_clean_steps_config_priority [0.048581s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.redfish.test_boot.RedfishVirtualMediaBootTestCase.test_clean_up_instance_cdrom_and_floppy [0.084474s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_agent.AgentRAIDTestCase.test_get_deploy_steps [0.053294s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.redfish.test_boot.RedfishVirtualMediaBootTestCase.test_parse_driver_info_removable_deprecated [0.041147s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.redfish.test_boot.RedfishVirtualMediaBootTestCase.test_prepare_ramdisk_no_config [0.109459s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_agent.AgentRescueTestCase.test_agent_rescue_clean_up_no_manage_boot [0.133707s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.redfish.test_boot.RedfishVirtualMediaBootTestCase.test_prepare_ramdisk_no_debug [0.060467s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_agent.AgentRescueTestCase.test_agent_rescue_power_on [0.093262s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.redfish.test_firmware_utils.FirmwareUtilsTestCase.test_validate_update_firmware_args_not_list [0.035694s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.redfish.test_firmware_utils.FirmwareUtilsTestCase.test_validate_update_firmware_args_unknown_key [0.018267s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_agent.AgentRescueTestCase.test_agent_rescue_validate_fails_no_rescue_password [0.070552s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.redfish.test_inspect.RedfishInspectTestCase.test_create_port_when_its_state_is_none [0.078681s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_agent.AgentRescueTestCase.test_agent_unrescue_no_manage_agent_boot [0.085379s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.redfish.test_inspect.RedfishInspectTestCase.test_inspect_hardware_ignore_missing_cpu [0.137011s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_agent.TestAgentDeploy.test_deploy_fast_track [0.120566s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.redfish.test_inspect.RedfishInspectTestCase.test_inspect_hardware_ignore_missing_nics [0.112825s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_agent.TestAgentDeploy.test_deploy_with_deployment_reboot [0.087173s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_agent.TestAgentDeploy.test_get_clean_steps_config_priority [0.052405s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_agent.TestAgentDeploy.test_prepare_adopting [0.037581s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.redfish.test_inspect.RedfishInspectTestCase.test_inspect_hardware_with_none_pxe_port_macs [0.095233s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_agent.TestAgentDeploy.test_prepare_cleaning [0.039764s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.redfish.test_management.RedfishManagementTestCase.test__get_sensors_data_drive [0.059316s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.redfish.test_management.RedfishManagementTestCase.test__get_sensors_temperatures [0.077531s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.redfish.test_management.RedfishManagementTestCase.test__query_firmware_update_status_no_firmware_upd [0.049161s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.redfish.test_management.RedfishManagementTestCase.test_clear_secure_boot [0.043578s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_agent.TestAgentDeploy.test_prepare_with_neutron_net [0.213310s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.redfish.test_management.RedfishManagementTestCase.test_get_properties [0.033327s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_agent.TestAgentDeploy.test_tear_down [0.093999s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.redfish.test_management.RedfishManagementTestCase.test_get_secure_boot_state_not_implemented [0.064119s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.redfish.test_management.RedfishManagementTestCase.test_loading_error [0.033603s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.redfish.test_management.RedfishManagementTestCase.test_reset_secure_boot_to_default_not_implemented [0.085107s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_agent.TestAgentDeploy.test_validate_driver_info_manage_agent_boot_false [0.127136s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.redfish.test_management.RedfishManagementTestCase.test_set_boot_device_persistency [0.053591s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_agent.TestAgentDeploy.test_validate_invalid_root_device_hints [0.054311s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_agent.TestAgentDeploy.test_validate_nonglance_image_no_os_algo [0.062860s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.redfish.test_management.RedfishManagementTestCase.test_set_boot_mode_unsupported [0.105713s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.redfish.test_management.RedfishManagementTestCase.test_validate [0.028702s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_agent.TestAgentDeploy.test_validate_nonglance_image_no_os_checksum [0.112161s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.redfish.test_power.RedfishPowerTestCase.test_get_power_state [0.061994s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.redfish.test_power.RedfishPowerTestCase.test_loading_error [0.042441s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_agent.TestAgentDeploy.test_write_image_render_configdrive [0.115503s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.redfish.test_power.RedfishPowerTestCase.test_reboot_fail [0.084950s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.redfish.test_power.RedfishPowerTestCase.test_set_power_state_not_reached [0.042569s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_agent.TestAgentDeploy.test_write_image_with_no_proxy_without_proxies [0.090783s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_agent.TestAgentMethods.test_check_image_size_raw_stream_enabled [0.035821s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.redfish.test_raid.RedfishRAIDTestCase.test__check_node_raid_config_deploy [0.100361s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_agent.TestAgentMethods.test_check_image_size_raw_stream_enabled_format_qcow2 [0.041658s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.redfish.test_raid.RedfishRAIDTestCase.test__max_volume_size_bytes_raid0 [0.060470s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_agent.TestAgentMethods.test_check_image_size_raw_stream_enabled_format_raw [0.050533s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.redfish.test_raid.RedfishRAIDTestCase.test__max_volume_size_bytes_raid5 [0.031528s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.redfish.test_raid.RedfishRAIDTestCase.test__max_volume_size_bytes_raid6 [0.025936s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_agent.TestAgentMethods.test_validate_http_provisioning_invalid_image_download_source2 [0.090209s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_agent.TestAgentMethods.test_validate_http_provisioning_missing_args [0.024095s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.redfish.test_raid.RedfishRAIDTestCase.test__raid_config_in_progress_still_processing [0.052328s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_agent.TestAgentMethods.test_validate_http_provisioning_missing_args_file [0.021132s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.redfish.test_raid.RedfishRAIDTestCase.test__raid_config_in_progress_success [0.050062s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_agent.TestCustomAgentDeploy.test_deploy_fast_track [0.056640s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_agent.TestCustomAgentDeploy.test_validate [0.051068s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.redfish.test_raid.RedfishRAIDTestCase.test_create_config_case_1b_apply_time_on_reset [0.095845s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_agent_base.AgentDeployMixinTest.test_boot_instance [0.071434s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.redfish.test_raid.RedfishRAIDTestCase.test_create_config_case_3 [0.066937s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.redfish.test_raid.RedfishRAIDTestCase.test_create_config_case_4 [0.058858s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_agent_base.AgentDeployMixinTest.test_configure_local_boot_on_software_raid [0.135201s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_agent_base.AgentDeployMixinTest.test_configure_local_boot_on_software_raid_exception [0.062801s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_agent_base.AgentDeployMixinTest.test_continue_cleaning [0.051002s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_agent_base.AgentDeployMixinTest.test_continue_cleaning_after_reboot [0.049309s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_agent_base.AgentDeployMixinTest.test_continue_cleaning_fail [0.074599s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_agent_base.AgentDeployMixinTest.test_continue_cleaning_with_hook [0.051254s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_agent_base.AgentDeployMixinTest.test_prepare_instance_to_boot_netboot [0.038086s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_agent_base.AgentDeployMixinTest.test_tear_down_agent_no_power_on_support [0.086912s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_agent_base.AgentRescueTests.test__finalize_rescue_exc [0.038614s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_agent_base.HeartbeatMixinTest.test_heartbeat_continue_deploy_first_run [0.070592s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.redfish.test_raid.RedfishRAIDTestCase.test_create_config_case_5b [0.681989s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.redfish.test_raid.RedfishRAIDTestCase.test_validate_raid_config [0.065627s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.redfish.test_raid.RedfishRAIDTestCase.test_validate_raid_config_scsi [0.035945s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.redfish.test_raid.RedfishRAIDTestCase.test_volume_create_error_handler [0.040232s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_agent_base.HeartbeatMixinTest.test_heartbeat_records_cleaning_deploying [0.251919s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.redfish.test_utils.RedfishUtilsAuthTestCase.test_ensure_basic_session_caching [0.081227s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_agent_base.HeartbeatMixinTest.test_heartbeat_rescue [0.127906s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.redfish.test_utils.RedfishUtilsSystemTestCase.test_get_system [0.100395s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.redfish.test_utils.RedfishUtilsSystemTestCase.test_get_system_multiple_systems [0.059759s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_agent_base.StepMethodsTestCase.test_execute_clean_step_version_mismatch [0.171120s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.redfish.test_utils.RedfishUtilsSystemTestCase.test_get_system_resource_access_error_retry [0.090848s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_agent_base.StepMethodsTestCase.test_get_deploy_steps [0.107519s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.redfish.test_utils.RedfishUtilsSystemTestCase.test_get_system_resource_not_found [0.112910s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.redfish.test_utils.RedfishUtilsSystemTestCase.test_wait_until_get_system_ready_with_connection_error [0.055898s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.redfish.test_utils.RedfishUtilsTestCase.test_get_task_monitor_error [0.024047s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_agent_base.TestRefreshCleanSteps.test_refresh_steps_missing_interface [0.120480s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.redfish.test_utils.RedfishUtilsTestCase.test_get_update_service [0.052798s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_agent_base.TestRefreshCleanSteps.test_refresh_steps_missing_steps [0.049724s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.redfish.test_utils.RedfishUtilsTestCase.test_get_update_service_error [0.047983s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_agent_client.TestAgentClient.test__command [0.100292s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.redfish.test_utils.RedfishUtilsTestCase.test_parse_driver_info [0.070630s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.redfish.test_utils.RedfishUtilsTestCase.test_parse_driver_info_path_verify_ca [0.037926s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_agent_client.TestAgentClient.test__command_error_code [0.059467s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.redfish.test_vendor.RedfishVendorPassthruTestCase.test_delete_subscription [0.043697s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_agent_client.TestAgentClient.test__command_error_code_okay_error_typeerror_embedded [0.041820s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.redfish.test_vendor.RedfishVendorPassthruTestCase.test_eject_vmedia_all [0.037645s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.redfish.test_vendor.RedfishVendorPassthruTestCase.test_eject_vmedia_cd [0.038652s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.redfish.test_vendor.RedfishVendorPassthruTestCase.test_get_all_subscriptions_empty [0.028166s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.redfish.test_vendor.RedfishVendorPassthruTestCase.test_invalid_delete_subscription [0.032429s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_agent_client.TestAgentClient.test__command_fail_connect [0.138366s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.redfish.test_vendor.RedfishVendorPassthruTestCase.test_validate_invalid_delete_subscription [0.045554s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.storage.test_cinder.CinderInterfaceTestCase.test__generate_connector_multiple_fc_wwns [0.039415s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_agent_client.TestAgentClient.test__command_fail_connect_command_is_running [0.084964s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.storage.test_cinder.CinderInterfaceTestCase.test_validate_fail_on_unknown_volume_types [0.061695s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.storage.test_cinder.CinderInterfaceTestCase.test_validate_fails_fc_conn_iscsi_target [0.073323s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.storage.test_cinder.CinderInterfaceTestCase.test_validate_fails_iscsi_conn_fc_target [0.147349s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.storage.test_cinder.CinderInterfaceTestCase.test_validate_success_fc_connectors [0.104239s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.storage.test_cinder.CinderInterfaceTestCase.test_validate_success_fc_targets [0.083054s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_agent.AgentRAIDTestCase.test__create_configuration_final [0.105776s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_agent.AgentRAIDTestCase.test_create_configuration [0.061490s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_agent.AgentRAIDTestCase.test_create_configuration_skip_root [0.087041s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_agent.AgentRescueTestCase.test_agent_rescue_clean_up_smartnic [0.075223s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_agent.AgentRescueTestCase.test_agent_rescue_no_manage_agent_boot [0.104650s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_agent.AgentRescueTestCase.test_agent_rescue_validate [0.042668s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_agent.AgentRescueTestCase.test_agent_rescue_validate_fails_empty_rescue_password [0.040739s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_agent.AgentRescueTestCase.test_agent_rescue_with_smartnic_port [0.050418s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_agent.AgentRescueTestCase.test_agent_unrescue [0.186506s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_agent.TestAgentDeploy.test_clean_up [0.117903s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_agent.TestAgentDeploy.test_deploy [0.045581s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_agent.TestAgentDeploy.test_get_clean_steps [0.100663s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_agent.TestAgentDeploy.test_get_properties [0.021750s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_agent.TestAgentDeploy.test_prepare_cleaning_fast_track [0.062300s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_agent.TestAgentDeploy.test_prepare_instance_boot_no_manage_agent_boot [0.062030s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_agent.TestAgentDeploy.test_prepare_instance_boot_partition_image [0.040893s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_agent.TestAgentDeploy.test_prepare_instance_boot_partition_localboot_ppc64 [0.047788s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_agent.TestAgentDeploy.test_prepare_instance_boot_storage_should_write_image_with_smartnic [0.083378s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_agent.TestAgentDeploy.test_prepare_rescue_states [0.122244s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_agent.TestAgentDeploy.test_prepare_with_neutron_net_capabilities_as_string [0.178344s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_agent.TestAgentDeploy.test_prepare_with_neutron_net_exc_no_capabilities_overwrite [0.099334s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_agent.TestAgentDeploy.test_prepare_with_neutron_net_exc_reraise [0.186658s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_agent.TestAgentDeploy.test_tear_down_cleaning [0.037274s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_agent.TestAgentDeploy.test_validate_instance_info_missing_params [0.046552s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_agent.TestAgentDeploy.test_validate_storage_should_write_image_false [0.102464s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_agent.TestAgentMethods.test_check_image_size [0.091282s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_agent.TestAgentMethods.test_check_image_size_fail [0.124604s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_agent.TestAgentMethods.test_check_image_size_without_memory_mb [0.050232s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_agent.TestAgentMethods.test_validate_http_provisioning_http_image [0.046095s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_agent.TestCustomAgentDeploy.test_clean_up [0.054793s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_agent.TestCustomAgentDeploy.test_deploy [0.095129s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_agent.TestCustomAgentDeploy.test_deploy_storage_should_write_image_false [0.064549s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_agent.TestCustomAgentDeploy.test_get_properties [0.055471s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_agent_base.AgentDeployMixinTest.test__post_step_reboot_fail [0.050775s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_agent_base.AgentDeployMixinTest.test__post_step_reboot_fail_deploy [0.034451s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_agent_base.AgentDeployMixinTest.test__post_step_reboot_pregenerated_token [0.091738s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_agent_base.AgentDeployMixinTest.test_configure_local_boot [0.039658s] ... 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.053135s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_agent_base.AgentDeployMixinTest.test_configure_local_boot_enforce_persistent_boot_device_never [0.062125s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_agent_base.AgentDeployMixinTest.test_configure_local_boot_on_non_software_raid [0.052834s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_agent_base.AgentDeployMixinTest.test_configure_local_boot_uefi [0.058005s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_agent_base.AgentDeployMixinTest.test_configure_local_boot_with_prep [0.073194s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_agent_base.AgentDeployMixinTest.test_continue_cleaning_automated_clean_version_mismatch [0.044806s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_agent_base.AgentDeployMixinTest.test_continue_cleaning_manual_clean_version_mismatch [0.077012s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_agent_base.AgentDeployMixinTest.test_continue_cleaning_old_command [0.040645s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_agent_base.AgentDeployMixinTest.test_continue_cleaning_reboot [0.040934s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_agent_client.TestAgentClient.test__command_poll [6.069544s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_agent_client.TestAgentClient.test__command_verify [0.043302s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_agent_client.TestAgentClient.test__get_command_body [0.014532s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_agent_client.TestAgentClient.test__get_command_url [0.057563s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_agent_client.TestAgentClient.test_content_type_header [0.027401s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_agent_client.TestAgentClient.test_finalize_rescue_exc [0.035236s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_agent_client.TestAgentClient.test_finalize_rescue_fallback [0.037231s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_agent_client.TestAgentClient.test_get_commands_status [0.086755s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_agent_client.TestAgentClient.test_install_bootloader [0.018083s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_agent_client.TestAgentClient.test_sync [0.013775s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_agent_client.TestAgentClientAttempts.test__command_succeed_after_two_timeouts [0.360357s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_agent_power.AgentPowerTest.test_reboot [0.053179s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_agent_power.AgentPowerTest.test_validate_fails [0.024054s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_boot_mode_utils.GetBootModeTestCase.test_get_boot_mode_default_set [0.022740s] ... 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_secure_boot [0.018767s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_boot_mode_utils.SecureBootTestCase.test_configure_exception [0.054762s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_boot_mode_utils.SecureBootTestCase.test_deconfigure_none_requested [0.032340s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_console_utils.ConsoleUtilsTestCase.test__get_console_pid_dir_tempdir [0.021242s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_console_utils.ConsoleUtilsTestCase.test__get_console_pid_file [0.025811s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_console_utils.ConsoleUtilsTestCase.test__get_console_pid_not_a_num [0.027964s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_console_utils.ConsoleUtilsTestCase.test__verify_port_ipv6 [0.089780s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_console_utils.ConsoleUtilsTestCase.test_get_shellinabox_console_url [0.025414s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_console_utils.ConsoleUtilsTestCase.test_invalid_console_port_range [0.041274s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_console_utils.ConsoleUtilsTestCase.test_start_socat_console_check_arg_bind_addr_ipv4 [0.036623s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_console_utils.ConsoleUtilsTestCase.test_stop_socat_console_fail_nopid [0.022666s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_deploy_utils.AgentMethodsTestCase.test_prepare_inband_cleaning_broken_fast_track [0.046161s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_deploy_utils.AgentMethodsTestCase.test_tear_down_inband_cleaning [0.034120s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_deploy_utils.AgentMethodsTestCase.test_tear_down_inband_cleaning_fast_track [0.033102s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_deploy_utils.AsyncStepTestCase.test_set_async_step_flags_cleaning_set_all [0.024886s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_deploy_utils.GetPxeBootConfigTestCase.test_get_ipxe_boot_file_other_arch [0.053347s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_deploy_utils.GetPxeBootConfigTestCase.test_get_ipxe_boot_file_uefi [0.031213s] ... 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.037750s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_deploy_utils.GetPxeBootConfigTestCase.test_get_pxe_config_template_cpu_in_by_arch [0.036632s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_deploy_utils.GetPxeBootConfigTestCase.test_get_pxe_config_template_uefi_without_by_arch [0.026886s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_deploy_utils.GetSingleNicTestCase.test_get_single_nic_with_cleaning_vif_port_id [0.066467s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_deploy_utils.InstanceImageCacheTestCase.test_without_master_path [0.020955s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_deploy_utils.InstanceInfoTestCase.test__check_disk_layout_unchanged_fails [0.025874s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_deploy_utils.InstanceInfoTestCase.test_parse_instance_info_invalid_preserve_ephemeral [0.029550s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_deploy_utils.InstanceInfoTestCase.test_parse_instance_info_invalid_root_gb [0.124835s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_deploy_utils.InstanceInfoTestCase.test_parse_instance_info_whole_disk_image_missing_root [0.029691s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_deploy_utils.OtherFunctionTestCase.test_get_boot_option_instance_info_priority [0.031158s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_deploy_utils.OtherFunctionTestCase.test_get_boot_option_overridden_default_value [0.055750s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_deploy_utils.OtherFunctionTestCase.test_is_software_raid_false [0.045686s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_deploy_utils.OtherFunctionTestCase.test_set_failed_state_collect_deploy_logs_never [0.130936s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_deploy_utils.ParseInstanceInfoCapabilitiesTestCase.test_all_supported_capabilities [0.145422s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_deploy_utils.ParseInstanceInfoCapabilitiesTestCase.test_get_disk_label [0.037726s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_deploy_utils.ParseInstanceInfoCapabilitiesTestCase.test_get_disk_label_nothing_set [0.033622s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_deploy_utils.ParseInstanceInfoCapabilitiesTestCase.test_get_disk_label_uefi_mode [0.025362s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_deploy_utils.ParseInstanceInfoCapabilitiesTestCase.test_is_secure_boot_requested_invalid [0.034955s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_deploy_utils.ParseInstanceInfoCapabilitiesTestCase.test_parse_instance_info_invalid_type [0.049128s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_deploy_utils.ParseInstanceInfoCapabilitiesTestCase.test_validate_boot_mode_capability_instance_info [0.053821s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_deploy_utils.ParseInstanceInfoCapabilitiesTestCase.test_validate_boot_mode_capability_instance_info_with_exc [0.014437s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_deploy_utils.ParseInstanceInfoCapabilitiesTestCase.test_validate_boot_mode_capability_with_exc [0.016067s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_deploy_utils.SwitchPxeConfigTestCase.test_switch_ipxe_config_partition_image [0.044300s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_deploy_utils.SwitchPxeConfigTestCase.test_switch_ipxe_config_whole_disk_image [0.037770s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_deploy_utils.SwitchPxeConfigTestCase.test_switch_pxe_config_trusted_boot [0.059490s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_deploy_utils.SwitchPxeConfigTestCase.test_switch_pxe_config_whole_disk_image [0.033833s] ... 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.083717s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_deploy_utils.TestBuildInstanceInfoForHttpProvisioning.test_build_instance_info_local_image [0.159726s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_deploy_utils.TestStorageInterfaceUtils.test_populate_storage_driver_internal_info_fc [0.170272s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_deploy_utils.TrySetBootDeviceTestCase.test_try_set_boot_device_ipmifailure_bios [0.112530s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_deploy_utils.TrySetBootDeviceTestCase.test_try_set_boot_device_ipmifailure_uefi [0.131871s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_deploy_utils.ValidateImagePropertiesTestCase.test_validate_image_properties_glance_image_not_authorized [0.046749s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_deploy_utils.ValidateParametersTestCase.test__get_img_instance_info_whole_disk_image [0.027599s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_image_cache.CleanupImageCacheTestCase.test_both_clean_up [0.041216s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_image_cache.CleanupImageCacheTestCase.test_clean_up_another_fs [0.054489s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_image_cache.CleanupImageCacheTestCase.test_no_clean_up [0.050820s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_image_cache.TestFetchCleanup.test__fetch [0.098530s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_image_cache.TestFetchCleanup.test__fetch_already_raw [0.080533s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_image_cache.TestImageCacheCleanUp.test_clean_up_amount_not_satisfied [0.069210s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_image_cache.TestImageCacheCleanUp.test_clean_up_ensure_cache_size_with_amount [0.062668s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_image_cache.TestImageCacheCleanUp.test_temp_dir_exception [0.016337s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_image_cache.TestImageCacheDownload.test__download_image_large_url [0.047972s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_image_cache.TestImageCacheFetch.test_fetch_image_dest_and_master_uptodate_no_force_raw [0.079949s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_image_cache.TestImageCacheFetch.test_fetch_image_no_master_dir_memory_low [0.027724s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_image_cache.TestImageCacheFetch.test_fetch_image_not_uuid_no_force_raw [0.028604s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_image_cache.TestUpdateImages.test__delete_dest_path_if_stale_out_of_date [0.114620s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_image_cache.TestUpdateImages.test__delete_master_path_if_stale_master_up_to_date [0.045258s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_image_utils.RedfishImageHandlerTestCase.test__append_filename_param_with_filename [0.023889s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_image_utils.RedfishImageHandlerTestCase.test_publish_image_external_ip [0.045049s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_image_utils.RedfishImageHandlerTestCase.test_publish_image_local_link_no_restorecon [0.077898s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_image_utils.RedfishImageHandlerTestCase.test_publish_image_swift [0.048531s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_image_utils.RedfishImageHandlerTestCase.test_unpublish_image_local [0.041011s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_image_utils.RedfishImageUtilsTestCase.test__find_param_not_found [0.045594s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_image_utils.RedfishImageUtilsTestCase.test__prepare_iso_image_bios [0.065566s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_image_utils.RedfishImageUtilsTestCase.test__prepare_iso_image_default_boot_mode [0.039517s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_image_utils.RedfishImageUtilsTestCase.test__prepare_iso_image_extra_params [0.088149s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_image_utils.RedfishImageUtilsTestCase.test_prepare_configdrive_image [0.040598s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_image_utils.RedfishImageUtilsTestCase.test_prepare_configdrive_image_url [0.082217s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_image_utils.RedfishImageUtilsTestCase.test_prepare_deploy_iso [0.044203s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_image_utils.RedfishImageUtilsTestCase.test_prepare_deploy_iso_existing_iso [0.033421s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_image_utils.RedfishImageUtilsTestCase.test_prepare_deploy_iso_tls [0.027103s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_image_utils.RedfishImageUtilsTestCase.test_prepare_disk_image_prefix [0.026150s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_inspector.CheckStatusTestCase.test_exception_ignored [0.020907s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_inspector.CheckStatusTestCase.test_status_ok [0.021139s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_inspector.GetClientTestCase.test__get_client [1.625420s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_inspector.GetClientTestCase.test__get_client_standalone [1.175700s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_inspector.InspectHardwareTestCase.test_managed_fast_track [0.070310s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_inspector.InspectHardwareTestCase.test_require_managed_boot [0.024106s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolCheckInitTestCase.test_power_init_calls [0.015836s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolCheckInitTestCase.test_power_init_calls_raises_2 [0.015624s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolCheckOptionSupportedTestCase.test_check_all_options_fail [0.014237s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolCheckOptionSupportedTestCase.test_check_all_options_no_ipmitool [0.014560s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolCheckOptionSupportedTestCase.test_check_all_options_pass [0.014371s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolCheckOptionSupportedTestCase.test_check_single_bridge_no_ipmitool [0.022434s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test__bmc_reset_cold [0.074133s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test__bmc_reset_fail [0.053924s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test__bmc_reset_ok [0.116016s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_dump_sdr_fail [0.133282s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_get_power_state [0.066271s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_get_power_state_exception [0.092657s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_management_interface_get_boot_device [0.094994s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_management_interface_get_boot_device_fail [0.115503s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_management_interface_inject_nmi_fail [0.141472s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_management_interface_inject_nmi_ok [0.176157s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_management_interface_set_boot_device_exec_failed [0.074197s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_management_interface_set_boot_device_persistent [0.102052s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_management_interface_validate_fail [0.085023s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_power_validate [0.096242s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_set_power_off_timeout_ok [0.107454s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_set_power_on_ok [0.093936s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_set_power_on_timeout_fail [0.112376s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_set_power_on_timeout_ok [0.077555s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_set_soft_reboot_ok [0.057313s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_vendor_passthru_driver_routes [0.138983s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test___set_and_wait_no_needless_status_polling [0.127306s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test__check_cipher_suite_errors [0.040168s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test__choose_cipher_suite_empty_list [0.036662s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test__exec_ipmitool_cipher_suite_set_with_error_config [0.040085s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test__exec_ipmitool_cipher_suite_set_with_error_noconfig [0.045219s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test__exec_ipmitool_exception [0.045099s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test__exec_ipmitool_first_call_to_address [0.043020s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test__exec_ipmitool_try_different_cipher_suite [0.045601s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test__exec_ipmitool_with_empty_password [0.028907s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test__exec_ipmitool_with_ironic_retries_multiple [0.089428s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test__exec_ipmitool_with_single_bridging [0.110067s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test__exec_ipmitool_with_timing [0.071274s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test__exec_ipmitool_without_password [0.023136s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test__exec_ipmitool_without_username [0.021545s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test__make_password_file_str_password [0.025611s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test__parse_driver_info [0.048163s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test__parse_driver_info_have_credentials [0.037768s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test__parse_driver_info_invalid_ipmi_prot_version [0.033443s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test__parse_driver_info_ipmi_cipher_suite [0.029739s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test__parse_driver_info_ipmi_prot_version_1_5 [0.064719s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test__parse_driver_info_terminal_port_specified [0.069756s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test__parse_driver_info_with_dual_bridging_missing_parameters [0.121744s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test__parse_driver_info_with_dual_bridging_not_supported [0.038586s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test__parse_driver_info_with_dual_bridging_pass [0.083444s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test__power_on_max_retries [0.102542s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test__soft_power_off_max_retries [0.576393s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test_exec_ipmitool_exception_non_retryable_failure_insufficient_resources_for_session [0.054085s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test_exec_ipmitool_exception_retries_exceeded_bmc_initialization_in_progress [0.054098s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test_exec_ipmitool_exception_retry_node_busy [0.040068s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test_exec_ipmitool_exception_retry_out_of_space [0.067247s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test_exec_ipmitool_exception_retry_timeout [0.031126s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolShellinaboxTestCase.test__get_ipmi_cmd_without_user [0.040357s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolShellinaboxTestCase.test__start_console [0.049302s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolSocatDriverTestCase.test__start_console_fail [0.172255s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_ipxe.iPXEBootTestCase.test_prepare_instance_localboot [0.094941s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_ipxe.iPXEBootTestCase.test_prepare_instance_netboot [0.127603s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_ipxe.iPXEBootTestCase.test_prepare_instance_whole_disk_image_missing_root_uuid [0.053225s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_ipxe.iPXEBootTestCase.test_prepare_ramdisk_ipxe_swift [0.170094s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_ipxe.iPXEBootTestCase.test_prepare_ramdisk_ipxe_without_copy [0.250088s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_ipxe.iPXEBootTestCase.test_prepare_ramdisk_set_default_boot_mode_on_ironic_bios [0.162758s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_ipxe.iPXEBootTestCase.test_prepare_ramdisk_uefi [0.147330s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_ipxe.iPXEBootTestCase.test_validate_fail_missing_deploy_kernel [0.110006s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_ipxe.iPXEBootTestCase.test_validate_inspection [0.121604s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_ipxe.iPXEValidateRescueTestCase.test_validate_rescue [0.036891s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_noop.NoInterfacesTestCase.test_console [0.060173s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_noop.NoInterfacesTestCase.test_inspect [0.026752s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_noop.NoInterfacesTestCase.test_rescue [0.024081s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_pxe.PXEBootRetryTestCase.test_check_boot_status_another_boot_interface [0.086515s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_pxe.PXEBootRetryTestCase.test_check_boot_status_maintenance [0.162139s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_pxe.PXEBootRetryTestCase.test_check_boot_status_not_retry_with_token [0.115595s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_pxe.PXEBootRetryTestCase.test_check_boot_timeouts [0.141470s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_pxe.PXEBootTestCase.test_clean_up_ramdisk [0.216199s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_pxe.PXEBootTestCase.test_prepare_instance_netboot_missing_root_uuid [0.139686s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_pxe.PXEBootTestCase.test_prepare_instance_ramdisk_pxe_conf_exists [0.155267s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_pxe.PXEBootTestCase.test_prepare_instance_ramdisk_pxe_conf_missing [0.148094s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_pxe.PXEBootTestCase.test_prepare_ramdisk_uefi [0.198049s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_pxe.PXEBootTestCase.test_validate_fail_invalid_trusted_boot_value [0.091784s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_pxe.PXEValidateRescueTestCase.test_validate_rescue [0.127433s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_pxe.PXEValidateRescueTestCase.test_validate_rescue_fails_no_rescue_kernel [0.068269s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_pxe.iPXEBootRetryTestCase.test_check_boot_status_another_boot_interface [0.050230s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_ramdisk.RamdiskDeployTestCase.test_execute_clean_step [0.085894s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_ramdisk.RamdiskDeployTestCase.test_validate_with_boot_iso [0.091760s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_snmp.SNMPClientTestCase.test__get_auth_v1_read [0.126543s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_snmp.SNMPClientTestCase.test__get_auth_v3 [0.210545s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_snmp.SNMPClientTestCase.test__get_context [0.070079s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_snmp.SNMPClientTestCase.test__get_transport_custom_timeout [0.112881s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_snmp.SNMPClientTestCase.test_get_err_engine [0.170883s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_snmp.SNMPClientTestCase.test_get_next_err_transport [0.049764s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_snmp.SNMPClientTestCase.test_set [0.158682s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_apc_masterswitch_power_on [0.038473s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_apc_masterswitch_power_state_on [0.101730s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_apc_rackpdu_power_on [0.111828s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_apc_snmp_objects [0.069425s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_aten_power_state_off [0.027380s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_aten_power_state_on [0.164825s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_auto_power_on [0.027642s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_auto_power_on_cached_driver [0.086565s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_baytech_mrp27_power_on [0.033338s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_baytech_mrp27_power_state_on [0.102164s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_cyberpower_power_on [0.036774s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_eaton_power_power_state_off [0.085668s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_eaton_power_power_state_on [0.033490s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_eaton_power_snmp_objects [0.063021s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_power_off [0.027970s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_power_on_invalid_state [0.036525s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_power_reset_off_delay [0.048672s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_power_reset_off_snmp_set_failure [0.025887s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_power_reset_off_timeout [0.079040s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_power_reset_on_snmp_set_failure [0.069249s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_teltronix_power_on [0.047705s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_snmp.SNMPDriverTestCase.test_get_power_state_off [0.131316s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_snmp.SNMPDriverTestCase.test_get_power_state_snmp_failure [0.068129s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_snmp.SNMPDriverTestCase.test_get_properties [0.112884s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_snmp.SNMPValidateParametersTestCase.test__parse_driver_info_apc [0.023806s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_snmp.SNMPValidateParametersTestCase.test__parse_driver_info_apc_masterswitch [0.053967s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_snmp.SNMPValidateParametersTestCase.test__parse_driver_info_apc_masterswitchplus [0.127733s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_snmp.SNMPValidateParametersTestCase.test__parse_driver_info_default_version_and_missing_community [0.166464s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_snmp.SNMPValidateParametersTestCase.test__parse_driver_info_missing_address [0.092702s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_snmp.SNMPValidateParametersTestCase.test__parse_driver_info_missing_community_snmp_v1 [0.028693s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_snmp.SNMPValidateParametersTestCase.test__parse_driver_info_snmp_port [0.019951s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_snmp.SNMPValidateParametersTestCase.test__parse_driver_info_snmp_v3_auth_default_proto [0.049756s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_snmp.SNMPValidateParametersTestCase.test__parse_driver_info_snmp_v3_auth_key_proto [0.038126s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_snmp.SNMPValidateParametersTestCase.test__parse_driver_info_snmp_v3_auth_nokey [0.032530s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_snmp.SNMPValidateParametersTestCase.test__parse_driver_info_snmp_v3_compat [0.036553s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_snmp.SNMPValidateParametersTestCase.test__parse_driver_info_snmp_v3_priv_nokey [0.040534s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_snmp.SNMPValidateParametersTestCase.test__parse_driver_info_teltronix [0.044987s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.test_snmp.SNMPValidateParametersTestCase.test__parse_driver_info_write_community [0.020511s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.xclarity.test_common.XClarityCommonTestCase.test_parse_driver_info [0.023029s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.xclarity.test_common.XClarityCommonTestCase.test_parse_driver_info_missing_driver_info_and_config [0.022373s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.xclarity.test_management.XClarityManagementDriverTestCase.test_get_properties [0.059188s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.xclarity.test_power.XClarityPowerDriverTestCase.test_get_power_state [0.061359s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.xclarity.test_power.XClarityPowerDriverTestCase.test_get_properties [0.043806s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.modules.xclarity.test_power.XClarityPowerDriverTestCase.test_validate [0.155010s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.test_base.CleanStepDecoratorTestCase.test__validate_argsinfo_not_dict [0.050570s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.test_base.CleanStepDecoratorTestCase.test_clean_step_bad_argsinfo [0.039326s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.test_base.CleanStepTestCase.test_get_and_execute_clean_steps [0.056787s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.test_base.DeployStepDecoratorTestCase.test_deploy_step_bad_argsinfo [0.053819s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.test_base.PassthruDecoratorTestCase.test_passthru_ironicexception [0.046278s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.test_base.RAIDInterfaceTestCase.test_validate [0.064734s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.test_base.TestManagementInterface.test_get_supported_boot_modes_default_impl [0.039269s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.test_base.TestManagementInterface.test_inject_nmi_default_impl [0.053154s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.test_base.TestManagementInterface.test_set_indicator_state_default_impl [0.023367s] ... ok DEBUG util.py:443: WARNI [ironic.drivers.modules.drac.vendor_passthru] Vendor passthru interface 'idrac' is deprecated and may be removed in a future release. Use 'idrac-wsman' instead. DEBUG util.py:445: {2} ironic.tests.unit.drivers.test_drac.IDRACHardwareTestCase.test_override_with_inspector [0.049128s] ... ok DEBUG util.py:443: WARNI [ironic.drivers.modules.drac.vendor_passthru] Vendor passthru interface 'idrac' is deprecated and may be removed in a future release. Use 'idrac-wsman' instead. DEBUG util.py:445: {2} ironic.tests.unit.drivers.test_drac.IDRACHardwareTestCase.test_override_with_redfish_management_and_power [0.077908s] ... ok DEBUG util.py:443: WARNI [ironic.drivers.modules.drac.vendor_passthru] Vendor passthru interface 'idrac' is deprecated and may be removed in a future release. Use 'idrac-wsman' instead. DEBUG util.py:445: {2} ironic.tests.unit.drivers.test_drac.IDRACHardwareTestCase.test_override_with_redfish_raid [0.088827s] ... ok DEBUG util.py:443: WARNI [ironic.drivers.modules.drac.vendor_passthru] Vendor passthru interface 'idrac' is deprecated and may be removed in a future release. Use 'idrac-wsman' instead. DEBUG util.py:445: {2} ironic.tests.unit.drivers.test_drac.IDRACHardwareTestCase.test_override_with_redfish_virtual_media_boot [0.110948s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.test_fake_hardware.FakeHardwareTestCase.test_management_interface_get_indicator_state [0.044961s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.test_fake_hardware.FakeHardwareTestCase.test_management_interface_get_supported_boot_devices [0.038932s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.test_fake_hardware.FakeHardwareTestCase.test_management_interface_set_boot_device_fail [0.105075s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.test_fake_hardware.FakeHardwareTestCase.test_management_interface_set_boot_device_good [0.089836s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.test_fake_hardware.FakeHardwareTestCase.test_management_interface_set_boot_mode_good [0.046124s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.test_fake_hardware.FakeHardwareTestCase.test_management_interface_validate [0.043099s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.test_generic.ManualManagementHardwareTestCase.test_get_properties [0.030597s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.test_generic.ManualManagementHardwareTestCase.test_supported_interfaces [0.051809s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.test_ilo.Ilo5HardwareTestCase.test_override_raid [0.053124s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.test_ilo.IloHardwareTestCase.test_override_with_inspector [0.029729s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.test_ilo.IloHardwareTestCase.test_override_with_pxe [0.035118s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.test_ipmi.IPMIHardwareTestCase.test_override_with_shellinabox [0.034140s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.test_irmc.IRMCHardwareTestCase.test_override_with_boot_configuration [0.039179s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.test_irmc.IRMCHardwareTestCase.test_override_with_raid_configuration [0.032455s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.test_utils.UtilsRamdiskLogsTestCase.test_collect_ramdisk_logs_IPA_command_fail [0.019032s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.test_utils.UtilsRamdiskLogsTestCase.test_collect_ramdisk_logs_storage_fail_unkown [0.021423s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.test_utils.UtilsRamdiskLogsTestCase.test_store_ramdisk_logs_local [0.018356s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.test_utils.UtilsTestCase.test_add_node_capability [0.034648s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.test_utils.UtilsTestCase.test_add_node_capability_append [0.037347s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.drivers.test_utils.UtilsTestCase.test_force_persistent_boot_false [0.091194s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.objects.test_allocation.TestAllocationObject.test_get_bad_id_and_uuid_and_name [0.503585s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.objects.test_allocation.TestAllocationObject.test_get_by_id [0.028149s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.objects.test_allocation.TestAllocationObject.test_refresh [0.039584s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.objects.test_allocation.TestConvertToVersion.test_owner_unsupported_set_no_remove_default [0.069395s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.objects.test_allocation.TestConvertToVersion.test_owner_unsupported_set_no_remove_non_default [0.028768s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.objects.test_bios.TestBIOSSettingObject.test_create [0.029408s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.objects.test_bios.TestBIOSSettingObject.test_get [0.035521s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.objects.test_bios.TestBIOSSettingObject.test_list_save [0.037712s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.objects.test_chassis.TestChassisObject.test_create [0.038812s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.objects.test_chassis.TestChassisObject.test_get_bad_id_and_uuid [0.035948s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.objects.test_conductor.TestConductorObject.test_load [0.031057s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.objects.test_conductor.TestConductorObject.test_register_into_group_with_update [0.034111s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.objects.test_conductor.TestConductorObject.test_register_with_invalid_group [0.037115s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.objects.test_conductor.TestConductorObject.test_save [0.023292s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.objects.test_conductor.TestConductorObject.test_unregister [0.025368s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.objects.test_deploy_template.TestDeployTemplateObject.test_create [0.073223s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.objects.test_deploy_template.TestDeployTemplateObject.test_get_by_id [0.074493s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.objects.test_deploy_template.TestDeployTemplateObject.test_get_by_name [0.023198s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.objects.test_deploy_template.TestDeployTemplateObject.test_list_by_names [0.033161s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.objects.test_deploy_template.TestDeployTemplateObject.test_save [0.080876s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.objects.test_deployment.TestDeploymentObject.test_create_with_node [0.066022s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.objects.test_deployment.TestDeploymentObject.test_destroy [0.116975s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.objects.test_deployment.TestDeploymentObject.test_get_by_node_uuid [0.099313s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.objects.test_deployment.TestDeploymentObject.test_not_found [0.095319s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.objects.test_fields.TestMacAddressField.test_coerce [0.017990s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.objects.test_fields.TestMacAddressField.test_coerce_bad_values [0.028279s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.objects.test_fields.TestNotificationStatusField.test_coerce_bad_value [0.055007s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.objects.test_fields.TestStringFieldThatAcceptsCallable.test_coerce_function [0.054503s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.objects.test_fields.TestStringFieldThatAcceptsCallable.test_coerce_string [0.036375s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.objects.test_node.TestConvertToVersion.test_allocation_id_supported_set [0.056686s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.objects.test_node.TestConvertToVersion.test_bios_unsupported_missing [0.109099s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.objects.test_node.TestConvertToVersion.test_bios_unsupported_set_no_remove_default [0.096298s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCVirtualMediaBootTestCase.test_prepare_instance_with_secure_boot [60.188828s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.objects.test_node.TestConvertToVersion.test_boot_mode_supported_set [0.031211s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.objects.test_node.TestConvertToVersion.test_boot_mode_unsupported_set_no_remove_default [0.081349s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCVirtualMediaBootTestCase.test_prepare_ramdisk_glance_image_deploying [0.138222s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.objects.test_node.TestConvertToVersion.test_conductor_group_unsupported_unset [0.129231s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.objects.test_node.TestConvertToVersion.test_description_unsupported_set_no_remove_non_default [0.053762s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.objects.test_node.TestConvertToVersion.test_description_unsupported_set_remove [0.103709s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.objects.test_node.TestConvertToVersion.test_fault_unsupported_missing [0.017023s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCVirtualMediaBootTestCase.test_prepare_ramdisk_not_deploying_not_cleaning [0.309601s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.objects.test_node.TestConvertToVersion.test_fault_unsupported_set_remove [0.046721s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.objects.test_node.TestConvertToVersion.test_lessee_supported_set [0.137136s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCVirtualMediaBootTestCase.test_validate_rescue_no_rescue_ramdisk [0.241200s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.objects.test_node.TestConvertToVersion.test_lessee_unsupported_missing [0.083417s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCVirtualMediaBootWithVolumeTestCase.test__cleanup_boot_from_volume [0.108250s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.objects.test_node.TestConvertToVersion.test_lessee_unsupported_set_no_remove_default [0.108194s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.objects.test_node.TestConvertToVersion.test_lessee_unsupported_set_no_remove_non_default [0.056724s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.objects.test_node.TestConvertToVersion.test_owner_supported_missing [0.043168s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.objects.test_node.TestConvertToVersion.test_owner_supported_set [0.070750s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.objects.test_node.TestConvertToVersion.test_owner_unsupported_missing [0.051296s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCVirtualMediaBootWithVolumeTestCase.test__configure_boot_from_volume_multi_lan_ports [0.261567s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.objects.test_node.TestConvertToVersion.test_owner_unsupported_set_no_remove_default [0.104752s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.objects.test_node.TestConvertToVersion.test_owner_unsupported_set_no_remove_non_default [0.096430s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.objects.test_node.TestConvertToVersion.test_protected_unsupported_missing [0.070575s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCVirtualMediaBootWithVolumeTestCase.test_validate_iscsi_connector_invalid_netmask [0.323438s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.objects.test_node.TestConvertToVersion.test_rescue_supported_missing [0.098203s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.objects.test_node.TestConvertToVersion.test_rescue_unsupported_missing [0.021480s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCVirtualMediaBootWithVolumeTestCase.test_validate_iscsi_connector_no_iqn [0.125435s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.objects.test_node.TestConvertToVersion.test_retired_unsupported_set_remove [0.081797s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.objects.test_node.TestConvertToVersion.test_trait_unsupported_set_no_remove_default [0.076953s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.objects.test_node.TestNodeObject.test_as_dict_secure_configdrive_as_dict [0.021325s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.objects.test_node.TestNodeObject.test_as_dict_secure_with_configdrive [0.042756s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCVirtualMediaBootWithVolumeTestCase.test_validate_iscsi_connector_too_small_netmask [0.174368s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.objects.test_node.TestNodeObject.test_as_dict_with_traits [0.110987s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.irmc.test_boot.IsImageHrefOrdinaryFileNameTestCase.test_is_image_href_ordinary_file_name_false [0.109499s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.objects.test_node.TestNodeObject.test_create [0.040718s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.irmc.test_common.IRMCCommonMethodsTestCase.test_get_irmc_client_cert_support_http [0.080291s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.objects.test_node.TestNodeObject.test_list [0.080598s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.irmc.test_common.IRMCCommonMethodsTestCase.test_get_irmc_client_no_cert_support_http [0.054981s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.objects.test_node.TestNodeObject.test_list_with_fields_empty_trait_present [0.081452s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.irmc.test_common.IRMCCommonMethodsTestCase.test_get_irmc_client_no_cert_support_https [0.052417s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.irmc.test_common.IRMCCommonMethodsTestCase.test_get_irmc_report_no_cert_support_https [0.036695s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.objects.test_node.TestNodeObject.test_refresh [0.065926s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.irmc.test_common.IRMCValidateParametersTestCase.test_parse_driver_info_invalid_snmp_port [0.031349s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.objects.test_node.TestNodeObject.test_reserve [0.040796s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.irmc.test_common.IRMCValidateParametersTestCase.test_parse_driver_info_invalid_snmp_priv_proto [0.075843s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.objects.test_node.TestNodeObject.test_save_with_conductor_group_fail [0.052703s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.irmc.test_common.IRMCValidateParametersTestCase.test_parse_driver_info_invalid_snmp_version [0.035571s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.irmc.test_common.IRMCValidateParametersTestCase.test_parse_driver_info_invalid_snmp_version_fips [0.041888s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.objects.test_node.TestNodeObject.test_save_with_conductor_group_uppercase [0.081675s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.objects.test_node.TestNodeObject.test_save_with_traits [0.039173s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.irmc.test_common.IRMCValidateParametersTestCase.test_parse_driver_info_invalid_verify_ca [0.061130s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.objects.test_node_history.TestNodeHistoryObject.test_create [0.030030s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.irmc.test_common.IRMCValidateParametersTestCase.test_parse_driver_info_missing_password [0.028046s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.objects.test_notification.TestNotificationBase.test_event_type_invalid_status_fails [0.014431s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.objects.test_notification.TestNotificationBase.test_event_type_with_status [0.019081s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.objects.test_notification.TestNotificationBase.test_mask_secrets_no_secrets [0.016456s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.objects.test_notification.TestNotificationBase.test_populate_schema_no_object_field [0.017159s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.irmc.test_common.IRMCValidateParametersTestCase.test_parse_driver_info_missing_snmp_auth_password [0.079838s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.irmc.test_common.IRMCValidateParametersTestCase.test_parse_driver_info_missing_snmp_priv_password [0.041199s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.objects.test_objects.TestMisc.test_max_version_one [0.071276s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.irmc.test_common.IRMCValidateParametersTestCase.test_parse_driver_info_missing_snmp_user [0.037061s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.irmc.test_common.IRMCValidateParametersTestCase.test_parse_driver_info_short_snmp_auth_password [0.036817s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.objects.test_objects.TestObject.test__from_db_object_map_version_bad [0.080002s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.irmc.test_common.IRMCValidateParametersTestCase.test_parse_driver_info_snmpv3_not_support_auth [0.046540s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.objects.test_objects.TestObject.test__from_db_object_old [0.038793s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.irmc.test_common.IRMCValidateParametersTestCase.test_parse_driver_info_string_bool_verify_ca [0.034572s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.objects.test_objects.TestObject.test_assign_value_without_DictCompat [0.046168s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.objects.test_objects.TestObject.test_convert_to_version_new [0.029863s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.objects.test_objects.TestObject.test_get [0.032038s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.objects.test_objects.TestObject.test_get_changes_pinned_2versions [0.015992s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.irmc.test_inspect.IRMCInspectInternalMethodsTestCase.test__inspect_hardware [0.122420s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.objects.test_objects.TestObject.test_get_target_version_pinned_no_myobj [0.022468s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.objects.test_objects.TestObject.test_hydration [0.025379s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.objects.test_objects.TestObject.test_hydration_type_error [0.024488s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.irmc.test_inspect.IRMCInspectTestCase.test_get_properties [0.068433s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.objects.test_objects.TestObject.test_load [0.047300s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.objects.test_objects.TestObject.test_object_property [0.015181s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.objects.test_objects.TestObjectVersions.test_object_version_check [0.024466s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.irmc.test_inspect.IRMCInspectTestCase.test_inspect_hardware_existing_cap_in_props [0.079121s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.objects.test_port.TestConvertToVersion.test_is_smartnic_unsupported [0.058805s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.objects.test_port.TestConvertToVersion.test_is_smartnic_unsupported_set_no_remove_non_default [0.027706s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.irmc.test_inspect.IRMCInspectTestCase.test_inspect_hardware_props_gpu_and_cpu_fpgas_results_are_different [0.081430s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.objects.test_port.TestConvertToVersion.test_name_supported_missing [0.017413s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.irmc.test_inspect.IRMCInspectTestCase.test_validate_fail [0.033912s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.objects.test_port.TestConvertToVersion.test_name_unsupported_set_no_remove_default [0.019719s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.objects.test_port.TestConvertToVersion.test_physnet_unsupported_set_remove [0.028843s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.irmc.test_management.IRMCManagementTestCase.test_management_interface_get_sensors_data_scci_ng [0.046965s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.objects.test_port.TestPortObject.test_get_by_id [0.030899s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.objects.test_port.TestPortObject.test_list [0.016686s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.irmc.test_management.IRMCManagementTestCase.test_management_interface_restore_irmc_bios_config [0.036250s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.objects.test_port.TestPortObject.test_payload_schemas [0.055431s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.objects.test_port.TestPortObject.test_supports_physical_network_unsupported [0.068145s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.irmc.test_management.IRMCManagementTestCase.test_management_interface_set_boot_device_ok_disk [0.117587s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.objects.test_portgroup.TestConvertToVersion.test_vif_in_extra [0.030448s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.objects.test_portgroup.TestConvertToVersion.test_vif_in_extra_in_internal_info [0.037719s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.irmc.test_management.IRMCManagementTestCase.test_management_interface_set_boot_device_ok_pxe [0.086045s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.irmc.test_periodic_task.iRMCPeriodicTaskTestCase.test__query_raid_config_fgi_status_avoid_repeatedly_resume_cleaning [0.040480s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.objects.test_portgroup.TestPortgroupObject.test_refresh [0.083060s] ... 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.053358s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.objects.test_portgroup.TestPortgroupObject.test_save_after_refresh [0.067710s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.objects.test_trait.TestTraitObject.test_as_dict [0.034211s] ... 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.098277s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.objects.test_trait.TestTraitObject.test_create [0.023166s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.objects.test_trait.TestTraitObject.test_create_list [0.029879s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.irmc.test_periodic_task.iRMCPeriodicTaskTestCase.test__query_raid_config_fgi_status_without_node [0.055816s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.objects.test_volume_connector.TestVolumeConnectorObject.test_list_none [0.058458s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.irmc.test_power.IRMCPowerInternalMethodsTestCase.test__set_power_state_power_off_ok [0.055754s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.objects.test_volume_connector.TestVolumeConnectorObject.test_save [0.049005s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.objects.test_volume_connector.TestVolumeConnectorObject.test_save_after_refresh [0.034986s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.irmc.test_power.IRMCPowerInternalMethodsTestCase.test__set_power_state_power_on_ok [0.062372s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.objects.test_volume_target.TestVolumeTargetObject.test_create [0.015670s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.irmc.test_power.IRMCPowerInternalMethodsTestCase.test__set_power_state_soft_power_off_ok [0.037655s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.objects.test_volume_target.TestVolumeTargetObject.test_get_by_uuid [0.021331s] ... ok DEBUG util.py:445: {2} ironic.tests.unit.objects.test_volume_target.TestVolumeTargetObject.test_list_by_volume_id [0.026103s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.irmc.test_power.IRMCPowerInternalMethodsTestCase.test__wait_power_state_soft_power_off [0.050725s] ... ok DEBUG util.py:445: GOT:Response: 202 Accepted DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-cfae8b44-2ae9-4eec-9c10-304c482d05c3 DEBUG util.py:445: "accepted" DEBUG util.py:445: GET: /v1/chassis {} DEBUG util.py:445: GOT:{'chassis': []} 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: 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-2125b51f-599a-4a35-975a-c9473fb4fa37 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.1 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"The server could not comply with the request since it is either malformed or otherwise incorrect.\", \"debuginfo\": null}"} DEBUG util.py:445: GET: /v1/ {} DEBUG util.py:445: GOT:{'id': 'v1', 'links': [{'href': 'http://localhost/v1/', 'rel': 'self'}, {'href': 'https://docs.openstack.org//ironic/latest/contributor//webapi.html', 'rel': 'describedby', 'type': 'text/html'}], 'media_types': {'base': 'application/json', 'type': 'application/vnd.openstack.ironic.v1+json'}, 'chassis': [{'href': 'http://localhost/v1/chassis/', 'rel': 'self'}, {'href': 'http://localhost/chassis/', 'rel': 'bookmark'}], 'nodes': [{'href': 'http://localhost/v1/nodes/', 'rel': 'self'}, {'href': 'http://localhost/nodes/', 'rel': 'bookmark'}], 'ports': [{'href': 'http://localhost/v1/ports/', 'rel': 'self'}, {'href': 'http://localhost/ports/', 'rel': 'bookmark'}], 'drivers': [{'href': 'http://localhost/v1/drivers/', 'rel': 'self'}, {'href': 'http://localhost/drivers/', 'rel': 'bookmark'}], 'version': {'id': 'v1', 'links': [{'href': 'http://localhost/v1/', 'rel': 'self'}], 'status': 'CURRENT', 'min_version': '1.1', 'version': '1.78'}} DEBUG util.py:445: func1() migrated 15 of 15 objects. DEBUG util.py:445: func2() migrated 20 of 20 objects. DEBUG util.py:445: func1() migrated 10 of 10 objects. DEBUG util.py:445: func1() migrated 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: Malformed option m1.key1value1 DEBUG util.py:445: Data migrations have not completed. Please re-run. 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: returning final set DEBUG util.py:445: {10: [1], 11: [4], 12: [7]} DEBUG util.py:445: returning final set DEBUG util.py:445: {10: [1, 2], 11: [4], 12: [7]} DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.irmc.test_power.IRMCPowerInternalMethodsTestCase.test__wait_power_state_soft_reboot [0.045812s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.irmc.test_raid.IRMCRaidConfigurationInternalMethodsTestCase.test___fail_validation_with_none_raid_adapter_profile [0.080231s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.irmc.test_raid.IRMCRaidConfigurationInternalMethodsTestCase.test___fail_validation_with_raid_level_outside_list [0.185101s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.irmc.test_raid.IRMCRaidConfigurationInternalMethodsTestCase.test__commit_raid_config_with_logical_drives [0.149654s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.irmc.test_raid.IRMCRaidConfigurationInternalMethodsTestCase.test__fail_validate_capacity_raid_1 [0.072569s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.irmc.test_raid.IRMCRaidConfigurationInternalMethodsTestCase.test__fail_validate_capacity_raid_10 [0.111819s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.irmc.test_raid.IRMCRaidConfigurationInternalMethodsTestCase.test__fail_validate_capacity_raid_6 [0.100127s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.irmc.test_raid.IRMCRaidConfigurationInternalMethodsTestCase.test__fail_validation_with_physical_disk_insufficient [0.192678s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.irmc.test_raid.IRMCRaidConfigurationTestCase.test_delete_raid_configuration_return_cleared_raid_config [0.065383s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.irmc.test_raid.IRMCRaidConfigurationTestCase.test_fail_create_raid_without_target_raid_config [0.067041s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.network.test_common.TestCommonFunctions.test__get_free_portgroups_and_ports_flat [0.112409s] ... 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.055456s] ... 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.140256s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.network.test_common.TestCommonFunctions.test_get_free_port_like_object_ports_physnet_match_first2 [0.092378s] ... 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.130269s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.network.test_common.TestCommonFunctions.test_get_free_port_like_object_vif_attached_to_portgroup [0.043658s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.network.test_common.TestCommonFunctions.test_plug_port_to_tenant_network_smartnic_port [0.140960s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.network.test_common.TestNeutronVifPortIDMixin.test_port_changed_client_id_fail [0.229912s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.network.test_common.TestNeutronVifPortIDMixin.test_port_changed_extra_add_new_key [0.097032s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.network.test_common.TestNeutronVifPortIDMixin.test_port_changed_novif_pxe_noportgroup [0.207858s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.network.test_common.TestNeutronVifPortIDMixin.test_port_changed_novif_pxe_portgroup_standalone_ports [0.083902s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.network.test_common.TestNeutronVifPortIDMixin.test_port_changed_vif_nopxe_noportgroup [0.136904s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.network.test_common.TestNeutronVifPortIDMixin.test_port_changed_vif_pxe_noportgroup [0.092560s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.network.test_common.TestNeutronVifPortIDMixin.test_update_portgroup_address_no_vif [0.065810s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.network.test_common.TestNeutronVifPortIDMixin.test_update_portgroup_nostandalone_ports_pxe_ports_exc [0.158300s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.network.test_common.TestNeutronVifPortIDMixin.test_update_portgroup_nostandalone_ports_vif_pxe_ports [0.115616s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.network.test_common.TestNeutronVifPortIDMixin.test_update_portgroup_standalone_ports_noports [0.047565s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.network.test_common.TestNeutronVifPortIDMixin.test_vif_attach_update_port_exception [0.124898s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.network.test_common.TestNeutronVifPortIDMixin.test_vif_detach_deleting_node [0.081307s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.network.test_common.TestVifPortIDMixin.test__clear_vif_from_port_like_obj_in_extra_port [0.048564s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.network.test_common.TestVifPortIDMixin.test__clear_vif_from_port_like_obj_in_extra_portgroup [0.075141s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.network.test_common.TestVifPortIDMixin.test__get_vif_id_by_port_like_obj_in_internal_info [0.116487s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.network.test_common.TestVifPortIDMixin.test_vif_list_internal [0.166783s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.network.test_flat.TestFlatInterface.test__bind_flat_ports_set_binding_host_id_portgroup [0.091083s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.network.test_flat.TestFlatInterface.test__unbind_flat_ports_portgroup [0.154896s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.network.test_flat.TestFlatInterface.test_add_inspection_network [0.120207s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.network.test_flat.TestFlatInterface.test_init_no_cleaning_network [0.077924s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.network.test_flat.TestFlatInterface.test_remove_cleaning_network_from_node [0.056789s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.network.test_flat.TestFlatInterface.test_remove_rescuing_network [0.115611s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.network.test_flat.TestFlatInterface.test_validate_inspection_exc [0.085022s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.network.test_neutron.NeutronInterfaceTestCase.test_add_cleaning_network_from_node [0.182559s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.network.test_neutron.NeutronInterfaceTestCase.test_add_provisioning_network_from_node [0.232034s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.network.test_neutron.NeutronInterfaceTestCase.test_add_rescuing_network_from_node [0.111305s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.network.test_neutron.NeutronInterfaceTestCase.test_configure_tenant_networks_with_client_id [0.111097s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.network.test_neutron.NeutronInterfaceTestCase.test_need_power_on_true [0.074926s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.network.test_neutron.NeutronInterfaceTestCase.test_remove_provisioning_network_from_node [0.102670s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.network.test_neutron.NeutronInterfaceTestCase.test_remove_rescuing_network [0.125069s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.network.test_neutron.NeutronInterfaceTestCase.test_unconfigure_tenant_networks_smartnic [0.419017s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.network.test_neutron.NeutronInterfaceTestCase.test_validate [0.060979s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.network.test_neutron.NeutronInterfaceTestCase.test_validate_inspection_exc [0.092501s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.network.test_noop.NoopInterfaceTestCase.test_remove_inspection_network [0.081837s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.network.test_noop.NoopInterfaceTestCase.test_vif_attach [0.048811s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.redfish.test_bios.RedfishBiosTestCase.test_apply_conf_post_reboot_cleaning [0.047392s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.redfish.test_bios.RedfishBiosTestCase.test_apply_conf_post_reboot_deploying_failed [0.051123s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.redfish.test_bios.RedfishBiosTestCase.test_apply_conf_step_pre_reboot_deploying [0.061717s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.redfish.test_bios.RedfishBiosTestCase.test_apply_configuration_apply_time_on_reset [0.041571s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.redfish.test_bios.RedfishBiosTestCase.test_cache_bios_settings_no_bios [0.083126s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.redfish.test_bios.RedfishBiosTestCase.test_check_bios_attrs [0.055356s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.redfish.test_bios.RedfishBiosTestCase.test_factory_reset_fail [0.036928s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.redfish.test_bios.RedfishBiosTestCase.test_factory_reset_post_reboot_cleaning [0.051241s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.redfish.test_bios.RedfishBiosTestCase.test_factory_reset_step_pre_reboot_fast_track [0.066940s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.redfish.test_bios.RedfishBiosTestCase.test_post_configuration [0.039039s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.redfish.test_boot.RedfishVirtualMediaBootTestCase.test__has_vmedia_device_inserted [0.032336s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.redfish.test_boot.RedfishVirtualMediaBootTestCase.test__validate_vendor_compatible_with_idrac [0.143290s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.redfish.test_boot.RedfishVirtualMediaBootTestCase.test_clean_up_instance_ramdisk [0.169798s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.redfish.test_boot.RedfishVirtualMediaBootTestCase.test_parse_driver_info_iso [0.137147s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.redfish.test_boot.RedfishVirtualMediaBootTestCase.test_parse_driver_info_removable [0.063792s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.redfish.test_boot.RedfishVirtualMediaBootTestCase.test_parse_driver_info_rescue [0.078672s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.redfish.test_boot.RedfishVirtualMediaBootTestCase.test_prepare_instance_local_whole_disk_image [0.108710s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.redfish.test_boot.RedfishVirtualMediaBootTestCase.test_prepare_instance_normal_boot [0.233640s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.redfish.test_boot.RedfishVirtualMediaBootTestCase.test_prepare_instance_ramdisk_boot [0.169749s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.redfish.test_boot.RedfishVirtualMediaBootTestCase.test_prepare_ramdisk_fast_track [0.062193s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.redfish.test_boot.RedfishVirtualMediaBootTestCase.test_validate_local [0.169867s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.redfish.test_firmware_utils.FirmwareUtilsTestCase.test_validate_update_firmware_args [0.042769s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.redfish.test_inspect.RedfishInspectTestCase.test_inspect_hardware_fail_missing_cpu [0.033709s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.redfish.test_inspect.RedfishInspectTestCase.test_inspect_hardware_ignore_missing_boot_mode [0.080937s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.redfish.test_inspect.RedfishInspectTestCase.test_inspect_hardware_ignore_missing_local_gb [0.077249s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.redfish.test_inspect.RedfishInspectTestCase.test_inspect_hardware_ok [0.050406s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.redfish.test_inspect.RedfishInspectTestCase.test_inspect_hardware_preserve_boot_mode [0.055792s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.redfish.test_inspect.RedfishInspectTestCase.test_inspect_hardware_with_empty_pxe_port_macs [0.081110s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.redfish.test_inspect.RedfishInspectTestCase.test_inspect_port_creation [0.069693s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.redfish.test_management.RedfishManagementTestCase.test__check_node_firmware_update_fail [0.065476s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.redfish.test_management.RedfishManagementTestCase.test__check_node_firmware_update_in_progress [0.063749s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.redfish.test_management.RedfishManagementTestCase.test__continue_firmware_updates_last_update [0.092373s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.redfish.test_management.RedfishManagementTestCase.test__continue_firmware_updates_wait [0.052487s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.redfish.test_management.RedfishManagementTestCase.test__get_sensors_fan [0.088331s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.redfish.test_management.RedfishManagementTestCase.test__get_sensors_power [0.115201s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.redfish.test_management.RedfishManagementTestCase.test__query_firmware_update_failed_node_notfound [0.038105s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.redfish.test_management.RedfishManagementTestCase.test__query_firmware_update_failed_not_redfish [0.056131s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.redfish.test_management.RedfishManagementTestCase.test__query_firmware_update_status_node_notfound [0.077538s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.redfish.test_management.RedfishManagementTestCase.test_clear_secure_boot_not_implemented [0.054483s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.redfish.test_management.RedfishManagementTestCase.test_get_boot_device [0.039308s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.redfish.test_management.RedfishManagementTestCase.test_get_mac_addresses_success [0.065170s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.redfish.test_management.RedfishManagementTestCase.test_get_secure_boot_state [0.042628s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.redfish.test_management.RedfishManagementTestCase.test_get_sensors_data [0.044191s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.redfish.test_management.RedfishManagementTestCase.test_get_supported_boot_modes [0.112429s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.redfish.test_management.RedfishManagementTestCase.test_get_supported_indicators [0.048060s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.redfish.test_management.RedfishManagementTestCase.test_reset_secure_boot_to_default [0.156257s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.redfish.test_management.RedfishManagementTestCase.test_restore_boot_device [0.096847s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.redfish.test_management.RedfishManagementTestCase.test_restore_boot_device_failure [0.083543s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.redfish.test_management.RedfishManagementTestCase.test_set_boot_device [0.126337s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.redfish.test_management.RedfishManagementTestCase.test_set_boot_device_fail_no_change [0.161330s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.redfish.test_management.RedfishManagementTestCase.test_set_boot_mode [0.046640s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.redfish.test_management.RedfishManagementTestCase.test_set_secure_boot_state [0.087642s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.redfish.test_management.RedfishManagementTestCase.test_set_secure_boot_state_boot_mode_fails [0.088334s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.redfish.test_management.RedfishManagementTestCase.test_set_secure_boot_state_boot_mode_incorrect [0.104704s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.redfish.test_management.RedfishManagementTestCase.test_set_secure_boot_state_boot_mode_unknown [0.065045s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.redfish.test_management.RedfishManagementTestCase.test_update_firmware [0.619625s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.redfish.test_power.RedfishPowerTestCase.test_reboot_from_power_on [0.119089s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.redfish.test_power.RedfishPowerTestCase.test_set_power_state [0.123953s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.redfish.test_raid.RedfishRAIDTestCase.test__check_node_raid_config_pending_delete [0.081571s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.redfish.test_raid.RedfishRAIDTestCase.test__raid_config_in_progress_failed [0.059526s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.redfish.test_raid.RedfishRAIDTestCase.test__raid_config_in_progress_task_mon_error [0.078095s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.redfish.test_raid.RedfishRAIDTestCase.test__volume_usage_per_disk_bytes_raid5 [0.073609s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.redfish.test_raid.RedfishRAIDTestCase.test_create_config_case_1a [0.071412s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.redfish.test_raid.RedfishRAIDTestCase.test_create_config_case_2 [0.193740s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.redfish.test_raid.RedfishRAIDTestCase.test_create_config_case_2_on_reset [0.086922s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.redfish.test_raid.RedfishRAIDTestCase.test_create_config_case_5a [0.078008s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.redfish.test_raid.RedfishRAIDTestCase.test_delete_config_immediate [0.151463s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.redfish.test_raid.RedfishRAIDTestCase.test_delete_config_on_reset [0.048204s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.redfish.test_raid.RedfishRAIDTestCase.test_loading_error [0.083216s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.redfish.test_utils.RedfishUtilsAuthTestCase.test_disabled_sessions_cache [0.080606s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.redfish.test_utils.RedfishUtilsAuthTestCase.test_ensure_new_session_username [0.097614s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.redfish.test_utils.RedfishUtilsSystemTestCase.test_get_system_resource_attribute_error [0.181655s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.redfish.test_utils.RedfishUtilsSystemTestCase.test_get_system_resource_connection_error_retry [0.180307s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.redfish.test_utils.RedfishUtilsSystemTestCase.test_wait_until_get_system_ready [0.068019s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.redfish.test_utils.RedfishUtilsTestCase.test_get_event_service [0.038972s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.redfish.test_utils.RedfishUtilsTestCase.test_get_event_service_error [0.036048s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.redfish.test_utils.RedfishUtilsTestCase.test_parse_driver_info_default_scheme [0.100194s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.redfish.test_utils.RedfishUtilsTestCase.test_parse_driver_info_invalid_value_verify_ca [0.105923s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.redfish.test_utils.RedfishUtilsTestCase.test_parse_driver_info_valid_auth_type [0.113131s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.redfish.test_utils.RedfishUtilsTestCase.test_parse_driver_info_valid_string_value_verify_ca [0.139053s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.redfish.test_vendor.RedfishVendorPassthruTestCase.test_validate_invalid_dev [0.115832s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.storage.test_cinder.CinderInterfaceTestCase.test__generate_connector_raises_with_insufficent_data [0.161706s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.storage.test_cinder.CinderInterfaceTestCase.test__generate_connector_unknown_raises_excption [0.148760s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.storage.test_cinder.CinderInterfaceTestCase.test_validate_success_iscsi_targets [0.089518s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.storage.test_cinder.CinderInterfaceTestCase.test_validate_success_no_settings [0.101863s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.storage.test_external.ExternalInterfaceTestCase.test_should_write_image [0.074833s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.storage.test_external.ExternalInterfaceTestCase.test_validate_fails_with_ipxe_not_enabled [0.054266s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_agent.AgentRAIDTestCase.test__create_configuration_final_registered_deploy [0.054562s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_agent.AgentRAIDTestCase.test__delete_configuration_final_registered [0.080502s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_agent.AgentRAIDTestCase.test_apply_configuration [0.146764s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_agent.AgentRAIDTestCase.test_create_configuration_skip_nonroot [0.068288s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_agent.AgentRAIDTestCase.test_delete_configuration [0.110785s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_agent.AgentRAIDTestCase.test_get_clean_steps [0.060324s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_agent.AgentRescueTestCase.test_agent_rescue [0.205751s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_agent.AgentRescueTestCase.test_agent_unrescue_power_on [0.055952s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_agent.AgentRescueTestCase.test_agent_unrescue_with_smartnic_port [0.118056s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_agent.TestAgentDeploy.test_deploy_storage_should_write_image_false [0.068643s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_agent.TestAgentDeploy.test_prepare [0.097028s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_agent.TestAgentDeploy.test_prepare_active_and_unrescue_states [0.079876s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_agent.TestAgentDeploy.test_prepare_fast_track [0.071350s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_agent.TestAgentDeploy.test_prepare_manage_agent_boot_false [0.058421s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_agent.TestAgentDeploy.test_prepare_with_smartnic_port [0.076249s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_agent.TestAgentDeploy.test_validate_file_image_no_checksum [0.612620s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_agent.TestAgentDeploy.test_validate_nonglance_image_no_checksum_os_algo [0.166325s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_agent.TestAgentDeploy.test_write_image [0.049053s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_agent.TestAgentDeploy.test_write_image_image_source_is_url [0.039198s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_agent.TestAgentDeploy.test_write_image_with_proxies [0.064916s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCVirtualMediaBootTestCase.test_clean_up_instance_with_secure_boot [60.149436s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_agent.TestAgentMethods.test_check_image_size_raw_stream_disabled [0.050733s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_agent.TestAgentMethods.test_validate_http_provisioning_invalid_image_download_source [0.031050s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_agent.TestAgentMethods.test_validate_http_provisioning_missing_args_local_http [0.021927s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_agent.TestAgentMethods.test_validate_http_provisioning_missing_args_local_via_node [0.020036s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_agent.TestCustomAgentDeploy.test_prepare_fast_track [0.065253s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCVirtualMediaBootTestCase.test_clean_up_instance_without_secure_boot [0.143205s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_agent_base.AgentDeployMixinTest.test__get_post_step_hook [0.030615s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_agent_base.AgentDeployMixinTest.test__post_step_reboot_deploy [0.050163s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCVirtualMediaBootTestCase.test_prepare_instance_whole_disk_image_local [0.123707s] ... 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.060521s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_agent_base.AgentDeployMixinTest.test_configure_local_boot_set_boot_device_fail [0.130748s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_agent_base.AgentDeployMixinTest.test_continue_cleaning_running [0.087396s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCVirtualMediaBootTestCase.test_prepare_instance_with_secure_boot_false [0.247320s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_agent_base.AgentDeployMixinTest.test_post_clean_step_hook [0.025020s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_agent_base.AgentDeployMixinTest.test_prepare_instance_to_boot_localboot [0.041523s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCVirtualMediaBootTestCase.test_remote_image_share_type_values [0.077520s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_agent_base.AgentDeployMixinTest.test_switch_to_tenant_network [0.062103s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCVirtualMediaBootTestCase.test_validate_rescue [0.042384s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCVirtualMediaBootWithVolumeTestCase.test__configure_boot_from_volume_apply_error [0.051705s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_agent_base.AgentDeployMixinTest.test_switch_to_tenant_network_fails [0.120209s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCVirtualMediaBootWithVolumeTestCase.test__configure_boot_from_volume_iscsi [0.085413s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_agent_base.AgentDeployMixinTest.test_tear_down_agent_get_power_state_fails [0.060822s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCVirtualMediaBootWithVolumeTestCase.test_validate_iscsi_connector_no_physical_id [0.064628s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCVirtualMediaBootWithVolumeTestCase.test_validate_iscsi_connector_too_large_netmask [0.070627s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.irmc.test_boot.IsImageHrefOrdinaryFileNameTestCase.test_is_image_href_ordinary_file_name_true [0.026973s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.irmc.test_common.IRMCCommonMethodsTestCase.test_get_irmc_client_cert_support_https [0.036263s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_agent_base.AgentDeployMixinTest.test_tear_down_agent_power_off_fails [0.168980s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.irmc.test_common.IRMCCommonMethodsTestCase.test_get_irmc_report_cert_support_http [0.039948s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.irmc.test_common.IRMCCommonMethodsTestCase.test_out_range_auth_method [0.020655s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_agent_base.HeartbeatMixinTest.test_heartbeat_continue_cleaning [0.083316s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.irmc.test_common.IRMCCommonMethodsTestCase.test_set_secure_boot_mode_disable [0.089769s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.irmc.test_common.IRMCValidateParametersTestCase.test_parse_driver_info_dir_path_verify_ca [0.041067s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_agent_base.HeartbeatMixinTest.test_heartbeat_continue_deploy_second_run [0.113699s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.irmc.test_common.IRMCValidateParametersTestCase.test_parse_driver_info_file_path_verify_ca [0.031793s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.irmc.test_common.IRMCValidateParametersTestCase.test_parse_driver_info_ignoring_snmp_security [0.029599s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.irmc.test_common.IRMCValidateParametersTestCase.test_parse_driver_info_invalid_snmp_auth_proto [0.027310s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.irmc.test_common.IRMCValidateParametersTestCase.test_parse_driver_info_invalid_snmp_community [0.029776s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_agent_base.HeartbeatMixinTest.test_heartbeat_deploy_fails [0.122083s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.irmc.test_common.IRMCValidateParametersTestCase.test_parse_driver_info_snmpv3_support_auth [0.022249s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.irmc.test_common.IRMCValidateParametersTestCase.test_parse_driver_option_default [0.018925s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_agent_base.HeartbeatMixinTest.test_heartbeat_in_maintenance [0.088830s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_agent_base.HeartbeatMixinTest.test_heartbeat_noops_in_wrong_state [0.185415s] ... ok DEBUG util.py:443: /builddir/build/BUILD/ironic-18.3.1.dev11/ironic/drivers/modules/irmc/inspect.py:287: RuntimeWarning: coroutine 'AsyncMockMixin._execute_mock_call' was never awaited DEBUG util.py:443: new_port.create() DEBUG util.py:443: RuntimeWarning: Enable tracemalloc to get the object allocation traceback DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_agent_base.HeartbeatMixinTest.test_heartbeat_records_fast_track [0.067158s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.irmc.test_inspect.IRMCInspectTestCase.test_inspect_hardware [0.323823s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_agent_base.StepMethodsTestCase.test_get_steps_custom_interface [0.060049s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.irmc.test_inspect.IRMCInspectTestCase.test_inspect_hardware_props_gpu_cpu_fpgas_zero_and_existing_cap [0.087448s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.irmc.test_inspect.IRMCInspectTestCase.test_inspect_hardware_props_trusted_boot_is_false [0.081611s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_agent_base.StepMethodsTestCase.test_get_steps_missing_steps [0.146756s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_agent_base.TestRefreshCleanSteps.test_refresh_steps [0.105059s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_agent_base.TestRefreshCleanSteps.test_refresh_steps_busy [0.080128s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_agent_client.TestAgentClient.test__command_fail_connect_command_not_running [0.036261s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.irmc.test_inspect.IRMCInspectTestCase.test_inspect_hardware_props_trusted_boot_is_false_and_existing_cap [0.389765s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_agent_client.TestAgentClient.test__command_fail_connect_wrong_command_running [0.144579s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.irmc.test_inspect.IRMCInspectTestCase.test_validate [0.032654s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_agent_client.TestAgentClient.test__command_verify_config [0.072075s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_agent_client.TestAgentClient.test__command_verify_disable_in_driver_info [0.024031s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.irmc.test_management.IRMCManagementFunctionsTestCase.test__restore_bios_config [0.094056s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_agent_client.TestAgentClient.test__command_verify_internal [0.024363s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_agent_client.TestAgentClient.test__command_verify_invalid_file [0.015100s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_agent_client.TestAgentClient.test_finalize_rescue [0.031907s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.irmc.test_management.IRMCManagementFunctionsTestCase.test_backup_bios_config_failed [0.115689s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_agent_client.TestAgentClient.test_get_clean_steps [0.067319s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_agent_client.TestAgentClient.test_get_commands_status_verify [0.032313s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_agent_client.TestAgentClient.test_install_bootloader_with_prep [0.027675s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_agent_client.TestAgentClientAttempts.test__command_fail_all_attempts [0.040170s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.irmc.test_management.IRMCManagementFunctionsTestCase.test_backup_bios_config_skipped [0.101363s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.irmc.test_management.IRMCManagementTestCase.test_management_interface_get_sensors_data_scci_ok [0.041713s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.irmc.test_management.IRMCManagementTestCase.test_management_interface_inject_nmi_ok [0.046733s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_agent_power.AgentPowerTest.test_get_power_state_unknown [0.119919s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.irmc.test_periodic_task.iRMCPeriodicTaskTestCase.test__query_raid_config_fgi_status_completing_status [0.069462s] ... 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.045055s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_agent_power.AgentPowerTest.test_reboot_another_state [0.110124s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.irmc.test_periodic_task.iRMCPeriodicTaskTestCase.test__query_raid_config_fgi_status_with_two_nodes_with_fgi_status_none [0.060751s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_boot_mode_utils.GetBootModeTestCase.test_get_boot_mode_default [0.049518s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.irmc.test_periodic_task.iRMCPeriodicTaskTestCase.test__query_raid_config_fgi_status_without_raid_config [0.067214s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_boot_mode_utils.GetBootModeTestCase.test_get_boot_mode_uefi [0.081076s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.irmc.test_power.IRMCPowerInternalMethodsTestCase.test__set_power_state_soft_reboot_ok [0.039077s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.irmc.test_power.IRMCPowerTestCase.test_get_properties [0.088482s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.irmc.test_power.IRMCPowerTestCase.test_reboot_power_on [0.051410s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_boot_mode_utils.SecureBootTestCase.test_deconfigure_exception [0.155928s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.irmc.test_power.IRMCPowerTestCase.test_reboot_power_on_timeout [0.087916s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_boot_mode_utils.SecureBootTestCase.test_deconfigure_unsupported [0.094230s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_console_utils.ConsoleUtilsTestCase.test__get_console_pid_file_not_found [0.048123s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_console_utils.ConsoleUtilsTestCase.test__stop_console [0.049484s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.irmc.test_power.IRMCPowerTestCase.test_set_power_state [0.120407s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_console_utils.ConsoleUtilsTestCase.test__stop_console_nopid [0.082307s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.irmc.test_raid.IRMCRaidConfigurationInternalMethodsTestCase.test___fail_validation_with_raid_level_is_none [0.086637s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.irmc.test_raid.IRMCRaidConfigurationInternalMethodsTestCase.test__fail_validate_capacity_raid_5 [0.058805s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.irmc.test_raid.IRMCRaidConfigurationInternalMethodsTestCase.test__fail_validate_capacity_raid_50 [0.019594s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_console_utils.ConsoleUtilsTestCase.test__verify_port_ipv4 [0.091221s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.irmc.test_raid.IRMCRaidConfigurationInternalMethodsTestCase.test__fail_validate_capacity_with_physical_disk [0.018718s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_console_utils.ConsoleUtilsTestCase.test_allocate_port_no_free_ports [0.066692s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.irmc.test_raid.IRMCRaidConfigurationInternalMethodsTestCase.test__fail_validation_with_physical_disk_not_enough_disks [0.064604s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.irmc.test_raid.IRMCRaidConfigurationInternalMethodsTestCase.test__fail_validation_with_physical_disk_outside_valid_disks_1 [0.049214s] ... 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.043337s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.irmc.test_raid.IRMCRaidConfigurationInternalMethodsTestCase.test__fail_validation_without_physical_disks [0.031916s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_console_utils.ConsoleUtilsTestCase.test_allocate_port_range_retry [0.161327s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_console_utils.ConsoleUtilsTestCase.test_get_shellinabox_console_https_url [0.075258s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_console_utils.ConsoleUtilsTestCase.test_start_shellinabox_console [0.075258s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.network.test_common.TestCommonFunctions.test__get_free_portgroups_and_ports_no_physnets [0.195712s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_console_utils.ConsoleUtilsTestCase.test_start_shellinabox_console_fail [0.077854s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_console_utils.ConsoleUtilsTestCase.test_start_shellinabox_console_fail_no_pid [0.084109s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.network.test_common.TestCommonFunctions.test__get_free_portgroups_and_ports_port_uuid [0.167644s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_console_utils.ConsoleUtilsTestCase.test_start_socat_console_check_arg_default_timeout [0.046651s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.network.test_common.TestCommonFunctions.test_get_free_port_like_object_vif_attached_to_port [0.070990s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_console_utils.ConsoleUtilsTestCase.test_start_socat_console_check_arg_timeout [0.083470s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.network.test_common.TestCommonFunctions.test_plug_port_to_tenant_network_no_tenant_vif [0.099025s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_console_utils.ConsoleUtilsTestCase.test_start_socat_console_check_arg_timeout_disabled [0.079059s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.network.test_common.TestNeutronVifPortIDMixin.test_port_changed_address [0.040048s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_console_utils.ConsoleUtilsTestCase.test_start_socat_console_fail [0.035882s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.network.test_common.TestNeutronVifPortIDMixin.test_port_changed_message_format_failure [0.061197s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_deploy_utils.AgentMethodsTestCase.test_agent_add_clean_params [0.137616s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.network.test_common.TestNeutronVifPortIDMixin.test_port_changed_novif_pxe_portgroup_nostandalone_ports [0.118607s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.network.test_common.TestNeutronVifPortIDMixin.test_port_changed_vif_pxe_portgroup_nostandalone_ports [0.059481s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_deploy_utils.AgentMethodsTestCase.test_build_agent_options_conf [0.135700s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.network.test_common.TestNeutronVifPortIDMixin.test_update_portgroup_nostandalone_ports_vif_nopxe_ports [0.061914s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_deploy_utils.AgentMethodsTestCase.test_build_agent_options_keystone [0.104076s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.network.test_common.TestNeutronVifPortIDMixin.test_update_portgroup_remove_address [0.130605s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_deploy_utils.AgentMethodsTestCase.test_direct_deploy_should_convert_raw_image_true [0.045659s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_deploy_utils.AgentMethodsTestCase.test_tear_down_inband_cleaning_manage_boot_false [0.050534s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.network.test_common.TestNeutronVifPortIDMixin.test_update_portgroup_standalone_ports_vif_nopxe_ports [0.078575s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.network.test_common.TestNeutronVifPortIDMixin.test_vif_attach [0.054852s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.network.test_common.TestNeutronVifPortIDMixin.test_vif_attach_failure [0.063357s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_deploy_utils.AsyncStepTestCase.test_set_async_step_flags_cleaning_set_one [0.143127s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_deploy_utils.GetPxeBootConfigTestCase.test_get_pxe_boot_file_cpu_in_by_arch [0.034396s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.network.test_common.TestNeutronVifPortIDMixin.test_vif_attach_with_physnet [0.044385s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_deploy_utils.GetPxeBootConfigTestCase.test_get_pxe_config_template_bios_without_by_arch [0.073378s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.network.test_common.TestNeutronVifPortIDMixin.test_vif_detach_not_attached [0.103936s] ... 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.050151s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.network.test_common.TestVifPortIDMixin.test__save_vif_to_port_like_obj_port [0.044075s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.network.test_common.TestVifPortIDMixin.test_get_current_vif_internal_info_rescuing [0.069033s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_deploy_utils.GetPxeBootConfigTestCase.test_get_pxe_config_template_per_node [0.237444s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.network.test_flat.TestFlatInterface.test__bind_flat_ports_set_binding_host_id_raise [0.067072s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_deploy_utils.InstanceImageCacheTestCase.test_with_master_path [0.026852s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_deploy_utils.InstanceInfoTestCase.test_parse_instance_info_missing_instance_source [0.042097s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.network.test_flat.TestFlatInterface.test__unbind_flat_ports [0.067514s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_deploy_utils.InstanceInfoTestCase.test_parse_instance_info_nonglance_image [0.051384s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_deploy_utils.InstanceInfoTestCase.test_parse_instance_info_valid_ephemeral_gb [0.024509s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.network.test_flat.TestFlatInterface.test_add_cleaning_network_from_node [0.116680s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_deploy_utils.InstanceInfoTestCase.test_parse_instance_info_valid_ephemeral_missing_format [0.066633s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.network.test_flat.TestFlatInterface.test_add_provisioning_network [0.094320s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_deploy_utils.InstanceInfoTestCase.test_parse_instance_info_valid_preserve_ephemeral_true [0.132804s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.network.test_flat.TestFlatInterface.test_get_node_network_data [0.112865s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_deploy_utils.OtherFunctionTestCase.test_fetch_images_fail [0.093206s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_deploy_utils.OtherFunctionTestCase.test_get_boot_option_anaconda_deploy [0.039293s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_deploy_utils.ParseInstanceInfoCapabilitiesTestCase.test_is_secure_boot_requested_false [0.022860s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_deploy_utils.ParseInstanceInfoCapabilitiesTestCase.test_is_trusted_boot_requested_true [0.030646s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_deploy_utils.ParseInstanceInfoCapabilitiesTestCase.test_parse_instance_info_capabilities [0.032708s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.network.test_flat.TestFlatInterface.test_validate [0.149451s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_deploy_utils.SwitchPxeConfigTestCase.test_switch_ipxe_iscsi_boot [0.058127s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_deploy_utils.SwitchPxeConfigTestCase.test_switch_pxe_config_partition_image [0.016733s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.network.test_flat.TestFlatInterface.test_vif_attach [0.144328s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_deploy_utils.TestBuildInstanceInfoForDeploy.test_build_instance_info_for_deploy_glance_image [0.161152s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.network.test_flat.TestFlatInterface.test_vif_detach [0.180653s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_deploy_utils.TestBuildInstanceInfoForDeploy.test_build_instance_info_for_deploy_glance_partition_image [0.169000s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_deploy_utils.TestBuildInstanceInfoForDeploy.test_build_instance_info_for_deploy_nonglance_partition_image [0.071526s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.network.test_neutron.NeutronInterfaceTestCase.test_add_inspection_network_from_node [0.198765s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_deploy_utils.TestBuildInstanceInfoForHttpProvisioning.test_build_instance_info_force_raw [0.099562s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.network.test_neutron.NeutronInterfaceTestCase.test_configure_tenant_networks_no_ports_for_node [0.086312s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_deploy_utils.TestBuildInstanceInfoForHttpProvisioning.test_build_instance_info_local_image_via_dinfo [0.096270s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.network.test_neutron.NeutronInterfaceTestCase.test_configure_tenant_networks_with_portgroups [0.084904s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.network.test_neutron.NeutronInterfaceTestCase.test_unconfigure_tenant_networks_portgroup_2 [0.057163s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_deploy_utils.TestBuildInstanceInfoForHttpProvisioning.test_build_instance_info_local_image_via_iinfo [0.114809s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.network.test_neutron.NeutronInterfaceTestCase.test_validate_inspection [0.079678s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_deploy_utils.TestStorageInterfaceUtils.test_is_iscsi_boot_false [0.039683s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.network.test_neutron.NeutronInterfaceTestCase.test_validate_rescue [0.042610s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.network.test_neutron.NeutronInterfaceTestCase.test_vif_attach [0.054327s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_deploy_utils.TestStorageInterfaceUtils.test_tear_down_storage_configuration [0.148101s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.network.test_neutron.NeutronInterfaceTestCase.test_vif_port_changed [0.087012s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.network.test_noop.NoopInterfaceTestCase.test_configure_tenant_networks [0.075228s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_deploy_utils.TrySetBootDeviceTestCase.test_try_set_boot_device_some_other_exception [0.120576s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.network.test_noop.NoopInterfaceTestCase.test_get_node_network_data [0.063509s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_deploy_utils.ValidateImagePropertiesTestCase.test_validate_image_properties_boot_iso_conflict [0.052929s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.network.test_noop.NoopInterfaceTestCase.test_get_properties [0.085192s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_deploy_utils.ValidateImagePropertiesTestCase.test_validate_image_properties_glance_image_missing_stage2_id [0.122713s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.network.test_noop.NoopInterfaceTestCase.test_portgroup_changed [0.057075s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_deploy_utils.ValidateImagePropertiesTestCase.test_validate_image_properties_glance_image_not_found [0.071484s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_deploy_utils.ValidateImagePropertiesTestCase.test_validate_image_properties_invalid_image_href [0.037514s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.network.test_noop.NoopInterfaceTestCase.test_remove_cleaning_network [0.106854s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_deploy_utils.ValidateParametersTestCase.test__get_img_instance_info_boot_iso_only [0.033813s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_deploy_utils.ValidateParametersTestCase.test__get_img_instance_info_missing_image_source [0.035798s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_deploy_utils.ValidateParametersTestCase.test__get_img_instance_info_ramdisk_deploy [0.024317s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_image_cache.CleanupImageCacheTestCase.test_one_clean_up [0.043944s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.network.test_noop.NoopInterfaceTestCase.test_vif_list [0.137245s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_image_cache.TestFetchCleanup.test__fetch_estimate_fallback [0.071650s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_image_cache.TestImageCacheCleanUp.test_clean_up_old_deleted [0.079843s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_image_cache.TestImageCacheDownload.test__download_image_linkfail [0.041889s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_image_cache.TestImageCacheFetch.test_fetch_image_dest_out_of_date [0.052279s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.redfish.test_bios.RedfishBiosRegistryTestCase.test_cache_empty_bios_registry [0.258218s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.redfish.test_bios.RedfishBiosRegistryTestCase.test_cache_no_bios_registry [0.073374s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_image_cache.TestImageCacheFetch.test_fetch_image_master_out_of_date [0.157207s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_image_cache.TestImageCacheFetch.test_fetch_image_no_master_dir [0.018276s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_image_cache.TestImageCacheFetch.test_fetch_image_not_uuid [0.068903s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.redfish.test_bios.RedfishBiosTestCase.test_apply_conf_step_pre_reboot_fast_track [0.167980s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_image_cache.TestUpdateImages.test__delete_master_path_if_stale_glance_img [0.045737s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_image_cache.TestUpdateImages.test__delete_master_path_if_stale_no_master [0.037314s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_image_utils.RedfishImageHandlerTestCase.test__append_filename_param_without_qs [0.048116s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.redfish.test_bios.RedfishBiosTestCase.test_apply_configuration_apply_time_immediate [0.147718s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.redfish.test_bios.RedfishBiosTestCase.test_apply_configuration_no_supported_apply_times [0.078000s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.redfish.test_bios.RedfishBiosTestCase.test_factory_reset_not_supported [0.108679s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.redfish.test_bios.RedfishBiosTestCase.test_factory_reset_post_reboot_deploying [0.070650s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.redfish.test_bios.RedfishBiosTestCase.test_get_properties [0.042512s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.redfish.test_boot.RedfishVirtualMediaBootTestCase.test__validate_vendor_incompatible_with_idrac [0.082656s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.redfish.test_boot.RedfishVirtualMediaBootTestCase.test_eject_vmedia_everything [0.068298s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_image_utils.RedfishImageHandlerTestCase.test_publish_image_local_copy [0.493463s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.redfish.test_boot.RedfishVirtualMediaBootTestCase.test_loading_error [0.041912s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.redfish.test_boot.RedfishVirtualMediaBootTestCase.test_parse_deploy_info_exc [0.045163s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.redfish.test_boot.RedfishVirtualMediaBootTestCase.test_parse_driver_info_from_conf_deploy [0.047491s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_image_utils.RedfishImageHandlerTestCase.test_publish_image_local_link [0.139018s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.redfish.test_boot.RedfishVirtualMediaBootTestCase.test_prepare_ramdisk_fast_track_impossible [0.058619s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_image_utils.RedfishImageHandlerTestCase.test_unpublish_image_swift [0.067100s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.redfish.test_boot.RedfishVirtualMediaBootTestCase.test_prepare_ramdisk_with_floppy [0.045281s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_image_utils.RedfishImageUtilsTestCase.test__find_param [0.062868s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.redfish.test_boot.RedfishVirtualMediaBootTestCase.test_prepare_ramdisk_with_usb [0.060206s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.redfish.test_boot.RedfishVirtualMediaBootTestCase.test_validate_inspection [0.034154s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.redfish.test_boot.RedfishVirtualMediaBootTestCase.test_validate_kernel_ramdisk [0.032341s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_image_utils.RedfishImageUtilsTestCase.test__prepare_iso_image_bootable_iso [0.106292s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.redfish.test_firmware_utils.FirmwareUtilsTestCase.test_validate_update_firmware_args_url_not_string [0.018994s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.redfish.test_inspect.RedfishInspectTestCase.test_get_pxe_port_macs [0.035671s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.redfish.test_inspect.RedfishInspectTestCase.test_inspect_hardware_ignore_missing_memory_mb [0.059031s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_image_utils.RedfishImageUtilsTestCase.test__prepare_iso_image_bootable_iso_swift_noop [0.121564s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_image_utils.RedfishImageUtilsTestCase.test__prepare_iso_image_kernel_params [0.040242s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.redfish.test_inspect.RedfishInspectTestCase.test_inspect_hardware_with_set_port_pxe_disabled [0.075927s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.redfish.test_inspect.RedfishInspectTestCase.test_validate [0.030688s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_image_utils.RedfishImageUtilsTestCase.test__prepare_iso_image_uefi [0.042062s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_image_utils.RedfishImageUtilsTestCase.test_prepare_configdrive_image_binary_url [0.039416s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.redfish.test_management.RedfishManagementTestCase.test__check_node_firmware_update_redfish_conn_error [0.037753s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.redfish.test_management.RedfishManagementTestCase.test__check_node_firmware_update_task_monitor_not_found [0.036403s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.redfish.test_management.RedfishManagementTestCase.test__continue_firmware_updates_more_updates [0.110541s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_inspect_utils.InspectFunctionTestCase.test_create_ports_if_not_exist [0.196911s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.redfish.test_management.RedfishManagementTestCase.test__query_firmware_update_failed [0.052435s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_inspect_utils.InspectFunctionTestCase.test_create_ports_if_not_exist_mac_exception [0.056998s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.redfish.test_management.RedfishManagementTestCase.test__query_firmware_update_failed_node_locked [0.098109s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_inspector.CheckStatusTestCase.test_not_check_inspecting [0.058941s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.redfish.test_management.RedfishManagementTestCase.test__query_firmware_update_status [0.030777s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_inspector.CheckStatusTestCase.test_not_finished [0.082751s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.redfish.test_management.RedfishManagementTestCase.test_detect_vendor [0.067095s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_inspector.CheckStatusTestCase.test_not_inspector [0.043273s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_inspector.CheckStatusTestCase.test_status_error_managed [0.051433s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.redfish.test_management.RedfishManagementTestCase.test_get_boot_mode [0.112789s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_inspector.CommonFunctionsTestCase.test_get_callback_endpoint_mdns [0.033070s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.redfish.test_management.RedfishManagementTestCase.test_get_mac_addresses_no_ports_found [0.049816s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_inspector.CommonFunctionsTestCase.test_get_callback_endpoint_no_loopback [0.049559s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.redfish.test_management.RedfishManagementTestCase.test_get_supported_boot_devices [0.028265s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_inspector.CommonFunctionsTestCase.test_validate_ok [0.029545s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.redfish.test_management.RedfishManagementTestCase.test_inject_nmi [0.116560s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.redfish.test_management.RedfishManagementTestCase.test_inject_nmi_fail [0.155567s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.redfish.test_management.RedfishManagementTestCase.test_restore_boot_device_compat [0.115383s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.redfish.test_management.RedfishManagementTestCase.test_restore_boot_device_noop [0.469677s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_inspector.GetClientTestCase.test__get_client_connection_problem [0.939999s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.redfish.test_management.RedfishManagementTestCase.test_set_indicator_state [0.099633s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_inspector.InspectHardwareTestCase.test_managed_error [0.042108s] ... 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.038994s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.redfish.test_management.RedfishManagementTestCase.test_set_secure_boot_state_not_implemented [0.045815s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.redfish.test_power.RedfishPowerTestCase.test_get_properties [0.028214s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.redfish.test_power.RedfishPowerTestCase.test_reboot_not_reached [0.045667s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_inspector.InspectHardwareTestCase.test_managed_ok [0.213268s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.redfish.test_power.RedfishPowerTestCase.test_set_power_state_fail [0.135620s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.redfish.test_raid.RedfishRAIDTestCase.test__volume_usage_per_disk_bytes_raid10 [0.026823s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.redfish.test_raid.RedfishRAIDTestCase.test_create_config_case_1b [0.045025s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_inspector.InspectHardwareTestCase.test_unmanaged_ok [0.128739s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.redfish.test_raid.RedfishRAIDTestCase.test_create_config_case_1b_apply_time_immediate [0.078649s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolCheckInitTestCase.test_console_init_calls [0.103082s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.redfish.test_raid.RedfishRAIDTestCase.test_get_physical_disks [0.044922s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.redfish.test_raid.RedfishRAIDTestCase.test_update_raid_config_missing_raid_type [0.047875s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolCheckInitTestCase.test_power_init_calls_already_checked [0.097072s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolCheckInitTestCase.test_vendor_passthru_init_calls [0.065123s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.redfish.test_utils.RedfishUtilsAuthTestCase.test_auth_auto [0.141915s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolCheckOptionSupportedTestCase.test_check_dual_bridge_fail [0.061935s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.redfish.test_utils.RedfishUtilsAuthTestCase.test_auth_basic [0.064847s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolCheckOptionSupportedTestCase.test_check_dual_bridge_no_ipmitool [0.045741s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolCheckOptionSupportedTestCase.test_check_dual_bridge_pass [0.047514s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.redfish.test_utils.RedfishUtilsAuthTestCase.test_auth_session [0.081249s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolCheckOptionSupportedTestCase.test_check_timing_fail [0.047378s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolCheckOptionSupportedTestCase.test_check_timing_pass [0.022483s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.redfish.test_utils.RedfishUtilsAuthTestCase.test_ensure_new_session_address [0.073944s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test__parse_ipmi_sensor_data_missing_sensor_reading [0.047788s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.redfish.test_utils.RedfishUtilsTestCase.test_get_task_monitor [0.070776s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.redfish.test_utils.RedfishUtilsTestCase.test_parse_driver_info_default_scheme_with_port [0.056857s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test__parse_ipmi_sensor_data_ok [0.118778s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.redfish.test_utils.RedfishUtilsTestCase.test_parse_driver_info_invalid_address [0.071882s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.redfish.test_utils.RedfishUtilsTestCase.test_parse_driver_info_invalid_auth_type [0.068006s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_get_properties [0.143777s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.redfish.test_utils.RedfishUtilsTestCase.test_parse_driver_info_invalid_system_id [0.045047s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.redfish.test_utils.RedfishUtilsTestCase.test_parse_driver_info_missing_info [0.033078s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.redfish.test_utils.RedfishUtilsTestCase.test_parse_driver_info_missing_system_id [0.045423s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_management_interface_no_force_set_boot_device [0.155588s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.redfish.test_vendor.RedfishVendorPassthruTestCase.test_get_subscription_does_not_exist [0.102727s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.redfish.test_vendor.RedfishVendorPassthruTestCase.test_get_subscription_exists [0.095841s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_management_interface_set_boot_device_uefi_and_persistent_smci [0.190431s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.redfish.test_vendor.RedfishVendorPassthruTestCase.test_validate_invalid_create_subscription [0.052504s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_management_interface_set_boot_device_without_timeout_2 [0.077683s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.storage.test_cinder.CinderInterfaceTestCase.test__generate_connector_iscsi [0.081418s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.storage.test_cinder.CinderInterfaceTestCase.test__generate_connector_iscsi_and_unknown [0.055500s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_reboot_ok [0.095910s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_reboot_timeout_ok [0.054461s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.storage.test_cinder.CinderInterfaceTestCase.test_attach_detach_called_with_target_and_connector [0.074577s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.storage.test_cinder.CinderInterfaceTestCase.test_attach_detach_volumes_no_volumes [0.063349s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_set_power_on_with_next_boot_timeout [0.084808s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.storage.test_cinder.CinderInterfaceTestCase.test_attach_volumes_failure [0.101319s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.storage.test_cinder.CinderInterfaceTestCase.test_attach_volumes_failure_no_attach_error [0.075674s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_set_soft_reboot_timeout_ok [0.169000s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.storage.test_cinder.CinderInterfaceTestCase.test_detach_volumes_failure_raises_exception [0.064030s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_vendor_passthru_validate__bmc_reset_cold_good [0.098153s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.storage.test_cinder.CinderInterfaceTestCase.test_should_write_image [0.050951s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_vendor_passthru_validate__bmc_reset_warm_good [0.106089s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.storage.test_cinder.CinderInterfaceTestCase.test_validate_fails_when_fc_connectors_unequal [0.100338s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_vendor_passthru_validate__send_raw_bytes_good [0.054506s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.storage.test_cinder.CinderInterfaceTestCase.test_validate_fails_with_ipxe_not_enabled [0.076146s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.storage.test_cinder.CinderInterfaceTestCase.test_validate_failure_if_fc_boot_no_connectors [0.043838s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.storage.test_cinder.CinderInterfaceTestCase.test_validate_failure_if_iscsi_boot_no_connectors [0.053138s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test__choose_cipher_suite_returns_last_to_first [0.135592s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_agent.AgentRAIDTestCase.test__create_configuration_final_bad_command_result [0.059624s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_agent.AgentRAIDTestCase.test__create_configuration_final_registered_clean [0.051463s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test__exec_ipmitool_cipher_suite [0.089188s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_agent.AgentRescueTestCase.test_agent_rescue_clean_up [0.066735s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test__exec_ipmitool_cipher_suite_error_noconfig [0.110124s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test__exec_ipmitool_two_calls_to_diff_address [0.030584s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_agent.AgentRescueTestCase.test_agent_rescue_validate_no_manage_agent [0.095279s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test__exec_ipmitool_with_dual_bridging [0.107827s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_agent.TestAgentDeploy.test_prepare_boot_from_volume [0.105495s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test__exec_ipmitool_with_empty_username [0.043844s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test__exec_ipmitool_without_timing [0.039086s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_agent.TestAgentDeploy.test_prepare_cleaning_manage_agent_boot_false [0.094743s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test__ipmitool_timing_args [0.094515s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test__make_password_file_caller_exception [0.026831s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test__parse_driver_info_ipmi_port_valid [0.022778s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_agent.TestAgentDeploy.test_prepare_instance_boot [0.137762s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test__parse_driver_info_numeric_password [0.029796s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test__parse_driver_info_with_no_bridging [0.054429s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test__parse_driver_info_with_single_bridging_missing_parameters [0.036129s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test__power_status_error [0.039067s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_agent.TestAgentDeploy.test_prepare_instance_boot_localboot [0.167452s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test_exec_ipmitool_exception_non_retryable_failure_out_of_space [0.044968s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test_exec_ipmitool_exception_non_retryable_failure_timeout [0.066066s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_agent.TestAgentDeploy.test_prepare_storage_write_false [0.105200s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test_exec_ipmitool_exception_retry_bmc_initialization_in_progress [0.041214s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolShellinaboxTestCase.test__get_ipmi_cmd [0.081957s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_agent.TestAgentDeploy.test_prepare_with_neutron_net_exc_no_capabilities [0.143917s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolShellinaboxTestCase.test_console_validate_missing_port_auto_allocate [0.038180s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolShellinaboxTestCase.test_console_validate_wrong_ipmi_protocol_version [0.031559s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_agent.TestAgentDeploy.test_tear_down_cleaning_manage_agent_boot_false [0.085329s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolShellinaboxTestCase.test_start_console_with_port [0.120190s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_agent.TestAgentDeploy.test_tear_down_with_smartnic_port [0.093113s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_agent.TestAgentDeploy.test_validate [0.066408s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_agent.TestAgentDeploy.test_validate_invalid_proxies [0.043218s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_agent.TestAgentDeploy.test_validate_invalid_root_device_hints_iinfo [0.058075s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_agent.TestAgentDeploy.test_validate_nonglance_image_no_checksum [0.109490s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_agent.TestAgentDeploy.test_validate_nonglance_image_no_os_image_hash [0.104396s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_agent.TestAgentDeploy.test_write_image_partition_image [0.151111s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolShellinaboxTestCase.test_stop_console [0.569456s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolSocatDriverTestCase.test__get_ipmi_cmd_without_user [0.079896s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_agent.TestAgentMethods.test_check_image_size_fail_by_agent_consumed_memory [0.123924s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_agent.TestAgentMethods.test_validate_http_provisioning_not_http [0.027864s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolSocatDriverTestCase.test__start_console_fail_nodir [0.134929s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_agent.TestCustomAgentDeploy.test_deploy_with_deployment_reboot [0.106053s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolSocatDriverTestCase.test_console_validate_invalid_port [0.123188s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolSocatDriverTestCase.test_console_validate_missing_port_auto_allocate [0.057566s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_agent.TestCustomAgentDeploy.test_prepare [0.173886s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolSocatDriverTestCase.test_start_console_alloc_port [0.088166s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_agent_base.AgentDeployMixinTest.test__get_post_step_hook_no_hook_registered [0.088428s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolSocatDriverTestCase.test_start_console_with_port [0.122106s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_agent_base.AgentDeployMixinTest.test__post_step_reboot [0.142732s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_ipxe.iPXEBootTestCase.test_clean_up_ramdisk [0.095909s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_agent_base.AgentDeployMixinTest.test_boot_instance_no_power_on [0.075672s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_ipxe.iPXEBootTestCase.test_get_properties [0.090017s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_agent_base.AgentDeployMixinTest.test_configure_local_boot_boot_loader_install_fail [0.173486s] ... 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.046778s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_ipxe.iPXEBootTestCase.test_prepare_instance_localboot_active [0.158985s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_agent_base.AgentDeployMixinTest.test_configure_local_boot_no_root_uuid [0.057243s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_ipxe.iPXEBootTestCase.test_prepare_instance_netboot_missing_root_uuid [0.089970s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_ipxe.iPXEBootTestCase.test_prepare_ramdisk_conflicting_boot_modes [0.094834s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_agent_base.AgentDeployMixinTest.test_configure_local_boot_on_software_raid_explicit_uuid [0.163531s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_agent_base.AgentDeployMixinTest.test_configure_local_boot_whole_disk_image [0.060119s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_ipxe.iPXEBootTestCase.test_prepare_ramdisk_conflicting_boot_modes_set_unsupported [0.182506s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_ipxe.iPXEBootTestCase.test_prepare_ramdisk_ipxe_with_copy_no_file [0.079620s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_ipxe.iPXEBootTestCase.test_prepare_ramdisk_rescue [0.135992s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_ipxe.iPXEBootTestCase.test_prepare_ramdisk_set_boot_mode_not_called [0.069838s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_ipxe.iPXEBootTestCase.test_prepare_ramdisk_set_default_boot_mode_on_ironic_uefi [0.204319s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_ipxe.iPXEBootTestCase.test_validate_fail_glance_conn_problem [0.071174s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_agent_base.AgentDeployMixinTest.test_continue_cleaning_clean_version_mismatch_fail [0.703091s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_ipxe.iPXEBootTestCase.test_validate_good [0.057024s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_agent_base.AgentDeployMixinTest.test_continue_cleaning_no_step_running [0.064243s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_ipxe.iPXEBootTestCase.test_validate_good_whole_disk_image [0.076459s] ... ok DEBUG util.py:443: WARNI [ironic.drivers.modules.drac.vendor_passthru] Vendor passthru interface 'idrac' is deprecated and may be removed in a future release. Use 'idrac-wsman' instead. DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_noop.NoInterfacesTestCase.test_load_by_name [0.069527s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_agent_base.AgentDeployMixinTest.test_prepare_instance_to_boot_configure_fails [0.116118s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_agent_base.AgentDeployMixinTest.test_prepare_instance_to_boot_localboot_prep_partition [0.068753s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_agent_base.AgentDeployMixinTest.test_tear_down_agent [0.058237s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_pxe.PXEAnacondaDeployTestCase.test_heartbeat_deploy_start [0.146983s] ... 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.044809s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_agent_base.AgentDeployMixinTest.test_tear_down_agent_power_action_oob_power_off_failed [0.111688s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_pxe.PXEAnacondaDeployTestCase.test_prepare_active [0.159315s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_pxe.PXEAnacondaDeployTestCase.test_prepare_cleaning [0.091867s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_agent_base.AgentDeployMixinTest.test_tear_down_agent_soft_poweroff_doesnt_complete [0.115751s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_pxe.PXEBootTestCase.test_clean_up_instance [0.075670s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_agent_base.AgentRescueTests.test__finalize_rescue_bad_command_result [0.089103s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_agent_base.AgentRescueTests.test__finalize_rescue_missing_command_result [0.096942s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_pxe.PXEBootTestCase.test_prepare_instance_kickstart [0.169843s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_agent_base.AgentRescueTests.test__finalize_rescue_with_smartnic_port [0.095172s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_pxe.PXEBootTestCase.test_prepare_instance_localboot [0.080183s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_agent_base.HeartbeatMixinTest.test_heartbeat_continue_cleaning_fails [0.088877s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_pxe.PXEBootTestCase.test_prepare_instance_localboot_active [0.121109s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_agent_base.HeartbeatMixinTest.test_heartbeat_continue_cleaning_polling [0.172208s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_pxe.PXEBootTestCase.test_prepare_instance_netboot_active [0.192658s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_pxe.PXEBootTestCase.test_prepare_instance_whole_disk_image_missing_root_uuid [0.093046s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_pxe.PXEBootTestCase.test_prepare_ramdisk [0.094330s] ... 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.087406s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_pxe.PXEBootTestCase.test_validate_fail_glance_image_doesnt_exists [0.030614s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_pxe.PXEBootTestCase.test_validate_fail_missing_deploy_kernel [0.047793s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_pxe.PXEBootTestCase.test_validate_fail_no_image_kernel_ramdisk_props [0.081804s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_agent_base.HeartbeatMixinTest.test_heartbeat_in_maintenance_abort [0.573696s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_pxe.PXEBootTestCase.test_validate_kickstart_fail_http_url_not_set [0.064935s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_pxe.iPXEBootRetryTestCase.test_check_boot_status_recent_power_change [0.093630s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_agent_base.HeartbeatMixinTest.test_heartbeat_rescue_fails [0.143753s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_pxe.iPXEBootRetryTestCase.test_check_boot_timeouts [0.049623s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_agent_base.HeartbeatMixinTest.test_heartbeat_with_reservation [0.070899s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_agent_base.StepMethodsTestCase.test_agent_get_steps [0.054145s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_agent_base.StepMethodsTestCase.test_execute_clean_step [0.051258s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_ramdisk.RamdiskDeployTestCase.test_prepare_instance_ramdisk [0.212717s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_agent_base.StepMethodsTestCase.test_execute_clean_step_running [0.058093s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_agent_base.StepMethodsTestCase.test_get_steps_override_priorities [0.038952s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_agent_base.StepMethodsTestCase.test_get_steps_override_priorities_none [0.055299s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_agent_client.TestAgentClient.test__command_agent_client [0.017036s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_agent_client.TestAgentClient.test__command_error_code_agent_busy [0.022869s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_agent_client.TestAgentClient.test__command_fail_post [0.022386s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_ramdisk.RamdiskDeployTestCase.test_tear_down_cleaning [0.085338s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_agent_client.TestAgentClient.test__command_verify_disable [0.021896s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_agent_client.TestAgentClient.test__get_command_url_fail [0.029733s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_agent_client.TestAgentClient.test_execute_clean_step [0.013381s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_agent_client.TestAgentClientAttempts.test__command_fail_agent_token_required [0.018327s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_ramdisk.RamdiskDeployTestCase.test_validate_calls_boot_validate [0.088989s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_agent_client.TestAgentClientAttempts.test__command_succeed_after_one_timeout [0.085729s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_snmp.SNMPClientTestCase.test__get_auth_v1_write [0.087287s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_agent_power.AgentPowerTest.test_get_power_state [0.038646s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_agent_power.AgentPowerTest.test_reboot_into_instance [0.041616s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_agent_power.AgentPowerTest.test_validate [0.020400s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_snmp.SNMPClientTestCase.test__get_transport_custom_retries [0.097080s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_boot_mode_utils.GetBootModeTestCase.test_get_boot_mode_bios [0.024560s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_boot_mode_utils.GetBootModeTestCase.test_get_boot_mode_for_deploy_using_instance_info_cap [0.030498s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_console_utils.ConsoleUtilsTestCase.test__ensure_console_pid_dir_exists [0.044493s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_console_utils.ConsoleUtilsTestCase.test__get_console_pid [0.025591s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_console_utils.ConsoleUtilsTestCase.test__stop_console_exception [0.019235s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_snmp.SNMPClientTestCase.test_get_next_err_engine [0.139549s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_console_utils.ConsoleUtilsTestCase.test__verify_port_default [0.038036s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_console_utils.ConsoleUtilsTestCase.test_get_socat_console_url_tcp6 [0.022970s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_apc_masterswitch_power_off [0.071304s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_apc_masterswitch_power_reset [0.034492s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_console_utils.ConsoleUtilsTestCase.test_start_shellinabox_console_nopid [0.067288s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_apc_masterswitch_power_state_off [0.046103s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_console_utils.ConsoleUtilsTestCase.test_start_shellinabox_console_timeout [0.057945s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_apc_masterswitchplus_power_state_on [0.044650s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_apc_power_on [0.024249s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_console_utils.ConsoleUtilsTestCase.test_start_socat_console [0.089379s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_apc_power_state_on [0.044757s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_apc_rackpdu_power_off [0.049439s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_console_utils.ConsoleUtilsTestCase.test_start_socat_console_fail_nopiddir [0.068708s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_console_utils.ConsoleUtilsTestCase.test_stop_socat_console [0.063569s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_apc_rackpdu_power_state_off [0.080743s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_deploy_utils.AgentMethodsTestCase.test_direct_deploy_should_convert_raw_image_no_stream [0.033869s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_aten_power_on [0.032658s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_aten_snmp_objects [0.025363s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_deploy_utils.AgentMethodsTestCase.test_prepare_inband_cleaning_fast_track [0.051888s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_auto_power_off [0.034200s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_deploy_utils.AgentMethodsTestCase.test_tear_down_inband_cleaning_cleaning_error [0.091983s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_auto_power_state_off [0.067903s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_auto_power_state_pdu_discovery_failure [0.023056s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_deploy_utils.GetPxeBootConfigTestCase.test_get_ipxe_config_template [0.028614s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_deploy_utils.GetPxeBootConfigTestCase.test_get_ipxe_config_template_override_pxe_fallback [0.020391s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_deploy_utils.GetPxeBootConfigTestCase.test_get_pxe_config_template_emtpy_property [0.016336s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_deploy_utils.GetSingleNicTestCase.test_get_single_nic_with_provisioning_vif_port_id [0.056453s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_auto_power_state_unknown_pdu [0.114564s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_deploy_utils.GetSingleNicTestCase.test_get_single_nic_with_vif_port_id [0.050064s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_baytech_mrp27_power_reset [0.049024s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_deploy_utils.InstanceInfoTestCase.test_parse_instance_info_invalid_ephemeral_disk [0.023263s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_deploy_utils.InstanceInfoTestCase.test_parse_instance_info_invalid_ephemeral_gb [0.019830s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_deploy_utils.InstanceInfoTestCase.test_parse_instance_info_unicode_swap_mb [0.021228s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_cyberpower_power_off [0.088647s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_deploy_utils.InstanceInfoTestCase.test_parse_instance_info_valid_preserve_ephemeral_false [0.111101s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_cyberpower_power_reset [0.072155s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_deploy_utils.InstanceInfoTestCase.test_parse_instance_info_whole_disk_image [0.030758s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_deploy_utils.OtherFunctionTestCase.test_fetch_images [0.019684s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_eaton_power_power_on [0.075417s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_deploy_utils.OtherFunctionTestCase.test_get_ironic_api_url_none [0.042186s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_power_off_delay [0.021817s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_power_off_invalid_state [0.029650s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_deploy_utils.OtherFunctionTestCase.test_is_anaconda_deploy_false [0.046489s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_power_off_snmp_set_failure [0.034472s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_power_off_timeout [0.075961s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_deploy_utils.OtherFunctionTestCase.test_set_failed_state [0.124942s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_power_on [0.122922s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_deploy_utils.OtherFunctionTestCase.test_set_failed_state_collect_deploy_logs [0.104550s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_deploy_utils.ParseInstanceInfoCapabilitiesTestCase.test_is_trusted_boot_requested_invalid [0.015575s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_power_on_snmp_get_failure [0.036254s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_deploy_utils.ParseInstanceInfoCapabilitiesTestCase.test_validate_trusted_boot_capability [0.032405s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_deploy_utils.SwitchPxeConfigTestCase.test_switch_uefi_elilo_config_whole_disk_image [0.016953s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_deploy_utils.SwitchPxeConfigTestCase.test_switch_uefi_grub_config_whole_disk_image [0.021620s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_deploy_utils.SwitchPxeConfigTestCase.test_switch_uefi_ipxe_config_partition_image [0.022755s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_power_reset [0.112293s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_deploy_utils.TestBuildInstanceInfoForDeploy.test_build_instance_info_for_deploy_nonglance_image [0.057837s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_power_reset_delay_option [0.089669s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_deploy_utils.TestBuildInstanceInfoForHttpProvisioning.test_build_instance_info_force_raw_drops_md5 [0.075929s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_deploy_utils.TestStorageInterfaceUtils.test_check_interface_capability [0.044123s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_deploy_utils.TestStorageInterfaceUtils.test_is_iscsi_boot_exception [0.051973s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_power_reset_off_delay_on_delay [0.100492s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_power_reset_off_snmp_get_failure [0.022155s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_deploy_utils.TestStorageInterfaceUtils.test_is_iscsi_boot_false_fc_target [0.066104s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_power_reset_on_invalid_state [0.051299s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_deploy_utils.ValidateImagePropertiesTestCase.test_validate_image_properties_glance_image [0.030935s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_deploy_utils.ValidateImagePropertiesTestCase.test_validate_image_properties_glance_image_missing_prop [0.022183s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_deploy_utils.ValidateImagePropertiesTestCase.test_validate_image_properties_nonglance_image [0.044858s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_power_state_error [0.079590s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_deploy_utils.ValidateImagePropertiesTestCase.test_validate_image_properties_ramdisk_deploy [0.028979s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_deploy_utils.ValidateParametersTestCase.test__get_img_instance_info_good [0.050841s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_deploy_utils.ValidateParametersTestCase.test__get_img_instance_info_good_non_glance_image [0.040164s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_power_state_snmp_failure [0.119641s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_deploy_utils.ValidateParametersTestCase.test__get_img_instance_info_non_glance_image_missing_kernel [0.021139s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_image_cache.TestImageCacheCleanUp.test_clean_up_cache_still_large [0.020081s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_teltronix_power_state_off [0.042210s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_image_cache.TestImageCacheCleanUp.test_clean_up_ensure_cache_size [0.014732s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_image_cache.TestImageCacheCleanUp.test_clean_up_files_with_links_untouched [0.029315s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_image_cache.TestImageCacheCleanUp.test_cleanup_ordering [0.032788s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_image_cache.TestImageCacheCleanUp.test_temp_images_not_cleaned [0.015968s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_image_cache.TestImageCacheDownload.test__download_image [0.018124s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_snmp.SNMPDriverTestCase.test_reboot [0.143037s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_image_cache.TestUpdateImages.test__delete_dest_path_if_stale_no_dest [0.064808s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_snmp.SNMPDriverTestCase.test_reboot_error [0.038374s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_image_cache.TestUpdateImages.test__delete_master_path_if_stale_master_same_time [0.030750s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_image_cache.TestUpdateImages.test__delete_master_path_if_stale_no_updated_at [0.013796s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_image_cache.TestUpdateImages.test__delete_master_path_if_stale_out_of_date [0.013859s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_snmp.SNMPDriverTestCase.test_reboot_snmp_failure [0.094320s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_image_utils.IloImageHandlerTestCase.test_ilo_kernel_param_config [0.057366s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_snmp.SNMPValidateParametersTestCase.test__parse_driver_info_eatonpower [0.039754s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_image_utils.RedfishImageHandlerTestCase.test__append_filename_param_with_qs [0.034510s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_image_utils.RedfishImageUtilsTestCase.test__prepare_iso_image_bootable_iso_with_instance_info [0.029291s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_snmp.SNMPValidateParametersTestCase.test__parse_driver_info_invalid_outlet [0.066599s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_image_utils.RedfishImageUtilsTestCase.test__prepare_iso_image_kernel_params_driver_info [0.044602s] ... 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.030469s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_snmp.SNMPValidateParametersTestCase.test__parse_driver_info_invalid_version [0.062964s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_image_utils.RedfishImageUtilsTestCase.test_cleanup_floppy_image [0.026893s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_snmp.SNMPValidateParametersTestCase.test__parse_driver_info_missing_community_snmp_v2c [0.037518s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_image_utils.RedfishImageUtilsTestCase.test_cleanup_iso_image [0.036456s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_snmp.SNMPValidateParametersTestCase.test__parse_driver_info_snmp_v2c [0.019771s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.test_snmp.SNMPValidateParametersTestCase.test__parse_driver_info_snmp_v3_context_engine_id [0.016999s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.xclarity.test_common.XClarityCommonTestCase.test_get_server_hardware_id [0.029341s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_image_utils.RedfishImageUtilsTestCase.test_prepare_boot_iso [0.059061s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_image_utils.RedfishImageUtilsTestCase.test_prepare_floppy_image [0.032872s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.xclarity.test_management.XClarityManagementDriverTestCase.test_get_boot_device_fail [0.064166s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_image_utils.RedfishImageUtilsTestCase.test_prepare_floppy_image_with_external_ip [0.039059s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.xclarity.test_management.XClarityManagementDriverTestCase.test_set_boot_device_fail [0.062970s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_inspect_utils.InspectFunctionTestCase.test_create_ports_if_not_exist_attempts_port_creation_blindly [0.087623s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_inspector.CheckStatusTestCase.test_not_inspecting [0.036771s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.modules.xclarity.test_power.XClarityPowerDriverTestCase.test_get_power_state_fail [0.073567s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_inspector.CheckStatusTestCase.test_status_network_clean_up_failed [0.034971s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.test_base.CleanStepDecoratorTestCase.test__validate_argsinfo_arg_missing_description [0.034729s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_inspector.CheckStatusTestCase.test_status_ok_managed [0.045042s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.test_base.CleanStepDecoratorTestCase.test__validate_argsinfo_arg_unknown_key [0.066171s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_inspector.CommonFunctionsTestCase.test_get_callback_endpoint [0.023140s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_inspector.InspectHardwareAbortTestCase.test_abort_error [0.023702s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.test_base.CleanStepDecoratorTestCase.test_clean_step_all_args [0.044564s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_inspector.InspectHardwareTestCase.test_validate_ok [0.043431s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.test_base.CleanStepDecoratorTestCase.test_clean_step_bad_abortable [0.048948s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolCheckInitTestCase.test_console_init_calls_for_socat [0.033213s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.test_base.DeployAndCleanStepDecoratorTestCase.test_deploy_and_clean_step_all_args [0.050812s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolCheckInitTestCase.test_console_init_calls_for_socat_already_checked [0.048241s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.test_base.DeployStepDecoratorTestCase.test_deploy_step_bad_priority [0.019300s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.test_base.DeployStepTestCase.test_get_and_execute_deploy_steps [0.024226s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolCheckInitTestCase.test_management_init_calls [0.042676s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolCheckInitTestCase.test_management_init_calls_already_checked [0.025418s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolCheckOptionSupportedTestCase.test_check_single_bridge_fail [0.015081s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.test_base.RAIDInterfaceTestCase.test_apply_configuration [0.066803s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.test_base.RAIDInterfaceTestCase.test_get_logical_disk_properties [0.020167s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test__allocate_port [0.159033s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test__parse_ipmi_sensor_data_failed [0.044947s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.test_base.RAIDInterfaceTestCase.test_validate_raid_config [0.224633s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.test_base.TestBIOSInterface.test_apply_configuration_wrapper [0.014501s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.test_base.TestBareDriver.test_class_variables [0.013063s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.test_base.TestDeployInterface.test_warning_on_heartbeat [0.014074s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_detect_vendor [0.113703s] ... 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.modules.test_ipmitool.IPMIToolDriverTestCase.test_get_force_boot_device_persistent [0.046948s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.test_drac.IDRACHardwareTestCase.test_override_with_redfish_inspect [0.066735s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.test_fake_hardware.FakeHardwareTestCase.test_get_properties [0.055076s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_management_interface_get_boot_device_unknown_dev [0.061993s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.test_fake_hardware.FakeHardwareTestCase.test_management_interface_get_boot_device [0.055370s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_management_interface_get_supported_boot_devices [0.079104s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.test_fake_hardware.FakeHardwareTestCase.test_management_interface_get_properties [0.064152s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.test_fake_hardware.FakeHardwareTestCase.test_management_interface_set_indicator_state_good [0.055364s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_management_interface_set_boot_device_without_timeout_1 [0.146797s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.test_fake_hardware.FakeHardwareTestCase.test_power_interface [0.065749s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_reboot_already_off [0.095565s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.test_generic.ManualManagementHardwareTestCase.test_default_interfaces [0.145636s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_reboot_fail_power_on [0.064220s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.test_ilo.IloHardwareTestCase.test_override_with_no_bios [0.065332s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_reboot_timeout_fail [0.068952s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.test_ipmi.IPMIHardwareTestCase.test_override_with_cinder_storage [0.039692s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_send_raw_bytes_returns [0.072431s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.test_ipmi.IPMIHardwareTestCase.test_override_with_noop_mgmt [0.047340s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.test_irmc.IRMCHardwareTestCase.test_default_interfaces [0.033170s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_set_power_invalid_state [0.091910s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.test_irmc.IRMCHardwareTestCase.test_override_with_inspector [0.068723s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.test_irmc.IRMCHardwareTestCase.test_override_with_ipmitool_power [0.089929s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_set_power_off_ok [0.129849s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_set_power_on_fail [0.040741s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_set_power_on_with_next_boot [0.040095s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.test_redfish.RedfishHardwareTestCase.test_default_interfaces [0.122374s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.test_utils.MixinVendorInterfaceTestCase.test_vendor_interface_validate_bad_method [0.152645s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.test_utils.UtilsRamdiskLogsTestCase.test_collect_ramdisk_logs_storage_command_fail [0.016004s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.test_utils.UtilsRamdiskLogsTestCase.test_collect_ramdisk_logs_with_label [0.120083s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.test_utils.UtilsRamdiskLogsTestCase.test_get_ramdisk_logs_file_name [0.041017s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.test_utils.UtilsTestCase.test_capabilities_to_dict [0.076373s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.test_utils.UtilsTestCase.test_capabilities_to_dict_with_only_key_or_value_fail [0.034199s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.test_utils.UtilsTestCase.test_ensure_next_boot_device_clears_is_next_boot_persistent [0.163922s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_set_soft_power_off_ok [0.637742s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_vendor_passthru_validate__send_raw_bytes_fail [0.045492s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test__choose_cipher_suite_one_element [0.023707s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.test_utils.UtilsTestCase.test_force_persistent_boot_true [0.091079s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test__exec_ipmitool_with_check_exit_code [0.042000s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.test_utils.UtilsTestCase.test_get_node_capability [0.071593s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test__make_password_file_tempfile_known_exception [0.053221s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test__parse_driver_info_invalid_ipmi_port [0.024683s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.drivers.test_utils.UtilsTestCase.test_normalize_mac_unicode [0.047187s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.objects.test_allocation.TestAllocationObject.test_create [0.041183s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test__parse_driver_info_ipmi_cipher_suite_ipmi_1_5 [0.064672s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test__parse_driver_info_undefined_credentials [0.026518s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.objects.test_allocation.TestAllocationObject.test_list [0.092935s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test__parse_driver_info_with_single_bridging_pass [0.058863s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.objects.test_allocation.TestAllocationObject.test_payload_schemas [0.058053s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.objects.test_allocation.TestConvertToVersion.test_owner_unsupported_missing [0.023830s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test__power_status_on [0.088834s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.objects.test_bios.TestBIOSSettingObject.test_delete [0.069346s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.objects.test_bios.TestBIOSSettingObject.test_list_create [0.020541s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.objects.test_bios.TestBIOSSettingObject.test_sync_node_setting_delete_nochange [0.025885s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test_exec_ipmitool_exception_non_retryable_failure_node_busy [0.130620s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.objects.test_chassis.TestChassisObject.test_save [0.052771s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.objects.test_conductor.TestConductorObject.test_register_hardware_interfaces [0.030066s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.objects.test_conductor.TestConductorObject.test_register_into_group_uppercased [0.022128s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolShellinaboxTestCase.test__start_console_empty_password [0.099826s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.objects.test_conductor.TestConductorObject.test_register_update_existing_true [0.031111s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.objects.test_conductor.TestConductorObject.test_unregister_all_hardware_interfaces [0.022570s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.objects.test_deploy_template.TestDeployTemplateObject.test_destroy [0.022692s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolShellinaboxTestCase.test__start_console_fail [0.067560s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.objects.test_deploy_template.TestDeployTemplateObject.test_get_by_uuid [0.062992s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolShellinaboxTestCase.test_console_validate [0.075930s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolShellinaboxTestCase.test_console_validate_invalid_port [0.085641s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.objects.test_deployment.TestDeploymentObject.test_get_by_uuid [0.142647s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolShellinaboxTestCase.test_get_console [0.048634s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.objects.test_fields.TestFlexibleDictField.test_coerce_bad_values [0.034622s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolShellinaboxTestCase.test_stop_console_fail [0.035050s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.objects.test_fields.TestNotificationLevelField.test_coerce_good_value [0.022942s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolSocatDriverTestCase.test__exec_stop_console [0.050103s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.objects.test_node.TestConvertToVersion.test_allocation_id_unsupported_missing [0.086015s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.objects.test_node.TestConvertToVersion.test_allocation_id_unsupported_set_no_remove_default [0.040174s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolSocatDriverTestCase.test__start_console [0.087486s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.objects.test_node.TestConvertToVersion.test_allocation_id_unsupported_set_remove [0.017473s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.objects.test_node.TestConvertToVersion.test_automated_clean_supported_set [0.025124s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.objects.test_node.TestConvertToVersion.test_bios_unsupported_set_no_remove_non_default [0.035586s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.objects.test_node.TestConvertToVersion.test_boot_mode_supported_missing [0.061607s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolSocatDriverTestCase.test__start_console_empty_password [0.139009s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.objects.test_node.TestConvertToVersion.test_boot_mode_unsupported_set_remove [0.041326s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.objects.test_node.TestConvertToVersion.test_conductor_group_supported_unset [0.022103s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.objects.test_node.TestConvertToVersion.test_conductor_group_unsupported_set [0.017430s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.objects.test_node.TestConvertToVersion.test_description_supported_missing [0.016127s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolSocatDriverTestCase.test_console_validate [0.111860s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.objects.test_node.TestConvertToVersion.test_fault_supported_missing [0.040019s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.objects.test_node.TestConvertToVersion.test_protected_supported_set [0.035311s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolSocatDriverTestCase.test_console_validate_wrong_ipmi_protocol_version [0.129015s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.objects.test_node.TestConvertToVersion.test_rescue_supported_set [0.090750s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolSocatDriverTestCase.test_stop_console [0.079758s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.objects.test_node.TestConvertToVersion.test_rescue_unsupported_set_no_remove_default [0.076114s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.objects.test_node.TestConvertToVersion.test_rescue_unsupported_set_no_remove_non_default [0.031869s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.objects.test_node.TestConvertToVersion.test_rescue_unsupported_set_remove [0.037158s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_ipxe.iPXEBootTestCase.test_prepare_instance_localboot_with_fallback [0.138133s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.objects.test_node.TestConvertToVersion.test_retired_supported_set [0.086487s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.objects.test_node.TestConvertToVersion.test_traits_supported_set [0.074658s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_ipxe.iPXEBootTestCase.test_prepare_instance_netboot_active [0.114933s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.objects.test_node.TestNodeObject.test_as_dict_secure_with_configdrive_as_dict [0.037969s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.objects.test_node.TestNodeObject.test_create_with_invalid_properties [0.041880s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_ipxe.iPXEBootTestCase.test_prepare_instance_netboot_iscsi [0.104146s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.objects.test_node.TestNodeObject.test_get_by_name_node_not_found [0.034409s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.objects.test_node.TestNodeObject.test_payload_schemas [0.031205s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.objects.test_node.TestNodeObject.test_release_node_not_found [0.055893s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.objects.test_node.TestNodeObject.test_save [0.055458s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_ipxe.iPXEBootTestCase.test_prepare_instance_ramdisk [0.157698s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.objects.test_node.TestNodeObject.test_save_after_refresh [0.084054s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.objects.test_node.TestNodeObject.test_touch_provisioning [0.018678s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.objects.test_node.TestNodePayloads.test_node_corrected_power_state_payload [0.016862s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.objects.test_node.TestNodePayloads.test_node_crud_payload [0.037885s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.objects.test_node.TestNodePayloads.test_node_payload [0.025500s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.objects.test_node.TestNodePayloads.test_node_set_power_state_payload [0.033329s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.objects.test_node_history.TestNodeHistoryObject.test_list [0.036480s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_ipxe.iPXEBootTestCase.test_prepare_ramdisk [0.279185s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.objects.test_notification.TestNotificationBase.test_no_emit_notifs_disabled [0.034367s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.objects.test_notification.TestNotificationBase.test_populate_schema_missing_required_obj_field [0.053293s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.objects.test_objects.TestMisc.test_max_version [0.040197s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.objects.test_objects.TestObject.test_as_dict_with_nested_object [0.059019s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.objects.test_objects.TestObject.test_as_dict_with_nested_object_list [0.020987s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_ipxe.iPXEBootTestCase.test_prepare_ramdisk_set_boot_mode_on_ironic [0.194194s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.objects.test_objects.TestObject.test_changed_1 [0.037081s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_ipxe.iPXEBootTestCase.test_validate_fail_glance_image_doesnt_exists [0.058030s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.objects.test_objects.TestObject.test_changed_3 [0.048943s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.objects.test_objects.TestObject.test_changes_in_primitive [0.029694s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.objects.test_objects.TestObject.test_do_version_changes_for_db_pinned [0.027749s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_ipxe.iPXEBootTestCase.test_validate_fail_no_image_kernel_ramdisk_props [0.074393s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.objects.test_objects.TestObject.test_loaded_in_primitive [0.029292s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_ipxe.iPXEBootTestCase.test_validate_skip_check_write_image_false [0.036208s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.objects.test_objects.TestObject.test_obj_attr_is_set [0.014157s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.objects.test_objects.TestObject.test_obj_fields [0.018133s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.objects.test_objects.TestObject.test_object_inheritance [0.033749s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_ipxe.iPXEBootTestCase.test_validate_with_boot_iso [0.085277s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.objects.test_objects.TestObject.test_orphaned_object [0.073347s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.objects.test_objects.TestObject.test_refresh_object [0.029418s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_ipxe.iPXEBootTestCase.test_validate_with_boot_iso_and_image_source [0.088209s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.objects.test_objects.TestObject.test_static_result [0.040302s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.objects.test_objects.TestObject.test_updates [0.034712s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.objects.test_objects.TestObjectSerializer.test_serialize_entity_invalid_pin [0.017421s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_ipxe.iPXEValidateRescueTestCase.test_validate_rescue_fails_no_rescue_kernel [0.098661s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.objects.test_objects.TestObjectSerializer.test_serialize_entity_pinned_api [0.066089s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_noop.NoInterfacesTestCase.test_bios [0.066660s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_noop_mgmt.TestNoopManagement.test_set_boot_device [0.019481s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.objects.test_objects.TestObjectSerializer.test_serialize_entity_pinned_conductor [0.055196s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.objects.test_objects.TestObjectSerializer.test_serialize_entity_unpinned_api [0.039070s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.objects.test_objects.TestRegistry.test_hook_keeps_newer_properly [0.114568s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_pxe.PXEAnacondaDeployTestCase.test_deploy [0.170117s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.objects.test_port.TestConvertToVersion.test_is_smartnic_supported [0.048139s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_pxe.PXEAnacondaDeployTestCase.test_heartbeat_deploy_end [0.107544s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.objects.test_port.TestConvertToVersion.test_is_smartnic_supported_missing [0.101437s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.objects.test_port.TestConvertToVersion.test_is_smartnic_unsupported_set_remove [0.074172s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.objects.test_port.TestConvertToVersion.test_name_supported_set [0.020578s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_pxe.PXEAnacondaDeployTestCase.test_heartbeat_deploy_error [0.137614s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.objects.test_port.TestConvertToVersion.test_name_unsupported_missing [0.040194s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.objects.test_port.TestConvertToVersion.test_physnet_supported_set [0.022131s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.objects.test_port.TestConvertToVersion.test_physnet_unsupported_missing [0.017463s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.objects.test_port.TestConvertToVersion.test_physnet_unsupported_set_no_remove_default [0.029145s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.objects.test_port.TestConvertToVersion.test_physnet_unsupported_set_no_remove_non_default [0.028616s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.objects.test_port.TestConvertToVersion.test_vif_in_extra [0.028606s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.objects.test_port.TestConvertToVersion.test_vif_in_extra_in_internal_info [0.046128s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_pxe.PXEAnacondaDeployTestCase.test_prepare [0.213982s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.objects.test_port.TestConvertToVersion.test_vif_in_extra_lower_version [0.025672s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.objects.test_port.TestConvertToVersion.test_vif_in_extra_not_in_extra [0.026150s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.objects.test_port.TestPortObject.test_get_bad_id_and_uuid_and_name_and_address [0.015693s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.objects.test_port.TestPortObject.test_get_by_uuid [0.016618s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.objects.test_port.TestPortObject.test_refresh [0.014842s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.objects.test_port.TestPortObject.test_supports_is_smartnic_supported [0.014800s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_pxe.PXEBootRetryTestCase.test_check_boot_status_recent_power_change [0.113616s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.objects.test_port.TestPortObject.test_supports_physical_network_supported [0.049686s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_pxe.PXEBootRetryTestCase.test_check_boot_status_retry [0.040035s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.objects.test_portgroup.TestPortgroupObject.test_get_bad_id_and_uuid_and_address_and_name [0.015757s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.objects.test_portgroup.TestPortgroupObject.test_get_by_address [0.045969s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.objects.test_portgroup.TestPortgroupObject.test_list [0.018722s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_pxe.PXEBootRetryTestCase.test_check_boot_status_wrong_state [0.090517s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.objects.test_portgroup.TestPortgroupObject.test_list_by_node_id [0.021886s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.objects.test_trait.TestTraitObject.test_exists [0.029085s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.objects.test_trait.TestTraitObject.test_get_by_id [0.019958s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.objects.test_trait.TestTraitObject.test_get_trait_names [0.040248s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_pxe.PXEBootTestCase.test_prepare_instance_netboot [0.115482s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.objects.test_volume_connector.TestVolumeConnectorObject.test_get_by_id [0.018803s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.objects.test_volume_target.TestVolumeTargetObject.test_save [0.042969s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.objects.test_volume_target.TestVolumeTargetObject.test_save_after_refresh [0.043579s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_pxe.PXEBootTestCase.test_prepare_ramdisk_cleaning [0.107283s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.test_base.BlockExecuteTestCase.test_exception_raised_for_execute [0.020505s] ... ok DEBUG util.py:445: {0} ironic.tests.unit.test_base.BlockExecuteTestCase.test_exception_raised_for_execute_parent_mocked [0.057664s] ... 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-74fa25d1-5992-4b68-a3db-48e18bc6f6b4 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"uuid": "4707d325-c7a0-4033-a469-7db2999545e8", "created_at": "2024-05-14T11:54:40.308536+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/4707d325-c7a0-4033-a469-7db2999545e8", "rel": "self"}]} DEBUG util.py:445: GET: / {} DEBUG util.py:445: GOT:Response: 400 Bad Request DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-0a7cd818-5f8b-4359-af7f-88a266918134 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-eb4fd6e3-bcc4-45ab-bda0-cf28452ed3d9 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: 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-dd41192b-2e4d-4eb0-b83c-08b88cc396c0 DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Schema error for body: 'fourrrr' is too long Failed validating 'maxLength' in schema['properties']['four']\", \"debuginfo\": null}"} DEBUG util.py:445: GET: / {} DEBUG util.py:445: GOT:{'name': 'OpenStack Ironic API', 'description': 'Ironic is an OpenStack project which aims to provision baremetal machines.', 'default_version': {'id': 'v1', 'links': [{'href': 'https://mycloud.com/ironic/v1/', 'rel': 'self'}], 'status': 'CURRENT', 'min_version': '1.1', 'version': '1.78'}, 'versions': [{'id': 'v1', 'links': [{'href': 'https://mycloud.com/ironic/v1/', 'rel': 'self'}], 'status': 'CURRENT', 'min_version': '1.1', 'version': '1.78'}]} DEBUG util.py:445: GET: /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: Running batches of 50 until migrations have been completed. DEBUG util.py:445: returning final set DEBUG util.py:445: {} DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_pxe.PXEBootTestCase.test_prepare_ramdisk_rescue [0.084632s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_pxe.PXEBootTestCase.test_prepare_ramdisk_set_boot_mode_not_called [0.108149s] ... 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.070191s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_pxe.PXEBootTestCase.test_validate_fail_glance_conn_problem [0.106672s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_pxe.PXEBootTestCase.test_validate_good_whole_disk_image [0.048760s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_pxe.PXEBootTestCase.test_validate_inspection_no_inspection_ramdisk [0.110386s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_pxe.PXEBootTestCase.test_validate_no_image_source_for_local_boot [0.032570s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_pxe.PXEBootTestCase.test_validate_skip_check_write_image_false [0.043087s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_pxe.PXEValidateRescueTestCase.test_validate_rescue_no_rescue_ramdisk [0.061018s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_pxe.iPXEBootRetryTestCase.test_check_boot_status_wrong_state [0.093988s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_ramdisk.RamdiskDeployTestCase.test_prepare [0.124351s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_ramdisk.RamdiskDeployTestCase.test_prepare_cleaning [0.045998s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_ramdisk.RamdiskDeployTestCase.test_validate [0.037304s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_ramdisk.RamdiskDeployTestCase.test_validate_interface_mismatch [0.043603s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_snmp.SNMPClientTestCase.test___init__ [0.028098s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_snmp.SNMPClientTestCase.test__get_transport [0.063089s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_snmp.SNMPClientTestCase.test__get_transport_err [0.089869s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_snmp.SNMPClientTestCase.test_get [0.069449s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_snmp.SNMPClientTestCase.test_get_err_transport [0.054866s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_snmp.SNMPClientTestCase.test_get_next [0.068195s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_snmp.SNMPClientTestCase.test_set_err_engine [0.089315s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_snmp.SNMPClientTestCase.test_set_err_transport [0.117554s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_apc_masterswitchplus_power_off [0.018547s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_apc_masterswitchplus_power_on [0.034915s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_apc_masterswitchplus_power_state_off [0.043588s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_apc_masterswitchplus_snmp_objects [0.048056s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_apc_power_state_off [0.024457s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_apc_rackpdu_power_reset [0.052018s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_apc_rackpdu_power_state_on [0.049507s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_auto_power_reset [0.058682s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_auto_power_state_on [0.031270s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_baytech_mrp27_power_off [0.086275s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_baytech_mrp27_power_state_off [0.047708s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_cyberpower_power_state_off [0.038902s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_eaton_power_power_off [0.029938s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_eaton_power_power_reset [0.046868s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_eaton_power_power_state_pending_off [0.033709s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_eaton_power_power_state_pending_on [0.032802s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_power_off_snmp_get_failure [0.021779s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_power_on_delay [0.055987s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_power_on_timeout [0.054738s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_power_reset_off_invalid_state [0.080931s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_power_reset_on_timeout [0.053740s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_power_state_on [0.051595s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_snmp_auto_cache_supports_pdu_replacement [0.065587s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_teltronix_power_reset [0.032649s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_snmp.SNMPDriverTestCase.test_get_power_state_error [0.046846s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_snmp.SNMPDriverTestCase.test_reboot_timeout [0.054746s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_snmp.SNMPDriverTestCase.test_set_power_state_error [0.037481s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_snmp.SNMPDriverTestCase.test_set_power_state_off_error [0.033737s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_snmp.SNMPDriverTestCase.test_set_power_state_on [0.051506s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_snmp.SNMPDriverTestCase.test_set_power_state_on_error [0.033074s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_snmp.SNMPValidateParametersTestCase.test__parse_driver_info_apc_rackpdu [0.019336s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_snmp.SNMPValidateParametersTestCase.test__parse_driver_info_aten [0.018177s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_snmp.SNMPValidateParametersTestCase.test__parse_driver_info_missing_outlet [0.025663s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_snmp.SNMPValidateParametersTestCase.test__parse_driver_info_snmp_port_default [0.021337s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_snmp.SNMPValidateParametersTestCase.test__parse_driver_info_snmp_v1 [0.028228s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_snmp.SNMPValidateParametersTestCase.test__parse_driver_info_snmp_v3_auth_badproto [0.020088s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_snmp.SNMPValidateParametersTestCase.test__parse_driver_info_snmp_v3_priv_badproto [0.040413s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_snmp.SNMPValidateParametersTestCase.test__parse_driver_info_snmp_v3_priv_key_proto [0.039696s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.test_snmp.SNMPValidateParametersTestCase.test__parse_driver_info_snmp_v3_priv_short_key [0.081150s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.xclarity.test_common.XClarityCommonTestCase.test_get_xclarity_client [0.450347s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.xclarity.test_common.XClarityCommonTestCase.test_parse_driver_info_invalid_port [0.051893s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.xclarity.test_management.XClarityManagementDriverTestCase.test_get_boot_device_current_none [0.037038s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.xclarity.test_management.XClarityManagementDriverTestCase.test_get_boot_device_primary_none [0.041990s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.xclarity.test_management.XClarityManagementDriverTestCase.test_get_supported_boot_devices [0.047340s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.xclarity.test_management.XClarityManagementDriverTestCase.test_set_boot_device [0.036462s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.xclarity.test_management.XClarityManagementDriverTestCase.test_validate [0.082535s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.xclarity.test_power.XClarityPowerDriverTestCase.test_set_power [0.104800s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.modules.xclarity.test_power.XClarityPowerDriverTestCase.test_set_power_timeout [0.086197s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.test_base.CleanStepDecoratorTestCase.test__validate_argsinfo_arg_not_dict [0.020682s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.test_base.CleanStepDecoratorTestCase.test_clean_step_bad_priority [0.018658s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.test_base.CleanStepDecoratorTestCase.test_clean_step_priority_only [0.038335s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.test_base.DeployAndCleanStepDecoratorTestCase.test_clean_and_deploy_step_all_args [0.023625s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.test_base.DeployAndCleanStepDecoratorTestCase.test_deploy_and_clean_step_priority_only [0.024442s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.test_base.PassthruDecoratorTestCase.test_passthru_noexception [0.045253s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.test_base.PassthruDecoratorTestCase.test_passthru_nonironicexception [0.044286s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.test_base.PassthruDecoratorTestCase.test_passthru_shared_task_metadata [0.057387s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.test_base.RAIDInterfaceTestCase.test_apply_configuration_delete_existing [0.049070s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.test_base.TestBIOSInterface.test_factory_reset_wrapper [0.040757s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.test_base.TestBootInterface.test_validate_rescue_default_impl [0.046527s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.test_base.TestManagementInterface.test_get_boot_mode_default_impl [0.075867s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.test_base.TestManagementInterface.test_get_mac_addresses [0.022613s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.test_base.TestManagementInterface.test_get_supported_indicators_default_impl [0.048984s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.test_base.TestManagementInterface.test_set_boot_mode_default_impl [0.025341s] ... 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.124307s] ... 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_raid [0.131435s] ... 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_bios [0.073378s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.test_generic.ManualManagementHardwareTestCase.test_get_properties_none [0.045601s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.test_ilo.Ilo5HardwareTestCase.test_default_interfaces [0.086601s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.test_ilo.IloHardwareTestCase.test_default_interfaces [0.071364s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.test_ilo.IloHardwareTestCase.test_override_with_agent_rescue [0.066613s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.test_ipmi.IPMIHardwareTestCase.test_default_interfaces [0.104053s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.test_ipmi.IPMIHardwareTestCase.test_override_with_agent_rescue [0.098806s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.test_irmc.IRMCHardwareTestCase.test_override_with_agent_rescue [0.116753s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.test_snmp.SNMPHardwareTestCase.test_default_interfaces [0.044820s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.test_snmp.SNMPHardwareTestCase.test_fake_management [0.056874s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.test_utils.MixinVendorInterfaceTestCase.test_vendor_interface_get_properties [0.032848s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.test_utils.MixinVendorInterfaceTestCase.test_vendor_interface_validate_valid_methods [0.034984s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.test_utils.UtilsRamdiskLogsTestCase.test_collect_ramdisk_logs [0.015865s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.test_utils.UtilsRamdiskLogsTestCase.test_collect_ramdisk_logs_storage_fail_fs [0.032598s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.test_utils.UtilsTestCase.test_add_node_capability_append_duplicate [0.162118s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.test_utils.UtilsTestCase.test_capabilities_not_string [0.032158s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.test_utils.UtilsTestCase.test_capabilities_to_dict_with_incorrect_format_fail [0.058965s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.test_utils.UtilsTestCase.test_get_node_mac_addresses [0.100701s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.drivers.test_utils.UtilsTestCase.test_normalize_mac_string [0.054122s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.objects.test_allocation.TestAllocationObject.test_save [0.034076s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.objects.test_allocation.TestAllocationObject.test_save_after_refresh [0.032532s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.objects.test_allocation.TestConvertToVersion.test_owner_supported_missing [0.036696s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.objects.test_allocation.TestConvertToVersion.test_owner_unsupported_set_remove [0.038370s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.objects.test_bios.TestBIOSSettingObject.test_get_by_node_id [0.024833s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.objects.test_bios.TestBIOSSettingObject.test_list_delete [0.055134s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.objects.test_chassis.TestChassisObject.test_get_by_id [0.046099s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.objects.test_chassis.TestChassisObject.test_payload_schemas [0.053137s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.objects.test_chassis.TestChassisObject.test_refresh [0.027925s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.objects.test_conductor.TestConductorObject.test_touch [0.043618s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.objects.test_deploy_template.TestDeployTemplateObject.test_refresh [0.017470s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.objects.test_deployment.TestDeploymentObject.test_refresh [0.065504s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.objects.test_fields.TestFlexibleDictField.test_coerce [0.044498s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.objects.test_fields.TestNotificationLevelField.test_coerce_bad_value [0.016687s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.objects.test_fields.TestNotificationStatusField.test_coerce_good_value [0.017198s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.objects.test_fields.TestStringFieldThatAcceptsCallable.test__repr__includes_default_function_name_and_source_hash [0.052752s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.objects.test_fields.TestStringFieldThatAcceptsCallable.test_coerce_default_as_function [0.047225s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.objects.test_fields.TestStringFieldThatAcceptsCallable.test_coerce_function_invalid_type [0.072333s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.objects.test_fields.TestStringFieldThatAcceptsCallable.test_coerce_invalid_type [0.015857s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.objects.test_node.TestConvertToVersion.test_allocation_id_supported_missing [0.021249s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.objects.test_node.TestConvertToVersion.test_allocation_id_unsupported_set_no_remove_non_default [0.018501s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.objects.test_node.TestConvertToVersion.test_automated_clean_supported_missing [0.023345s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.objects.test_node.TestConvertToVersion.test_automated_clean_unsupported_set_no_remove_default [0.042557s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.objects.test_node.TestConvertToVersion.test_automated_clean_unsupported_set_no_remove_non_default [0.045207s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.objects.test_node.TestConvertToVersion.test_bios_unsupported_set_remove [0.049281s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.objects.test_node.TestConvertToVersion.test_boot_mode_unsupported_set_no_remove_non_default [0.027764s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.objects.test_node.TestConvertToVersion.test_description_unsupported_missing [0.027434s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.objects.test_node.TestConvertToVersion.test_description_unsupported_set_no_remove_default [0.042908s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.objects.test_node.TestConvertToVersion.test_fault_supported_untouched [0.042849s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.objects.test_node.TestConvertToVersion.test_fault_unsupported_set_remove_in_maintenance [0.055345s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.objects.test_node.TestConvertToVersion.test_lessee_supported_missing [0.089573s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.objects.test_node.TestConvertToVersion.test_lessee_unsupported_set_remove [0.046900s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.objects.test_node.TestConvertToVersion.test_owner_unsupported_set_remove [0.061458s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.objects.test_node.TestConvertToVersion.test_protected_supported_missing [0.073670s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.objects.test_node.TestConvertToVersion.test_protected_unsupported_set_no_remove_non_default [0.028306s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.objects.test_node.TestConvertToVersion.test_retired_supported_missing [0.025695s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.objects.test_node.TestConvertToVersion.test_retired_unsupported_missing [0.026120s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.objects.test_node.TestNodeObject.test_as_dict_insecure [0.071337s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.objects.test_node.TestNodeObject.test_as_dict_secure [0.059385s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.objects.test_node.TestNodeObject.test_create_with_traits [0.066093s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.objects.test_node.TestNodeObject.test_get_by_instance_not_found [0.050620s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.objects.test_node.TestNodeObject.test_list_with_fields [0.045580s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.objects.test_node.TestNodeObject.test_save_updated_at_field [0.053190s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.objects.test_node.TestNodeObject.test_save_with_conductor_group [0.099503s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.objects.test_node.TestNodePayloads.test_node_payload_traits_is_none [0.092780s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.objects.test_node_history.TestNodeHistoryObject.test_destroy [0.074502s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.objects.test_node_history.TestNodeHistoryObject.test_get [0.020922s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.objects.test_node_history.TestNodeHistoryObject.test_list_none [0.018119s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.objects.test_notification.TestNotificationBase.test_emit_notification_empty_schema [0.039096s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.objects.test_notification.TestNotificationBase.test_event_type_make_status_invalid [0.025622s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.objects.test_notification.TestNotificationBase.test_event_type_without_status_fails [0.015908s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.objects.test_notification.TestNotificationBase.test_mask_secrets_has_secrets [0.032541s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.objects.test_notification.TestNotificationBase.test_mask_secrets_not_affected [0.019967s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.objects.test_notification.TestNotificationBase.test_populate_schema_nullable_field_auto_populates [0.036098s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.objects.test_objects.TestObject.test_as_dict [0.025752s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.objects.test_objects.TestObject.test_base_attributes [0.031598s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.objects.test_objects.TestObject.test_changed_4 [0.013252s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.objects.test_objects.TestObject.test_contains [0.013879s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.objects.test_objects.TestObject.test_convert_to_version_old_keep [0.012354s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.objects.test_objects.TestObject.test_do_version_changes_for_db [0.013523s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.objects.test_objects.TestObject.test_get_updates [0.017301s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.objects.test_objects.TestObject.test_load_in_base [0.012903s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.objects.test_objects.TestObject.test_obj_constructor [0.028959s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.objects.test_objects.TestObject.test_object_property_type_error [0.020748s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.objects.test_objects.TestObjectSerializer.test__process_object_api [0.014304s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.objects.test_objects.TestObjectSerializer.test__process_object_convert_conductor [0.016490s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.objects.test_objects.TestObjectSerializer.test_deserialize_entity_newer_revision_does_not_backport [0.028402s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.objects.test_objects.TestObjectSerializer.test_deserialize_entity_newer_version_passes_revision [0.047317s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.objects.test_objects.TestObjectSerializer.test_object_serialization_iterables [0.036086s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.objects.test_objects.TestRegistry.test_hook_chooses_newer_properly [0.144075s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.objects.test_port.TestConvertToVersion.test_is_smartnic_supported_set [0.017544s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.objects.test_port.TestConvertToVersion.test_is_smartnic_unsupported_set_no_remove_default [0.017005s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.objects.test_port.TestConvertToVersion.test_name_unsupported_set_no_remove_non_default [0.022453s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.objects.test_port.TestConvertToVersion.test_name_unsupported_set_remove [0.037200s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.objects.test_port.TestConvertToVersion.test_physnet_supported_missing [0.016423s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.objects.test_port.TestPortObject.test_get_by_address [0.052833s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.objects.test_port.TestPortObject.test_list_deprecated_owner [0.050721s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.objects.test_port.TestPortObject.test_save [0.030986s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.objects.test_port.TestPortObject.test_save_after_refresh [0.060264s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.objects.test_port.TestPortObject.test_supports_is_smartnic_unsupported [0.075720s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.objects.test_portgroup.TestConvertToVersion.test_vif_in_extra_not_in_extra [0.049958s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.objects.test_portgroup.TestPortgroupObject.test_get_by_id [0.049810s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.objects.test_portgroup.TestPortgroupObject.test_get_by_name [0.054546s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.objects.test_portgroup.TestPortgroupObject.test_payload_schemas [0.032397s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.objects.test_trait.TestTraitObject.test_destroy [0.023208s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.objects.test_trait.TestTraitObject.test_destroy_list [0.021339s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.objects.test_volume_connector.TestVolumeConnectorObject.test_get [0.038142s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.objects.test_volume_connector.TestVolumeConnectorObject.test_list [0.049436s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.objects.test_volume_connector.TestVolumeConnectorObject.test_refresh [0.075708s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.objects.test_volume_target.TestVolumeTargetObject.test_destroy [0.041505s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.objects.test_volume_target.TestVolumeTargetObject.test_get [0.034259s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.objects.test_volume_target.TestVolumeTargetObject.test_list [0.022397s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.objects.test_volume_target.TestVolumeTargetObject.test_list_by_node_id [0.062517s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.objects.test_volume_target.TestVolumeTargetObject.test_list_none [0.034619s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.objects.test_volume_target.TestVolumeTargetObject.test_payload_schemas [0.021324s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.objects.test_volume_target.TestVolumeTargetObject.test_refresh [0.027646s] ... ok DEBUG util.py:445: {1} ironic.tests.unit.test_base.DontBlockExecuteTestCase.test_no_exception_raised_for_execute [0.023684s] ... ok DEBUG util.py:445: [NodeHistory(conductor=None,created_at=2024-05-07T11:54:50Z,event='oldthree',event_type=None,id=3,node_id=10,severity=None,updated_at=None,user=None,uuid=29bc6013-5e11-45d6-8032-6a1a0472cf57), NodeHistory(conductor='fake-mini',created_at=2024-05-14T11:54:50Z,event='one',event_type='UNKNOWN',id=4,node_id=10,severity='INFO',updated_at=None,user=None,uuid=db6ff758-2555-44ec-b85f-a291fb93c83a), NodeHistory(conductor='fake-mini',created_at=2024-05-14T11:54:50Z,event='two',event_type='UNKNOWN',id=5,node_id=10,severity='INFO',updated_at=None,user=None,uuid=e7c69d58-2b38-452c-8724-12c4a5293b5e), NodeHistory(conductor='fake-mini',created_at=2024-05-14T11:54:50Z,event='three',event_type='UNKNOWN',id=6,node_id=10,severity='INFO',updated_at=None,user=None,uuid=f74bb3bc-de3c-41bc-950a-9085dc116e29), NodeHistory(conductor=None,created_at=2024-05-07T11:54:50Z,event='oldthree',event_type=None,id=9,node_id=11,severity=None,updated_at=None,user=None,uuid=fb0a6d9f-9507-4ba8-a136-bfa25ea9b0a7), NodeHistory(conductor='fake-mini',created_at=2024-05-14T11:54:50Z,event='one',event_type='UNKNOWN',id=10,node_id=11,severity='INFO',updated_at=None,user=None,uuid=ec24174c-64e1-4221-9e79-4848e1fe2c70), NodeHistory(conductor='fake-mini',created_at=2024-05-14T11:54:50Z,event='two',event_type='UNKNOWN',id=11,node_id=11,severity='INFO',updated_at=None,user=None,uuid=7b6e492d-8cbb-49f6-b488-7497ae619870), NodeHistory(conductor='fake-mini',created_at=2024-05-14T11:54:50Z,event='three',event_type='UNKNOWN',id=12,node_id=11,severity='INFO',updated_at=None,user=None,uuid=99f0889a-0f00-4010-8895-979a70d6bd8a), NodeHistory(conductor=None,created_at=2024-05-07T11:54:50Z,event='oldthree',event_type=None,id=15,node_id=12,severity=None,updated_at=None,user=None,uuid=e29d8e17-227f-4bdf-9c69-9f974432e31b), NodeHistory(conductor='fake-mini',created_at=2024-05-14T11:54:50Z,event='one',event_type='UNKNOWN',id=16,node_id=12,severity='INFO',updated_at=None,user=None,uuid=79a61cb8-ceee-4dd3-b5cd-1004b1345da6), NodeHistory(conductor='fake-mini',created_at=2024-05-14T11:54:50Z,event='two',event_type='UNKNOWN',id=17,node_id=12,severity='INFO',updated_at=None,user=None,uuid=00a1e9ad-9bb4-4927-a9df-eb10c344f19f), NodeHistory(conductor='fake-mini',created_at=2024-05-14T11:54:50Z,event='three',event_type='UNKNOWN',id=18,node_id=12,severity='INFO',updated_at=None,user=None,uuid=5e44cbdb-6afd-4c90-8ad2-d5b93ba5def7)] DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_agent_base.AgentDeployMixinTest.test_continue_cleaning_unknown [180.110938s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_agent_base.AgentDeployMixinTest.test_continue_cleaning_with_hook_fails [0.042279s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_agent_base.AgentDeployMixinTest.test_tear_down_agent_soft_poweroff_fails [0.042540s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_agent_base.AgentDeployMixinTest.test_tear_down_agent_soft_poweroff_race [0.066024s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_agent_base.AgentRescueTests.test__finalize_rescue [0.041283s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_agent_base.HeartbeatMixinTest.test_heartbeat_deploy_done_raises_with_event [0.064660s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_agent_base.HeartbeatMixinTest.test_heartbeat_noops_in_wrong_state2 [0.174999s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_agent_base.HeartbeatMixinTest.test_heartbeat_polling [0.114741s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_agent_base.HeartbeatMixinTest.test_heartbeat_resume_clean [0.050385s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_agent_base.HeartbeatMixinTest.test_heartbeat_resume_clean_fails [0.088283s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_agent_base.StepMethodsTestCase.test_agent_get_steps_deploy [0.031389s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_agent_base.StepMethodsTestCase.test_execute_deploy_step [0.036017s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_agent_base.StepMethodsTestCase.test_find_step [0.034646s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_agent_base.StepMethodsTestCase.test_find_step_not_found [0.073506s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_agent_base.StepMethodsTestCase.test_get_deploy_steps_only_oob [0.106811s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_agent_base.TestRefreshCleanSteps.test_refresh_steps_deploy [0.307179s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_agent_client.TestAgentClient.test__command_error_code_agent_busy_conflict [0.014212s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_agent_client.TestAgentClient.test__command_fail_connect_no_command_running [0.014151s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_agent_client.TestAgentClient.test__command_fail_json [0.012400s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_agent_client.TestAgentClient.test_finalize_rescue_fallback_restricted [0.014903s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_agent_client.TestAgentClient.test_get_commands_status_no_retries [0.012664s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_agent_client.TestAgentClient.test_get_commands_status_retries [0.015401s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_agent_client.TestAgentClient.test_power_off [0.027859s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_agent_power.AgentPowerTest.test_basics [0.021437s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_agent_power.AgentPowerTest.test_reboot_timeout [0.043246s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_boot_mode_utils.GetBootModeTestCase.test_get_boot_mode_for_deploy_using_capabilities [0.013033s] ... 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 [0.018713s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_boot_mode_utils.SecureBootTestCase.test_configure [0.034362s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_boot_mode_utils.SecureBootTestCase.test_configure_none_requested [0.027816s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_boot_mode_utils.SecureBootTestCase.test_configure_unsupported [0.039713s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_boot_mode_utils.SecureBootTestCase.test_deconfigure [0.033232s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_console_utils.ConsoleUtilsTestCase.test__ensure_console_pid_dir_exists_fail [0.021789s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_console_utils.ConsoleUtilsTestCase.test__get_console_pid_dir [0.023011s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_console_utils.ConsoleUtilsTestCase.test__stop_console_forced_kill [0.823391s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_console_utils.ConsoleUtilsTestCase.test__stop_console_shellinabox_not_running [0.033035s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_console_utils.ConsoleUtilsTestCase.test__verify_port_hostname [0.041347s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_console_utils.ConsoleUtilsTestCase.test_allocate_port_success [0.019366s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_console_utils.ConsoleUtilsTestCase.test_get_socat_console_url_tcp [0.029176s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_console_utils.ConsoleUtilsTestCase.test_get_socat_console_url_tcp_with_address_conf [0.049433s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_console_utils.ConsoleUtilsTestCase.test_make_persistent_password_file [0.022318s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_console_utils.ConsoleUtilsTestCase.test_make_persistent_password_file_fail [0.018485s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_console_utils.ConsoleUtilsTestCase.test_start_shellinabox_console_fail_nopiddir [0.043597s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_console_utils.ConsoleUtilsTestCase.test_start_socat_console_check_arg_bind_addr_default_ipv4 [0.023649s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_console_utils.ConsoleUtilsTestCase.test_start_socat_console_nopid [0.034099s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_console_utils.ConsoleUtilsTestCase.test_stop_shellinabox_console [0.032750s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_console_utils.ConsoleUtilsTestCase.test_stop_shellinabox_console_fail_nopid [0.036846s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_console_utils.ConsoleUtilsTestCase.test_valid_console_port_range [0.025778s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_deploy_utils.AgentMethodsTestCase.test_direct_deploy_should_convert_raw_image_no_force_raw [0.025679s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_deploy_utils.AgentMethodsTestCase.test_direct_deploy_should_convert_raw_image_partition [0.021045s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_deploy_utils.AgentMethodsTestCase.test_prepare_inband_cleaning [0.036432s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_deploy_utils.AgentMethodsTestCase.test_prepare_inband_cleaning_manage_boot_false [0.054670s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_deploy_utils.AsyncStepTestCase.test_get_async_step_return_state_cleaning [0.051041s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_deploy_utils.AsyncStepTestCase.test_get_async_step_return_state_deploying [0.024859s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_deploy_utils.AsyncStepTestCase.test_set_async_step_flags_clears_non_pregenerated_token [0.027768s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_deploy_utils.AsyncStepTestCase.test_set_async_step_flags_deploying_set_all [0.031132s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_deploy_utils.AsyncStepTestCase.test_set_async_step_flags_deploying_set_one [0.031362s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_deploy_utils.GetPxeBootConfigTestCase.test_get_ipxe_boot_file [0.015516s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_deploy_utils.GetPxeBootConfigTestCase.test_get_ipxe_boot_file_fallback [0.030827s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_deploy_utils.GetPxeBootConfigTestCase.test_get_ipxe_config_template_none [0.028344s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_deploy_utils.GetPxeBootConfigTestCase.test_get_pxe_boot_file_bios_without_by_arch [0.015361s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_deploy_utils.GetPxeBootConfigTestCase.test_get_pxe_boot_file_emtpy_property [0.021270s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_deploy_utils.GetPxeBootConfigTestCase.test_get_pxe_boot_file_uefi_without_by_arch [0.017511s] ... 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.014749s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_deploy_utils.InstanceInfoTestCase.test__check_disk_layout_unchanged [0.026090s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_deploy_utils.InstanceInfoTestCase.test_parse_instance_info_configdrive [0.026682s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_deploy_utils.InstanceInfoTestCase.test_parse_instance_info_good [0.023616s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_deploy_utils.InstanceInfoTestCase.test_parse_instance_info_missing_root_gb [0.020296s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_deploy_utils.InstanceInfoTestCase.test_parse_instance_info_nonglance_image_no_kernel [0.025872s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_deploy_utils.OtherFunctionTestCase.test_get_boot_option [0.018224s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_deploy_utils.OtherFunctionTestCase.test_get_boot_option_default_value [0.025308s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_deploy_utils.OtherFunctionTestCase.test_get_boot_option_software_raid [0.023708s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_deploy_utils.OtherFunctionTestCase.test_get_ironic_api_url_fail [0.035823s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_deploy_utils.OtherFunctionTestCase.test_get_ironic_api_url_from_keystone [0.031892s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_deploy_utils.OtherFunctionTestCase.test_is_anaconda_deploy [0.049608s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_deploy_utils.OtherFunctionTestCase.test_is_software_raid [0.051897s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_deploy_utils.OtherFunctionTestCase.test_set_failed_state_collect_deploy_logs_overide [0.073767s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_deploy_utils.OtherFunctionTestCase.test_set_failed_state_no_poweroff [0.130626s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_deploy_utils.ParseInstanceInfoCapabilitiesTestCase.test_is_secure_boot_requested_true [0.013029s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_deploy_utils.ParseInstanceInfoCapabilitiesTestCase.test_is_trusted_boot_requested_false [0.012214s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_deploy_utils.ParseInstanceInfoCapabilitiesTestCase.test_parse_instance_info_capabilities_string [0.022314s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_deploy_utils.ParseInstanceInfoCapabilitiesTestCase.test_validate_boot_mode_capability [0.012258s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_deploy_utils.SwitchPxeConfigTestCase.test_switch_uefi_elilo_pxe_config_partition_image [0.014587s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_deploy_utils.SwitchPxeConfigTestCase.test_switch_uefi_grub_pxe_config_partition_image [0.012665s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_deploy_utils.SwitchPxeConfigTestCase.test_switch_uefi_ipxe_config_whole_disk_image [0.013340s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_deploy_utils.TestBuildInstanceInfoForHttpProvisioning.test_build_instance_info_file_image [0.040297s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_deploy_utils.TestBuildInstanceInfoForHttpProvisioning.test_build_instance_info_no_force_raw [0.058481s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_deploy_utils.TestStorageInterfaceUtils.test_get_remote_boot_volume [0.053889s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_deploy_utils.TestStorageInterfaceUtils.test_get_remote_boot_volume_none [0.072023s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_deploy_utils.TestStorageInterfaceUtils.test_is_iscsi_boot [0.051414s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_deploy_utils.TestStorageInterfaceUtils.test_populate_storage_driver_internal_info_error [0.040689s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_deploy_utils.TestStorageInterfaceUtils.test_populate_storage_driver_internal_info_iscsi [0.059190s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_deploy_utils.TrySetBootDeviceTestCase.test_try_set_boot_device_okay [0.043983s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_deploy_utils.ValidateImagePropertiesTestCase.test_validate_image_properties_nonglance_image_validation_fail [0.021648s] ... 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.017705s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_image_cache.CleanupImageCacheTestCase.test_clean_up_fail [0.027225s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_image_cache.TestImageCacheCleanUp.test_clean_up_old_with_amount [0.013361s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_image_cache.TestImageCacheDownload.test__download_image_raises_memory_guard [0.012722s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_image_cache.TestImageCacheFetch.test_fetch_image_both_master_and_dest_out_of_date [0.017008s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_image_cache.TestImageCacheFetch.test_fetch_image_dest_and_master_uptodate [0.016040s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_image_cache.TestUpdateImages.test__delete_dest_path_if_stale_no_master [0.017149s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_image_cache.TestUpdateImages.test__delete_dest_path_if_stale_up_to_date [0.013043s] ... 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.013419s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_image_utils.Ilo5ImageHandlerTestCase.test_ilo5_kernel_param_config [0.018301s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_image_utils.RedfishImageUtilsTestCase.test__prepare_iso_image_bootable_iso_file [0.025021s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_image_utils.RedfishImageUtilsTestCase.test__prepare_iso_image_bootable_iso_from_swift [0.024553s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_image_utils.RedfishImageUtilsTestCase.test__prepare_iso_image_bootable_iso_swift_schema [0.024974s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_image_utils.RedfishImageUtilsTestCase.test__prepare_iso_image_kernel_params_for_ramdisk [0.025295s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_image_utils.RedfishImageUtilsTestCase.test__prepare_iso_image_kernel_params_for_ramdisk_boot_iso [0.025242s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_image_utils.RedfishImageUtilsTestCase.test_prepare_boot_iso_user_supplied [0.026316s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_image_utils.RedfishImageUtilsTestCase.test_prepare_deploy_iso_existing_iso_vendor_prefix [0.030015s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_image_utils.RedfishImageUtilsTestCase.test_prepare_deploy_iso_external_ip [0.045544s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_image_utils.RedfishImageUtilsTestCase.test_prepare_deploy_iso_network_data [0.027945s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_image_utils.RedfishImageUtilsTestCase.test_prepare_disk_image [0.031884s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_image_utils.RedfishImageUtilsTestCase.test_prepare_disk_image_file [0.027298s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_inspector.CheckStatusTestCase.test_status_boot_clean_up_failed [0.034607s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_inspector.CheckStatusTestCase.test_status_error [0.024962s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_inspector.CheckStatusTestCase.test_status_error_managed_no_power_off [0.036653s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_inspector.CheckStatusTestCase.test_status_ok_managed_no_power_off [0.024690s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_inspector.CommonFunctionsTestCase.test_get_callback_endpoint_override [0.039232s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_inspector.CommonFunctionsTestCase.test_get_properties [0.026482s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_inspector.InspectHardwareAbortTestCase.test_abort_ok [0.020499s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_inspector.InspectHardwareTestCase.test_managed_custom_params [0.049832s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_inspector.InspectHardwareTestCase.test_unmanaged_error [0.075811s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_inspector.InspectHardwareTestCase.test_validate_require_managed_boot [0.042576s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolCheckInitTestCase.test_console_init_calls_already_checked [0.018412s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolCheckInitTestCase.test_power_init_calls_raises_1 [0.016185s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolCheckInitTestCase.test_power_init_calls_raises_3 [0.023070s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolCheckInitTestCase.test_vendor_passthru_init_calls_already_checked [0.017913s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolCheckOptionSupportedTestCase.test_check_single_bridge_pass [0.020062s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolCheckOptionSupportedTestCase.test_check_timing_no_ipmitool [0.032011s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test__parse_ipmi_sensor_data_debug [0.023091s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test__release_allocated_port [0.054369s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_dump_sdr_ok [0.037375s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_management_interface_force_set_boot_device_ok [0.046912s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_management_interface_get_boot_device_persistent [0.040500s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_management_interface_set_boot_device_bad_device [0.029189s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_management_interface_set_boot_device_ok [0.032805s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_management_interface_set_boot_device_uefi [0.029248s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_management_interface_set_boot_device_uefi_and_onetime_smci [0.033459s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_management_interface_set_boot_device_uefi_and_persistent [0.030684s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_management_interface_set_boot_device_unknown_exception [0.049630s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_management_interface_validate_good [0.041595s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_reboot_fail_power_off [0.034318s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_send_raw_bytes_fail [0.031482s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_send_raw_bytes_ok [0.051777s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_set_soft_power_off_timeout_ok [0.036293s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_set_soft_reboot_timeout_fail [0.034007s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_vendor_passthru_call_bmc_reset_cold [0.057311s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_vendor_passthru_call_bmc_reset_warm [0.066204s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_vendor_passthru_call_send_raw_bytes [0.037194s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_vendor_passthru_validate__bmc_reset_good [0.037044s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_vendor_passthru_validate__parse_driver_info_fail [0.031321s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_vendor_passthru_vendor_routes [0.025347s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test__exec_ipmitool_IPMI_version_1_5 [0.021227s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test__exec_ipmitool_second_call_to_address_no_sleep [0.027249s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test__exec_ipmitool_second_call_to_address_sleep [0.039956s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test__exec_ipmitool_with_ironic_retries [0.039089s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test__exec_ipmitool_with_port [0.043444s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test__exec_ipmitool_with_timeout [0.022151s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test__make_password_file_tempfile_unknown_exception [0.024638s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test__make_password_file_with_numeric_password [0.028955s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test__make_password_file_write_exception [0.022651s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test__parse_driver_info_ipmi_cipher_suite_not_a_number [0.025900s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test__parse_driver_info_ipmi_hex_kg_key [0.032783s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test__parse_driver_info_ipmi_hex_kg_key_odd_chars [0.022400s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test__parse_driver_info_terminal_port_allocated [0.021694s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test__parse_driver_info_with_invalid_bridging_type [0.034404s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test__parse_driver_info_with_single_bridging_not_supported [0.024664s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test__power_status_exception [0.021171s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test__power_status_off [0.021911s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test__soft_power_off [0.036203s] ... 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.027896s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test_exec_ipmitool_exception_retries_exceeded_insufficient_resources_for_session [0.021421s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test_exec_ipmitool_exception_retries_exceeded_node_busy [0.021908s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test_exec_ipmitool_exception_retries_exceeded_out_of_space [0.021482s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test_exec_ipmitool_exception_retries_exceeded_timeout [0.031195s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test_exec_ipmitool_exception_retry_insufficient_resources_for_session [0.023336s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolShellinaboxTestCase.test__start_console_fail_nodir [0.030675s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolShellinaboxTestCase.test_console_validate_missing_port [0.241654s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolShellinaboxTestCase.test_start_console [0.036007s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolShellinaboxTestCase.test_start_console_alloc_port [0.029951s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolSocatDriverTestCase.test__get_ipmi_cmd [0.027080s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolSocatDriverTestCase.test_console_validate_missing_port [0.032455s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolSocatDriverTestCase.test_get_console [0.029728s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolSocatDriverTestCase.test_start_console [0.031074s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolSocatDriverTestCase.test_stop_console_fail [0.033464s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_ipxe.iPXEBootTestCase.test_clean_up_instance [0.033650s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_ipxe.iPXEBootTestCase.test_clean_up_ramdisk_rescue [0.047576s] ... 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-5164036c-6b42-4bc3-acb5-87ec377c8767 DEBUG util.py:445: X-Openstack-Ironic-Api-Maximum-Version: 1.78 DEBUG util.py:445: X-Openstack-Ironic-Api-Minimum-Version: 1.1 DEBUG util.py:445: X-Openstack-Ironic-Api-Version: 1.78 DEBUG util.py:445: {"uuid": "3fa05868-5540-44b5-822f-273f31f08cf1", "created_at": "2024-05-14T11:54:39.079558+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/3fa05868-5540-44b5-822f-273f31f08cf1", "rel": "self"}]} DEBUG util.py:445: GET: / {} DEBUG util.py:445: GOT:Response: 400 Bad Request DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-3ad6aa5f-ee57-436f-9564-dea4a038e408 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-e651e656-c564-45dc-9f55-6397d34a3496 DEBUG util.py:445: {"error_message": "{\"faultcode\":\"Server\",\"faultstring\":\"Test exception message.\",\"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-fe1a31ae-32b5-4eed-af7e-83e3f6862cfa DEBUG util.py:445: {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"ouch\", \"debuginfo\": null}"} DEBUG util.py:445: GET: /v1/things {'name': 'foo', 'flag': 'truish'} DEBUG util.py:445: GOT:Response: 400 Bad Request DEBUG util.py:445: Content-Type: application/json DEBUG util.py:445: Openstack-Request-Id: req-598430ee-2dab-4376-b22e-e8c2d7c52d1d 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/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-f2845f96-8cb8-42b8-b9b5-29d9b7e8dea9 DEBUG util.py:445: "nothing" DEBUG util.py:445: GET: / {} DEBUG util.py:445: GOT:{'name': 'OpenStack Ironic API', 'description': 'Ironic is an OpenStack project which aims to provision baremetal machines.', 'default_version': {'id': 'v1', 'links': [{'href': 'http://spam.ham/eggs/v1/', 'rel': 'self'}], 'status': 'CURRENT', 'min_version': '1.1', 'version': '1.78'}, 'versions': [{'id': 'v1', 'links': [{'href': 'http://spam.ham/eggs/v1/', 'rel': 'self'}], 'status': 'CURRENT', 'min_version': '1.1', 'version': '1.78'}]} DEBUG util.py:445: GET: / {} DEBUG util.py:445: GOT:{'name': 'OpenStack Ironic API', 'description': 'Ironic is an OpenStack project which aims to provision baremetal machines.', 'default_version': {'id': 'v1', 'links': [{'href': 'http://localhost/v1/', 'rel': 'self'}], 'status': 'CURRENT', 'min_version': '1.1', 'version': '1.78'}, 'versions': [{'id': 'v1', 'links': [{'href': 'http://localhost/v1/', 'rel': 'self'}], 'status': 'CURRENT', 'min_version': '1.1', 'version': '1.78'}]} DEBUG util.py:445: GET: /v1/ {} DEBUG util.py:445: GOT:{'id': 'v1', 'links': [{'href': 'http://localhost/v1/', 'rel': 'self'}, {'href': 'https://docs.openstack.org//ironic/latest/contributor//webapi.html', 'rel': 'describedby', 'type': 'text/html'}], 'media_types': {'base': 'application/json', 'type': 'application/vnd.openstack.ironic.v1+json'}, 'chassis': [{'href': 'http://localhost/v1/chassis/', 'rel': 'self'}, {'href': 'http://localhost/chassis/', 'rel': 'bookmark'}], 'nodes': [{'href': 'http://localhost/v1/nodes/', 'rel': 'self'}, {'href': 'http://localhost/nodes/', 'rel': 'bookmark'}], 'ports': [{'href': 'http://localhost/v1/ports/', 'rel': 'self'}, {'href': 'http://localhost/ports/', 'rel': 'bookmark'}], 'drivers': [{'href': 'http://localhost/v1/drivers/', 'rel': 'self'}, {'href': 'http://localhost/drivers/', 'rel': 'bookmark'}], 'version': {'id': 'v1', 'links': [{'href': 'http://localhost/v1/', 'rel': 'self'}], 'status': 'CURRENT', 'min_version': '1.1', 'version': '1.78'}, 'lookup': [{'href': 'http://localhost/v1/lookup/', 'rel': 'self'}, {'href': 'http://localhost/lookup/', 'rel': 'bookmark'}], 'heartbeat': [{'href': 'http://localhost/v1/heartbeat/', 'rel': 'self'}, {'href': 'http://localhost/heartbeat/', 'rel': 'bookmark'}]} DEBUG util.py:445: GET: /v1/ {} DEBUG util.py:445: GOT:{'id': 'v1', 'links': [{'href': 'http://localhost/v1/', 'rel': 'self'}, {'href': 'https://docs.openstack.org//ironic/latest/contributor//webapi.html', 'rel': 'describedby', 'type': 'text/html'}], 'media_types': {'base': 'application/json', 'type': 'application/vnd.openstack.ironic.v1+json'}, 'chassis': [{'href': 'http://localhost/v1/chassis/', 'rel': 'self'}, {'href': 'http://localhost/chassis/', 'rel': 'bookmark'}], 'nodes': [{'href': 'http://localhost/v1/nodes/', 'rel': 'self'}, {'href': 'http://localhost/nodes/', 'rel': 'bookmark'}], 'ports': [{'href': 'http://localhost/v1/ports/', 'rel': 'self'}, {'href': 'http://localhost/ports/', 'rel': 'bookmark'}], 'drivers': [{'href': 'http://localhost/v1/drivers/', 'rel': 'self'}, {'href': 'http://localhost/drivers/', 'rel': 'bookmark'}], 'version': {'id': 'v1', 'links': [{'href': 'http://localhost/v1/', 'rel': 'self'}], 'status': 'CURRENT', 'min_version': '1.1', 'version': '1.78'}, 'portgroups': [{'href': 'http://localhost/v1/portgroups/', 'rel': 'self'}, {'href': 'http://localhost/portgroups/', 'rel': 'bookmark'}], 'volume': [{'href': 'http://localhost/v1/volume/', 'rel': 'self'}, {'href': 'http://localhost/volume/', 'rel': 'bookmark'}], 'lookup': [{'href': 'http://localhost/v1/lookup/', 'rel': 'self'}, {'href': 'http://localhost/lookup/', 'rel': 'bookmark'}], 'heartbeat': [{'href': 'http://localhost/v1/heartbeat/', 'rel': 'self'}, {'href': 'http://localhost/heartbeat/', 'rel': 'bookmark'}]} DEBUG util.py:445: returning final set DEBUG util.py:445: {10: [1, 2], 11: [4], 12: [7]} DEBUG util.py:445: returning final set DEBUG util.py:445: {10: [], 11: [4], 12: [7]} DEBUG util.py:445: [NodeHistory(conductor='fake-mini',created_at=2024-05-14T11:54:49Z,event='three',event_type='UNKNOWN',id=3,node_id=10,severity='INFO',updated_at=None,user=None,uuid=4b852387-97f1-474a-a560-df8323b33625), NodeHistory(conductor='fake-mini',created_at=2024-05-14T11:54:49Z,event='two',event_type='UNKNOWN',id=5,node_id=11,severity='INFO',updated_at=None,user=None,uuid=57826bba-99cf-4812-9c5a-e4f2c8de08a5), NodeHistory(conductor='fake-mini',created_at=2024-05-14T11:54:49Z,event='three',event_type='UNKNOWN',id=6,node_id=11,severity='INFO',updated_at=None,user=None,uuid=242d3757-9f5d-4c6e-979d-6e3a0bbc070a), NodeHistory(conductor='fake-mini',created_at=2024-05-14T11:54:49Z,event='two',event_type='UNKNOWN',id=8,node_id=12,severity='INFO',updated_at=None,user=None,uuid=478f4d78-c791-47e3-b170-44d09c3f5f7d), NodeHistory(conductor='fake-mini',created_at=2024-05-14T11:54:49Z,event='three',event_type='UNKNOWN',id=9,node_id=12,severity='INFO',updated_at=None,user=None,uuid=65672cc4-2d98-40fb-a71e-4a810d7dcc74), NodeHistory(conductor='fake-mini',created_at=2024-05-14T11:54:49Z,event='final',event_type='UNKNOWN',id=10,node_id=10,severity='INFO',updated_at=None,user=None,uuid=289de33d-cb29-4a30-a35c-dc8b6daf05ee)] DEBUG util.py:445: returning final set DEBUG util.py:445: {10: []} DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_ipxe.iPXEBootTestCase.test_prepare_instance_netboot_ramdisk [0.058894s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_ipxe.iPXEBootTestCase.test_prepare_instance_netboot_ramdisk_with_kernel_arg [0.055822s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_ipxe.iPXEBootTestCase.test_prepare_ramdisk_cleaning [0.063593s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_ipxe.iPXEBootTestCase.test_prepare_ramdisk_ipxe_swift_whole_disk_image [0.051772s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_ipxe.iPXEBootTestCase.test_prepare_ramdisk_ipxe_with_copy_file_different [0.054734s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_ipxe.iPXEBootTestCase.test_prepare_ramdisk_set_boot_mode_on_bm [0.045930s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_ipxe.iPXEBootTestCase.test_validate_fail_invalid_trusted_boot_value [0.027415s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_ipxe.iPXEBootTestCase.test_validate_fail_missing_deploy_ramdisk [0.034276s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_ipxe.iPXEBootTestCase.test_validate_fail_missing_image_source [0.026602s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_ipxe.iPXEBootTestCase.test_validate_fail_no_port [0.030918s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_ipxe.iPXEBootTestCase.test_validate_fail_trusted_boot_with_secure_boot [0.057249s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_ipxe.iPXEBootTestCase.test_validate_inspection_no_inspection_ramdisk [0.034640s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_ipxe.iPXEBootTestCase.test_validate_no_image_source_for_local_boot [0.026706s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_ipxe.iPXEValidateRescueTestCase.test_validate_rescue_no_rescue_ramdisk [0.029210s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_noop.NoInterfacesTestCase.test_vendor [0.014533s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_noop_mgmt.TestNoopManagement.test_dummy_methods [0.012466s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_pxe.PXEAnacondaDeployTestCase.test_reboot_to_instance [0.056122s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_pxe.PXEBootTestCase.test_clean_up_ramdisk_rescue [0.035200s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_pxe.PXEBootTestCase.test_get_properties [0.037268s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_pxe.PXEBootTestCase.test_prepare_ramdisk_conflicting_boot_modes [0.047704s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_pxe.PXEBootTestCase.test_prepare_ramdisk_conflicting_boot_modes_set_unsupported [0.067612s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_pxe.PXEBootTestCase.test_prepare_ramdisk_set_boot_mode_on_bm [0.061497s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_pxe.PXEBootTestCase.test_prepare_ramdisk_set_boot_mode_on_ironic [0.050741s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_pxe.PXEBootTestCase.test_validate_fail_missing_deploy_ramdisk [0.030651s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_pxe.PXEBootTestCase.test_validate_fail_missing_image_source [0.037649s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_pxe.PXEBootTestCase.test_validate_fail_no_port [0.031666s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_pxe.PXEBootTestCase.test_validate_fail_trusted_boot_with_secure_boot [0.025968s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_pxe.PXEBootTestCase.test_validate_good [0.027200s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_pxe.PXEBootTestCase.test_validate_inspection [0.048703s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_pxe.PXEBootTestCase.test_validate_kickstart_missing_stage2_id [0.034239s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_pxe.iPXEBootRetryTestCase.test_check_boot_status_maintenance [0.031133s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_pxe.iPXEBootRetryTestCase.test_check_boot_status_not_retry_with_token [0.025838s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_pxe.iPXEBootRetryTestCase.test_check_boot_status_retry [0.028888s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_ramdisk.RamdiskDeployTestCase.test_deploy [0.091612s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_ramdisk.RamdiskDeployTestCase.test_deploy_with_smartnic_port [0.100801s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_ramdisk.RamdiskDeployTestCase.test_get_clean_steps [0.043286s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_ramdisk.RamdiskDeployTestCase.test_get_deploy_steps [0.036875s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_ramdisk.RamdiskDeployTestCase.test_prepare_active [0.038660s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_ramdisk.RamdiskDeployTestCase.test_prepare_unrescuing [0.068054s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_apc_masterswitch_snmp_objects [0.018173s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_apc_masterswitchplus_power_reset [0.021746s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_apc_power_off [0.024558s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_apc_power_reset [0.020382s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_apc_rackpdu_snmp_objects [0.015937s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_aten_power_off [0.017042s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_aten_power_reset [0.016575s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_baytech_mrp27_power_snmp_objects [0.015491s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_cyberpower_power_state_on [0.015396s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_cyberpower_snmp_objects [0.015486s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_power_on_snmp_set_failure [0.019082s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_power_reset_on_delay [0.020864s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_power_reset_on_snmp_get_failure [0.020838s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_power_state_off [0.016078s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_teltronix_power_off [0.015489s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_teltronix_power_state_on [0.015348s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_teltronix_snmp_objects [0.016351s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_snmp.SNMPDriverTestCase.test_get_power_state_on [0.026354s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_snmp.SNMPDriverTestCase.test_set_power_state_off [0.036215s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_snmp.SNMPDriverTestCase.test_set_power_state_off_snmp_failure [0.032419s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_snmp.SNMPDriverTestCase.test_set_power_state_on_snmp_failure [0.040476s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_snmp.SNMPDriverTestCase.test_set_power_state_on_timeout [0.079111s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_snmp.SNMPValidateParametersTestCase.test__parse_driver_info_cyberpower [0.019343s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_snmp.SNMPValidateParametersTestCase.test__parse_driver_info_default [0.019114s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_snmp.SNMPValidateParametersTestCase.test__parse_driver_info_default_version [0.015342s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_snmp.SNMPValidateParametersTestCase.test__parse_driver_info_invalid_driver [0.019204s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_snmp.SNMPValidateParametersTestCase.test__parse_driver_info_missing_driver [0.014846s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_snmp.SNMPValidateParametersTestCase.test__parse_driver_info_missing_user [0.014990s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_snmp.SNMPValidateParametersTestCase.test__parse_driver_info_read_community [0.019748s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_snmp.SNMPValidateParametersTestCase.test__parse_driver_info_read_write_community [0.019499s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_snmp.SNMPValidateParametersTestCase.test__parse_driver_info_snmp_v3 [0.017759s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_snmp.SNMPValidateParametersTestCase.test__parse_driver_info_snmp_v3_auth_short_key [0.022812s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_snmp.SNMPValidateParametersTestCase.test__parse_driver_info_snmp_v3_context_name [0.024565s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.test_snmp.SNMPValidateParametersTestCase.test__parse_driver_info_snmp_v3_priv_default_proto [0.024092s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.xclarity.test_common.XClarityCommonTestCase.test_parse_driver_info_get_param_from_config [0.019755s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.xclarity.test_common.XClarityCommonTestCase.test_parse_driver_info_missing_hardware_id [0.019460s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.xclarity.test_management.XClarityManagementDriverTestCase.test_get_boot_device [0.031636s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.xclarity.test_power.XClarityPowerDriverTestCase.test_reboot [0.045732s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.xclarity.test_power.XClarityPowerDriverTestCase.test_reboot_timeout [0.033683s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.modules.xclarity.test_power.XClarityPowerDriverTestCase.test_set_power_fail [0.040202s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.test_base.CleanStepDecoratorTestCase.test__validate_argsinfo [0.018893s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.test_base.CleanStepDecoratorTestCase.test__validate_argsinfo_arg_description_invalid [0.013938s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.test_base.CleanStepDecoratorTestCase.test__validate_argsinfo_arg_empty_dict [0.015319s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.test_base.CleanStepDecoratorTestCase.test__validate_argsinfo_arg_required_invalid [0.012425s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.test_base.DeployStepDecoratorTestCase.test_deploy_step_all_args [0.013253s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.test_base.DeployStepDecoratorTestCase.test_deploy_step_priority_only [0.012027s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.test_base.PassthruDecoratorTestCase.test_passthru_check_func_references [0.022503s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.test_base.PassthruDecoratorTestCase.test_passthru_exclusive_task_metadata [0.013710s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.test_base.RAIDInterfaceTestCase.test_apply_configuration_invalid [0.014693s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.test_base.RAIDInterfaceTestCase.test_validate_no_target_raid_config [0.016618s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.test_base.TestManagementInterface.test_get_indicator_state_default_impl [0.032838s] ... 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_default_interfaces [0.032117s] ... 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.031575s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.test_fake_hardware.FakeHardwareTestCase.test_boot_interface [0.029718s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.test_fake_hardware.FakeHardwareTestCase.test_console_interface [0.038969s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.test_fake_hardware.FakeHardwareTestCase.test_deploy_interface [0.029531s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.test_fake_hardware.FakeHardwareTestCase.test_driver_interfaces [0.031314s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.test_fake_hardware.FakeHardwareTestCase.test_inspect_interface [0.039377s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.test_fake_hardware.FakeHardwareTestCase.test_management_interface_get_supported_indicators [0.029293s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.test_ibmc.IBMCHardwareTestCase.test_default_interfaces [0.027711s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.test_irmc.IRMCHardwareTestCase.test_override_with_bios_configuration [0.030576s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.test_utils.UtilsRamdiskLogsTestCase.test_collect_ramdisk_logs_storage_fail_swift [0.014668s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.test_utils.UtilsRamdiskLogsTestCase.test_store_ramdisk_logs_swift [0.027384s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.test_utils.UtilsTestCase.test_capabilities_to_dict_with_invalid_character_fail [0.022571s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.test_utils.UtilsTestCase.test_ensure_next_boot_device [0.032623s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.test_utils.UtilsTestCase.test_get_node_capability_returns_none [0.022911s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.drivers.test_xclarity.XClarityHardwareTestCase.test_default_interfaces [0.045638s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.objects.test_allocation.TestAllocationObject.test_get_by_name [0.016062s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.objects.test_allocation.TestAllocationObject.test_get_by_uuid [0.014930s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.objects.test_allocation.TestConvertToVersion.test_owner_supported_set [0.014536s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.objects.test_bios.TestBIOSSettingObject.test_save [0.020350s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.objects.test_bios.TestBIOSSettingObject.test_sync_node_setting_create_and_update [0.027866s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.objects.test_chassis.TestChassisObject.test_get_by_uuid [0.028743s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.objects.test_chassis.TestChassisObject.test_list [0.015333s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.objects.test_chassis.TestChassisObject.test_save_after_refresh [0.023091s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.objects.test_conductor.TestConductorObject.test_list [0.023608s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.objects.test_conductor.TestConductorObject.test_refresh [0.016025s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.objects.test_conductor.TestConductorObject.test_register [0.238368s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.objects.test_conductor.TestConductorObject.test_register_into_group [0.016727s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.objects.test_deploy_template.TestDeployTemplateObject.test_list [0.018148s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.objects.test_deployment.TestDeploymentObject.test_create [0.028635s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.objects.test_deployment.TestDeploymentObject.test_destroy_with_node [0.040777s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.objects.test_fields.TestFlexibleDictField.test_coerce_nullable_translation [0.016507s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.objects.test_node.TestConvertToVersion.test_automated_clean_unsupported_missing [0.034119s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.objects.test_node.TestConvertToVersion.test_automated_clean_unsupported_set_remove [0.024002s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.objects.test_node.TestConvertToVersion.test_bios_supported_missing [0.023802s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.objects.test_node.TestConvertToVersion.test_bios_supported_set [0.021063s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.objects.test_node.TestConvertToVersion.test_boot_mode_unsupported_missing [0.016089s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.objects.test_node.TestConvertToVersion.test_conductor_group_supported_set [0.014697s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.objects.test_node.TestConvertToVersion.test_conductor_group_unsupported_set_no_remove [0.018481s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.objects.test_node.TestConvertToVersion.test_description_supported_set [0.014478s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.objects.test_node.TestConvertToVersion.test_protected_unsupported_set_remove [0.021572s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.objects.test_node.TestConvertToVersion.test_retired_unsupported_set_no_remove_non_default [0.017126s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.objects.test_node.TestConvertToVersion.test_trait_unsupported_set_no_remove_non_default [0.014140s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.objects.test_node.TestConvertToVersion.test_traits_supported_missing [0.015437s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.objects.test_node.TestConvertToVersion.test_traits_unsupported_missing [0.014254s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.objects.test_node.TestConvertToVersion.test_traits_unsupported_missing_remove [0.013976s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.objects.test_node.TestNodeObject.test__validate_property_values_success [0.016151s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.objects.test_node.TestNodeObject.test_get_bad_id_and_uuid [0.014292s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.objects.test_node.TestNodeObject.test_get_by_id [0.020046s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.objects.test_node.TestNodeObject.test_get_by_instance_uuid [0.016196s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.objects.test_node.TestNodeObject.test_get_by_name [0.015229s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.objects.test_node.TestNodeObject.test_get_by_port_addresses [0.021329s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.objects.test_node.TestNodeObject.test_get_by_uuid [0.015609s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.objects.test_node.TestNodeObject.test_list_with_fields_traits [0.017119s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.objects.test_node.TestNodeObject.test_release [0.018135s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.objects.test_node.TestNodeObject.test_reserve_node_not_found [0.022178s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.objects.test_node.TestNodeObject.test_save_truncated [0.029247s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.objects.test_node.TestNodeObject.test_update_with_invalid_properties [0.032335s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.objects.test_node.TestNodePayloads.test_node_payload_no_traits [0.025821s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.objects.test_node.TestNodePayloads.test_node_set_provision_state_payload [0.015755s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.objects.test_node_history.TestNodeHistoryObject.test_get_by_id [0.017474s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.objects.test_node_history.TestNodeHistoryObject.test_get_by_uuid [0.015418s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.objects.test_node_history.TestNodeHistoryObject.test_list_by_node_id [0.025828s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.objects.test_notification.TestNotificationBase.test_emit_notification [0.020394s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.objects.test_notification.TestNotificationBase.test_no_emit_level_too_low [0.034757s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.objects.test_notification.TestNotificationBase.test_no_emit_schema_not_populated [0.035625s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.objects.test_notification.TestNotificationBase.test_populate_schema [0.012043s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.objects.test_objects.TestMisc.test_max_version_two [0.013713s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.objects.test_objects.TestObject.test__from_db_object [0.012715s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.objects.test_objects.TestObject.test_changed_2 [0.012046s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.objects.test_objects.TestObject.test_convert_to_version_old [0.011309s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.objects.test_objects.TestObject.test_convert_to_version_same [0.013529s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.objects.test_objects.TestObject.test_dehydration [0.012413s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.objects.test_objects.TestObject.test_do_version_changes_for_db_downgrade [0.040907s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.objects.test_objects.TestObject.test_get_changes [0.012131s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.objects.test_objects.TestObject.test_get_changes_pinned [0.021225s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.objects.test_objects.TestObject.test_get_target_version_no_pin [0.012267s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.objects.test_objects.TestObject.test_get_target_version_pinned [0.020249s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.objects.test_objects.TestObject.test_get_target_version_pinned_bad [0.012586s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.objects.test_objects.TestObject.test_hydration_bad_ns [0.011701s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.objects.test_objects.TestObject.test_supports_version [0.012470s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.objects.test_objects.TestObject.test_unknown_objtype [0.013110s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.objects.test_objects.TestObject.test_with_alternate_context [0.011697s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.objects.test_objects.TestObjectSerializer.test__process_object_conductor [0.012517s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.objects.test_objects.TestObjectSerializer.test__process_object_convert_api [0.012110s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.objects.test_objects.TestObjectSerializer.test_deserialize_entity_newer_revision_does_not_backport_zero [0.016569s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.objects.test_objects.TestObjectSerializer.test_deserialize_entity_newer_version_backports [0.014222s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.objects.test_objects.TestObjectSerializer.test_deserialize_entity_pin_ignored [0.015186s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.objects.test_objects.TestObjectSerializer.test_deserialize_entity_same_revision_does_not_backport [0.013009s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.objects.test_objects.TestObjectSerializer.test_object_serialization [0.032809s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.objects.test_objects.TestObjectSerializer.test_serialize_entity_unpinned_conductor [0.017203s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.objects.test_port.TestConvertToVersion.test_is_smartnic_unsupported_missing [0.016121s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.objects.test_port.TestPortObject.test_create [0.016988s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.objects.test_port.TestPortObject.test_get_by_name [0.016001s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.objects.test_portgroup.TestConvertToVersion.test_vif_in_extra_lower_version [0.015433s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.objects.test_portgroup.TestPortgroupObject.test_create [0.016706s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.objects.test_portgroup.TestPortgroupObject.test_get_by_uuid [0.016633s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.objects.test_portgroup.TestPortgroupObject.test_save [0.017994s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.objects.test_volume_connector.TestVolumeConnectorObject.test_create [0.016550s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.objects.test_volume_connector.TestVolumeConnectorObject.test_destroy [0.025849s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.objects.test_volume_connector.TestVolumeConnectorObject.test_get_by_uuid [0.018373s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.objects.test_volume_connector.TestVolumeConnectorObject.test_list_by_node_id [0.033690s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.objects.test_volume_connector.TestVolumeConnectorObject.test_payload_schemas [0.037439s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.objects.test_volume_target.TestVolumeTargetObject.test_get_by_id [0.018556s] ... ok DEBUG util.py:445: {3} ironic.tests.unit.test_base.BlockExecuteTestCase.test_can_mock_execute [0.013652s] ... ok DEBUG util.py:445: Node(allocation_id=None,automated_clean=None,bios_interface='fake',boot_interface='ipxe',boot_mode=None,chassis_id=None,clean_step={},conductor_affinity=None,conductor_group='',console_enabled=False,console_interface='fake',created_at=2024-05-14T11:59:10Z,deploy_interface='fake',deploy_step={},description=None,driver='fake-hardware',driver_info={'deploy_kernel': 'glance://deploy_kernel_uuid', 'deploy_ramdisk': 'glance://deploy_ramdisk_uuid', 'rescue_kernel': 'glance://rescue_kernel_uuid', 'rescue_ramdisk': 'glance://rescue_ramdisk_uuid'},driver_internal_info={'is_whole_disk_image': False},extra={},fault=None,id=1,inspect_interface='fake',inspection_finished_at=None,inspection_started_at=None,instance_info={'boot_iso': 'http://1.2.3.4:1234/boot.iso', 'capabilities': {'boot_option': 'ramdisk'}},instance_uuid=None,last_error=None,lessee=None,maintenance=False,maintenance_reason=None,management_interface='fake',name=None,network_data={},network_interface='flat',owner=None,power_interface='fake',power_state=None,properties={'cpu_arch': 'x86_64', 'cpus': '8', 'local_gb': '10', 'memory_mb': '4096'},protected=False,protected_reason=None,provision_state='deploying',provision_updated_at=2024-05-14T11:59:10Z,raid_config={},raid_interface='fake',rescue_interface='fake',reservation='fake-mini',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=TraitList,updated_at=2024-05-14T11:59:10Z,uuid=1be26c0b-03f2-4d2e-ae87-c02d7f33c123,vendor_interface='no-vendor') DEBUG util.py:445: ====== DEBUG util.py:445: Totals DEBUG util.py:445: ====== DEBUG util.py:445: Ran: 8595 tests in 318.1445 sec. DEBUG util.py:445: - Passed: 8551 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: 874.3909 sec. DEBUG util.py:445: ============== DEBUG util.py:445: Worker Balance DEBUG util.py:445: ============== DEBUG util.py:445: - Worker 0 (2149 tests) => 0:03:18.606450 DEBUG util.py:445: - Worker 1 (2149 tests) => 0:03:29.525798 DEBUG util.py:445: - Worker 2 (2149 tests) => 0:02:34.421789 DEBUG util.py:445: - Worker 3 (2148 tests) => 0:05:15.501759 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-common-18.3.1-0.20240514115031.96d2c3c.el9.noarch DEBUG util.py:443: warning: File not found: /builddir/build/BUILDROOT/openstack-ironic-18.3.1-0.20240514115031.96d2c3c.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.r20332 DEBUG util.py:445: + umask 022 DEBUG util.py:445: + cd /builddir/build/BUILD DEBUG util.py:445: + cd ironic-18.3.1.dev11 DEBUG util.py:445: + DOCDIR=/builddir/build/BUILDROOT/openstack-ironic-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.el9.x86_64/usr/share/doc/openstack-ironic-common DEBUG util.py:445: + cp -pr README.rst /builddir/build/BUILDROOT/openstack-ironic-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.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.c8Dj6o DEBUG util.py:445: + umask 022 DEBUG util.py:445: + cd /builddir/build/BUILD DEBUG util.py:445: + cd ironic-18.3.1.dev11 DEBUG util.py:445: + LICENSEDIR=/builddir/build/BUILDROOT/openstack-ironic-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.el9.x86_64/usr/share/licenses/openstack-ironic-common DEBUG util.py:445: + cp -pr LICENSE /builddir/build/BUILDROOT/openstack-ironic-18.3.1-0.20240514115031.96d2c3c.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:18.3.1-0.20240514115031.96d2c3c.el9 openstack-ironic-common = 1:18.3.1-0.20240514115031.96d2c3c.el9 python3.9dist(ironic) = 18.3.1~~dev11 python3dist(ironic) = 18.3.1~~dev11 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 python3-sushy >= 3.4.0 DEBUG util.py:445: Suggests: python3-oslo-i18n >= 3.15.3 python3-oslo-reports >= 1.18.0 DEBUG util.py:445: Processing files: openstack-ironic-api-18.3.1-0.20240514115031.96d2c3c.el9.noarch DEBUG util.py:445: Provides: openstack-ironic-api = 1:18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.el9.noarch DEBUG util.py:445: Provides: openstack-ironic-conductor = 1:18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.el9.noarch DEBUG util.py:445: Executing(%license): /bin/sh -e /var/tmp/rpm-tmp.kTfezo DEBUG util.py:445: + umask 022 DEBUG util.py:445: + cd /builddir/build/BUILD DEBUG util.py:445: + cd ironic-18.3.1.dev11 DEBUG util.py:445: + LICENSEDIR=/builddir/build/BUILDROOT/openstack-ironic-18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.el9.x86_64/usr/share/licenses/openstack-ironic-dnsmasq-tftp-server DEBUG util.py:445: + cp -pr LICENSE /builddir/build/BUILDROOT/openstack-ironic-18.3.1-0.20240514115031.96d2c3c.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:18.3.1-0.20240514115031.96d2c3c.el9 openstack-ironic-dnsmasq-tftp-server = 1:18.3.1-0.20240514115031.96d2c3c.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-18.3.1-0.20240514115031.96d2c3c.el9.noarch DEBUG util.py:445: Provides: python-ironic-tests = 1:18.3.1-0.20240514115031.96d2c3c.el9 python3-ironic-tests = 1:18.3.1-0.20240514115031.96d2c3c.el9 python3.9-ironic-tests = 1:18.3.1-0.20240514115031.96d2c3c.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:18.3.1-0.20240514115031.96d2c3c.el9 python39-ironic-tests < 1:18.3.1-0.20240514115031.96d2c3c.el9 DEBUG util.py:445: Checking for unpackaged file(s): /usr/lib/rpm/check-files /builddir/build/BUILDROOT/openstack-ironic-18.3.1-0.20240514115031.96d2c3c.el9.x86_64 DEBUG util.py:445: Wrote: /builddir/build/RPMS/openstack-ironic-api-18.3.1-0.20240514115031.96d2c3c.el9.noarch.rpm DEBUG util.py:445: Wrote: /builddir/build/RPMS/openstack-ironic-dnsmasq-tftp-server-18.3.1-0.20240514115031.96d2c3c.el9.noarch.rpm DEBUG util.py:445: Wrote: /builddir/build/RPMS/openstack-ironic-conductor-18.3.1-0.20240514115031.96d2c3c.el9.noarch.rpm DEBUG util.py:445: Wrote: /builddir/build/RPMS/openstack-ironic-common-18.3.1-0.20240514115031.96d2c3c.el9.noarch.rpm DEBUG util.py:445: Wrote: /builddir/build/RPMS/python3-ironic-tests-18.3.1-0.20240514115031.96d2c3c.el9.noarch.rpm DEBUG util.py:445: Executing(%clean): /bin/sh -e /var/tmp/rpm-tmp.LsBWPn DEBUG util.py:445: + umask 022 DEBUG util.py:445: + cd /builddir/build/BUILD DEBUG util.py:445: + cd ironic-18.3.1.dev11 DEBUG util.py:445: + /usr/bin/rm -rf /builddir/build/BUILDROOT/openstack-ironic-18.3.1-0.20240514115031.96d2c3c.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-xena-x86_64-5-bootstrap/root/var/lib/mock/dlrn-centos9-xena-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-xena-x86_64-5-bootstrap/root/var/lib/mock/dlrn-centos9-xena-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-xena-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-xena-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-xena-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-xena-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-xena-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-xena-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-xena-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-xena-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-xena-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-xena-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-xena-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-xena-x86_64-5/root DEBUG file_util.py:20: creating dir: /var/lib/mock/dlrn-centos9-xena-x86_64-5/root DEBUG file_util.py:17: ensuring that dir exists: /var/lib/mock/dlrn-centos9-xena-x86_64-5-bootstrap DEBUG file_util.py:17: ensuring that dir exists: /var/lib/mock/dlrn-centos9-xena-x86_64-5-bootstrap/root DEBUG file_util.py:17: ensuring that dir exists: /var/lib/mock/dlrn-centos9-xena-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-xena-x86_64-5-bootstrap/root_cache/ DEBUG file_util.py:17: ensuring that dir exists: /var/cache/mock/dlrn-centos9-xena-x86_64-5-bootstrap/yum_cache DEBUG file_util.py:17: ensuring that dir exists: /var/cache/mock/dlrn-centos9-xena-x86_64-5-bootstrap/dnf_cache DEBUG util.py:622: child environment: None DEBUG util.py:540: Executing command: ['/usr/bin/lscpu'] with env {'TERM': 'vt100', 'SHELL': '/bin/sh', 'HOME': '/builddir', 'HOSTNAME': 'mock', 'PATH': '/usr/bin:/bin:/usr/sbin:/sbin', 'LANG': 'C.UTF-8'} and shell False DEBUG util.py:445: Architecture: x86_64 DEBUG util.py:445: CPU op-mode(s): 32-bit, 64-bit DEBUG util.py:445: Byte Order: Little Endian DEBUG util.py:445: CPU(s): 4 DEBUG util.py:445: On-line CPU(s) list: 0-3 DEBUG util.py:445: Thread(s) per core: 1 DEBUG util.py:445: Core(s) per socket: 1 DEBUG util.py:445: Socket(s): 4 DEBUG util.py:445: NUMA node(s): 1 DEBUG util.py:445: Vendor ID: AuthenticAMD DEBUG util.py:445: CPU family: 23 DEBUG util.py:445: Model: 49 DEBUG util.py:445: Model name: AMD EPYC-Rome Processor DEBUG util.py:445: Stepping: 0 DEBUG util.py:445: CPU MHz: 2799.998 DEBUG util.py:445: BogoMIPS: 5599.99 DEBUG util.py:445: Virtualization: AMD-V DEBUG util.py:445: Hypervisor vendor: KVM DEBUG util.py:445: Virtualization type: full DEBUG util.py:445: L1d cache: 32K DEBUG util.py:445: L1i cache: 32K DEBUG util.py:445: L2 cache: 512K DEBUG util.py:445: L3 cache: 16384K DEBUG util.py:445: NUMA node0 CPU(s): 0-3 DEBUG util.py:445: Flags: fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush mmx fxsr sse sse2 syscall nx mmxext fxsr_opt pdpe1gb rdtscp lm rep_good nopl cpuid extd_apicid tsc_known_freq pni pclmulqdq ssse3 fma cx16 sse4_1 sse4_2 x2apic movbe popcnt tsc_deadline_timer aes xsave avx f16c rdrand hypervisor lahf_lm cmp_legacy svm cr8_legacy abm sse4a misalignsse 3dnowprefetch osvw topoext perfctr_core ssbd ibrs ibpb stibp vmmcall fsgsbase tsc_adjust bmi1 avx2 smep bmi2 rdseed adx smap clflushopt clwb sha_ni xsaveopt xsavec xgetbv1 clzero xsaveerptr wbnoinvd arat npt lbrv nrip_save tsc_scale vmcb_clean pausefilter pfthreshold umip rdpid arch_capabilities DEBUG util.py:596: Child return code was: 0 DEBUG util.py:622: child environment: None DEBUG util.py:540: Executing command: ['/bin/free'] with env {'TERM': 'vt100', 'SHELL': '/bin/sh', 'HOME': '/builddir', 'HOSTNAME': 'mock', 'PATH': '/usr/bin:/bin:/usr/sbin:/sbin', 'LANG': 'C.UTF-8'} and shell False DEBUG util.py:445: total used free shared buff/cache available DEBUG util.py:445: Mem: 16139344 5418692 2947452 1049348 7773200 9332288 DEBUG util.py:445: Swap: 16777212 4616524 12160688 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-xena-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 268M 4.1G 7% /var/lib/mock/dlrn-centos9-xena-x86_64-5-bootstrap/root DEBUG util.py:445: /dev/vda1 550G 332G 219G 61% / DEBUG util.py:596: Child return code was: 0 DEBUG buildroot.py:550: create skeleton dirs DEBUG file_util.py:17: ensuring that dir exists: /var/lib/mock/dlrn-centos9-xena-x86_64-5-bootstrap/root/var/lib/rpm DEBUG file_util.py:17: ensuring that dir exists: /var/lib/mock/dlrn-centos9-xena-x86_64-5-bootstrap/root/var/lib/yum DEBUG file_util.py:17: ensuring that dir exists: /var/lib/mock/dlrn-centos9-xena-x86_64-5-bootstrap/root/var/lib/dbus DEBUG file_util.py:17: ensuring that dir exists: /var/lib/mock/dlrn-centos9-xena-x86_64-5-bootstrap/root/var/log DEBUG file_util.py:17: ensuring that dir exists: /var/lib/mock/dlrn-centos9-xena-x86_64-5-bootstrap/root/var/cache/dnf DEBUG file_util.py:17: ensuring that dir exists: /var/lib/mock/dlrn-centos9-xena-x86_64-5-bootstrap/root/var/cache/yum DEBUG file_util.py:17: ensuring that dir exists: /var/lib/mock/dlrn-centos9-xena-x86_64-5-bootstrap/root/etc/rpm DEBUG file_util.py:17: ensuring that dir exists: /var/lib/mock/dlrn-centos9-xena-x86_64-5-bootstrap/root/tmp DEBUG file_util.py:17: ensuring that dir exists: /var/lib/mock/dlrn-centos9-xena-x86_64-5-bootstrap/root/tmp/ccache DEBUG file_util.py:17: ensuring that dir exists: /var/lib/mock/dlrn-centos9-xena-x86_64-5-bootstrap/root/var/tmp DEBUG file_util.py:17: ensuring that dir exists: /var/lib/mock/dlrn-centos9-xena-x86_64-5-bootstrap/root/etc/dnf DEBUG file_util.py:17: ensuring that dir exists: /var/lib/mock/dlrn-centos9-xena-x86_64-5-bootstrap/root/etc/dnf/vars DEBUG file_util.py:17: ensuring that dir exists: /var/lib/mock/dlrn-centos9-xena-x86_64-5-bootstrap/root/etc/yum.repos.d DEBUG file_util.py:20: creating dir: /var/lib/mock/dlrn-centos9-xena-x86_64-5-bootstrap/root/etc/yum.repos.d DEBUG file_util.py:17: ensuring that dir exists: /var/lib/mock/dlrn-centos9-xena-x86_64-5-bootstrap/root/etc/yum DEBUG file_util.py:17: ensuring that dir exists: /var/lib/mock/dlrn-centos9-xena-x86_64-5-bootstrap/root/proc DEBUG file_util.py:17: ensuring that dir exists: /var/lib/mock/dlrn-centos9-xena-x86_64-5-bootstrap/root/sys DEBUG file_util.py:17: ensuring that dir exists: /var/lib/mock/dlrn-centos9-xena-x86_64-5-bootstrap/root/run/lock DEBUG file_util.py:17: ensuring that dir exists: /var/lib/mock/dlrn-centos9-xena-x86_64-5-bootstrap/root/dev/pts DEBUG file_util.py:17: ensuring that dir exists: /var/lib/mock/dlrn-centos9-xena-x86_64-5-bootstrap/root/dev/shm DEBUG file_util.py:17: ensuring that dir exists: /var/lib/mock/dlrn-centos9-xena-x86_64-5-bootstrap/root/dev/mapper DEBUG file_util.py:20: creating dir: /var/lib/mock/dlrn-centos9-xena-x86_64-5-bootstrap/root/dev/mapper DEBUG buildroot.py:687: kernel version == 4.18.0-485.el8.x86_64 DEBUG file_util.py:30: touching file: /var/lib/mock/dlrn-centos9-xena-x86_64-5-bootstrap/root/etc/fstab DEBUG file_util.py:30: touching file: /var/lib/mock/dlrn-centos9-xena-x86_64-5-bootstrap/root/etc/yum/yum.conf DEBUG file_util.py:30: touching file: /var/lib/mock/dlrn-centos9-xena-x86_64-5-bootstrap/root/etc/dnf/dnf.conf DEBUG file_util.py:30: touching file: /var/lib/mock/dlrn-centos9-xena-x86_64-5-bootstrap/root/var/log/yum.log DEBUG buildroot.py:198: rootdir = /var/lib/mock/dlrn-centos9-xena-x86_64-5-bootstrap/root DEBUG buildroot.py:199: resultdir = /var/lib/mock/dlrn-centos9-xena-x86_64-5-bootstrap/results DEBUG file_util.py:17: ensuring that dir exists: /var/lib/mock/dlrn-centos9-xena-x86_64-5-bootstrap/root/etc/pki/mock DEBUG file_util.py:17: ensuring that dir exists: /var/lib/mock/dlrn-centos9-xena-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-xena-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-xena-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-xena-x86_64-5-bootstrap/root/etc DEBUG file_util.py:17: ensuring that dir exists: /var/lib/mock/dlrn-centos9-xena-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-xena-x86_64-5-bootstrap/root/.initialized DEBUG file_util.py:17: ensuring that dir exists: /var/lib/mock/dlrn-centos9-xena-x86_64-5 DEBUG file_util.py:17: ensuring that dir exists: /var/lib/mock/dlrn-centos9-xena-x86_64-5 DEBUG file_util.py:17: ensuring that dir exists: /var/lib/mock/dlrn-centos9-xena-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-xena-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-xena/data/repos/component/baremetal/96/d2/96d2c3cb44f6c3a355c4b6ac51345009bfd25e10_4c152d56 INFO buildroot.py:175: calling preinit hooks DEBUG file_util.py:17: ensuring that dir exists: /var/cache/mock/dlrn-centos9-xena-x86_64-5/root_cache/ DEBUG file_util.py:17: ensuring that dir exists: /var/lib/mock/dlrn-centos9-xena-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-xena-x86_64-5/root_cache/cache.tar.gz', '-C', '/var/lib/mock/dlrn-centos9-xena-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-xena-x86_64-5/root/./proc DEBUG file_util.py:20: creating dir: /var/lib/mock/dlrn-centos9-xena-x86_64-5/root/./proc DEBUG file_util.py:17: ensuring that dir exists: /var/lib/mock/dlrn-centos9-xena-x86_64-5/root/./sys DEBUG file_util.py:20: creating dir: /var/lib/mock/dlrn-centos9-xena-x86_64-5/root/./sys DEBUG file_util.py:17: ensuring that dir exists: /var/lib/mock/dlrn-centos9-xena-x86_64-5/root/./dev DEBUG file_util.py:20: creating dir: /var/lib/mock/dlrn-centos9-xena-x86_64-5/root/./dev DEBUG file_util.py:17: ensuring that dir exists: /var/lib/mock/dlrn-centos9-xena-x86_64-5/root/./tmp/ccache DEBUG file_util.py:20: creating dir: /var/lib/mock/dlrn-centos9-xena-x86_64-5/root/./tmp/ccache DEBUG file_util.py:17: ensuring that dir exists: /var/lib/mock/dlrn-centos9-xena-x86_64-5/root/./var/cache/yum DEBUG file_util.py:20: creating dir: /var/lib/mock/dlrn-centos9-xena-x86_64-5/root/./var/cache/yum DEBUG file_util.py:17: ensuring that dir exists: /var/lib/mock/dlrn-centos9-xena-x86_64-5/root/./var/cache/dnf DEBUG file_util.py:20: creating dir: /var/lib/mock/dlrn-centos9-xena-x86_64-5/root/./var/cache/dnf DEBUG file_util.py:17: ensuring that dir exists: /var/lib/mock/dlrn-centos9-xena-x86_64-5/root/./var/log DEBUG file_util.py:20: creating dir: /var/lib/mock/dlrn-centos9-xena-x86_64-5/root/./var/log DEBUG file_util.py:17: ensuring that dir exists: /var/cache/mock/dlrn-centos9-xena-x86_64-5/yum_cache DEBUG file_util.py:17: ensuring that dir exists: /var/cache/mock/dlrn-centos9-xena-x86_64-5/dnf_cache DEBUG util.py:622: child environment: None DEBUG util.py:540: Executing command: ['/usr/bin/lscpu'] with env {'TERM': 'vt100', 'SHELL': '/bin/sh', 'HOME': '/builddir', 'HOSTNAME': 'mock', 'PATH': '/usr/bin:/bin:/usr/sbin:/sbin', 'LANG': 'C.UTF-8'} and shell False DEBUG util.py:445: Architecture: x86_64 DEBUG util.py:445: CPU op-mode(s): 32-bit, 64-bit DEBUG util.py:445: Byte Order: Little Endian DEBUG util.py:445: CPU(s): 4 DEBUG util.py:445: On-line CPU(s) list: 0-3 DEBUG util.py:445: Thread(s) per core: 1 DEBUG util.py:445: Core(s) per socket: 1 DEBUG util.py:445: Socket(s): 4 DEBUG util.py:445: NUMA node(s): 1 DEBUG util.py:445: Vendor ID: AuthenticAMD DEBUG util.py:445: CPU family: 23 DEBUG util.py:445: Model: 49 DEBUG util.py:445: Model name: AMD EPYC-Rome Processor DEBUG util.py:445: Stepping: 0 DEBUG util.py:445: CPU MHz: 2799.998 DEBUG util.py:445: BogoMIPS: 5599.99 DEBUG util.py:445: Virtualization: AMD-V DEBUG util.py:445: Hypervisor vendor: KVM DEBUG util.py:445: Virtualization type: full DEBUG util.py:445: L1d cache: 32K DEBUG util.py:445: L1i cache: 32K DEBUG util.py:445: L2 cache: 512K DEBUG util.py:445: L3 cache: 16384K DEBUG util.py:445: NUMA node0 CPU(s): 0-3 DEBUG util.py:445: Flags: fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush mmx fxsr sse sse2 syscall nx mmxext fxsr_opt pdpe1gb rdtscp lm rep_good nopl cpuid extd_apicid tsc_known_freq pni pclmulqdq ssse3 fma cx16 sse4_1 sse4_2 x2apic movbe popcnt tsc_deadline_timer aes xsave avx f16c rdrand hypervisor lahf_lm cmp_legacy svm cr8_legacy abm sse4a misalignsse 3dnowprefetch osvw topoext perfctr_core ssbd ibrs ibpb stibp vmmcall fsgsbase tsc_adjust bmi1 avx2 smep bmi2 rdseed adx smap clflushopt clwb sha_ni xsaveopt xsavec xgetbv1 clzero xsaveerptr wbnoinvd arat npt lbrv nrip_save tsc_scale vmcb_clean pausefilter pfthreshold umip rdpid arch_capabilities DEBUG util.py:596: Child return code was: 0 DEBUG util.py:622: child environment: None DEBUG util.py:540: Executing command: ['/bin/free'] with env {'TERM': 'vt100', 'SHELL': '/bin/sh', 'HOME': '/builddir', 'HOSTNAME': 'mock', 'PATH': '/usr/bin:/bin:/usr/sbin:/sbin', 'LANG': 'C.UTF-8'} and shell False DEBUG util.py:445: total used free shared buff/cache available DEBUG util.py:445: Mem: 16139344 4181488 2776112 2305256 9181744 9313388 DEBUG util.py:445: Swap: 16777212 4616524 12160688 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-xena-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.3G 3.1G 30% /var/lib/mock/dlrn-centos9-xena-x86_64-5/root DEBUG util.py:445: /dev/vda1 550G 332G 219G 61% / DEBUG util.py:596: Child return code was: 0 DEBUG buildroot.py:550: create skeleton dirs DEBUG file_util.py:17: ensuring that dir exists: /var/lib/mock/dlrn-centos9-xena-x86_64-5/root/var/lib/rpm DEBUG file_util.py:17: ensuring that dir exists: /var/lib/mock/dlrn-centos9-xena-x86_64-5/root/var/lib/yum DEBUG file_util.py:17: ensuring that dir exists: /var/lib/mock/dlrn-centos9-xena-x86_64-5/root/var/lib/dbus DEBUG file_util.py:17: ensuring that dir exists: /var/lib/mock/dlrn-centos9-xena-x86_64-5/root/var/log DEBUG file_util.py:17: ensuring that dir exists: /var/lib/mock/dlrn-centos9-xena-x86_64-5/root/var/cache/dnf DEBUG file_util.py:17: ensuring that dir exists: /var/lib/mock/dlrn-centos9-xena-x86_64-5/root/var/cache/yum DEBUG file_util.py:17: ensuring that dir exists: /var/lib/mock/dlrn-centos9-xena-x86_64-5/root/etc/rpm DEBUG file_util.py:17: ensuring that dir exists: /var/lib/mock/dlrn-centos9-xena-x86_64-5/root/tmp DEBUG file_util.py:17: ensuring that dir exists: /var/lib/mock/dlrn-centos9-xena-x86_64-5/root/tmp/ccache DEBUG file_util.py:17: ensuring that dir exists: /var/lib/mock/dlrn-centos9-xena-x86_64-5/root/var/tmp DEBUG file_util.py:17: ensuring that dir exists: /var/lib/mock/dlrn-centos9-xena-x86_64-5/root/etc/dnf DEBUG file_util.py:17: ensuring that dir exists: /var/lib/mock/dlrn-centos9-xena-x86_64-5/root/etc/dnf/vars DEBUG file_util.py:17: ensuring that dir exists: /var/lib/mock/dlrn-centos9-xena-x86_64-5/root/etc/yum.repos.d DEBUG file_util.py:20: creating dir: /var/lib/mock/dlrn-centos9-xena-x86_64-5/root/etc/yum.repos.d DEBUG file_util.py:17: ensuring that dir exists: /var/lib/mock/dlrn-centos9-xena-x86_64-5/root/etc/yum DEBUG file_util.py:17: ensuring that dir exists: /var/lib/mock/dlrn-centos9-xena-x86_64-5/root/proc DEBUG file_util.py:17: ensuring that dir exists: /var/lib/mock/dlrn-centos9-xena-x86_64-5/root/sys DEBUG file_util.py:17: ensuring that dir exists: /var/lib/mock/dlrn-centos9-xena-x86_64-5/root/run/lock DEBUG file_util.py:17: ensuring that dir exists: /var/lib/mock/dlrn-centos9-xena-x86_64-5/root/dev/pts DEBUG file_util.py:20: creating dir: /var/lib/mock/dlrn-centos9-xena-x86_64-5/root/dev/pts DEBUG file_util.py:17: ensuring that dir exists: /var/lib/mock/dlrn-centos9-xena-x86_64-5/root/dev/shm DEBUG file_util.py:20: creating dir: /var/lib/mock/dlrn-centos9-xena-x86_64-5/root/dev/shm DEBUG file_util.py:17: ensuring that dir exists: /var/lib/mock/dlrn-centos9-xena-x86_64-5/root/dev/mapper DEBUG file_util.py:20: creating dir: /var/lib/mock/dlrn-centos9-xena-x86_64-5/root/dev/mapper DEBUG buildroot.py:687: kernel version == 4.18.0-485.el8.x86_64 DEBUG file_util.py:30: touching file: /var/lib/mock/dlrn-centos9-xena-x86_64-5/root/etc/fstab DEBUG file_util.py:30: touching file: /var/lib/mock/dlrn-centos9-xena-x86_64-5/root/etc/yum/yum.conf DEBUG file_util.py:30: touching file: /var/lib/mock/dlrn-centos9-xena-x86_64-5/root/etc/dnf/dnf.conf DEBUG file_util.py:30: touching file: /var/lib/mock/dlrn-centos9-xena-x86_64-5/root/var/log/yum.log DEBUG file_util.py:17: ensuring that dir exists: /var/lib/mock/dlrn-centos9-xena-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-xena-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-xena-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-xena-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-xena-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-xena-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-xena-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-xena-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-xena-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-xena-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-xena-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-xena-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-xena-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-xena-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-xena-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-xena-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-xena-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-xena-x86_64-5/yum_cache', '/var/lib/mock/dlrn-centos9-xena-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-xena-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-xena-x86_64-5/dnf_cache', '/var/lib/mock/dlrn-centos9-xena-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.018989vf', '/var/lib/mock/dlrn-centos9-xena-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-xena-x86_64-5-bootstrap/root/var/lib/mock/dlrn-centos9-xena-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-xena-x86_64-5-bootstrap/root/var/lib/mock/dlrn-centos9-xena-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-xena-x86_64-5-bootstrap/root/var/lib/mock/dlrn-centos9-xena-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-xena-x86_64-5/root', '/var/lib/mock/dlrn-centos9-xena-x86_64-5-bootstrap/root/var/lib/mock/dlrn-centos9-xena-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-xena-x86_64-5-bootstrap/root/var/lib/mock/dlrn-centos9-xena-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-xena-x86_64-5/root DEBUG buildroot.py:199: resultdir = /home/centos9-xena/data/repos/component/baremetal/96/d2/96d2c3cb44f6c3a355c4b6ac51345009bfd25e10_4c152d56 DEBUG file_util.py:17: ensuring that dir exists: /var/lib/mock/dlrn-centos9-xena-x86_64-5/root/etc/pki/mock DEBUG file_util.py:17: ensuring that dir exists: /var/lib/mock/dlrn-centos9-xena-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', '1027', '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-xena-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-xena-x86_64-5-bootstrap/root/home/centos9-xena/data/repos/component/baremetal/96/d2/96d2c3cb44f6c3a355c4b6ac51345009bfd25e10_4c152d56 DEBUG file_util.py:20: creating dir: /var/lib/mock/dlrn-centos9-xena-x86_64-5-bootstrap/root/home/centos9-xena/data/repos/component/baremetal/96/d2/96d2c3cb44f6c3a355c4b6ac51345009bfd25e10_4c152d56 DEBUG util.py:622: child environment: None DEBUG util.py:540: Executing command: ['/bin/mount', '-n', '-o', 'bind', '/home/centos9-xena/data/repos/component/baremetal/96/d2/96d2c3cb44f6c3a355c4b6ac51345009bfd25e10_4c152d56', '/var/lib/mock/dlrn-centos9-xena-x86_64-5-bootstrap/root/home/centos9-xena/data/repos/component/baremetal/96/d2/96d2c3cb44f6c3a355c4b6ac51345009bfd25e10_4c152d56'] with env {'TERM': 'vt100', 'SHELL': '/bin/sh', 'HOME': '/builddir', 'HOSTNAME': 'mock', 'PATH': '/usr/bin:/bin:/usr/sbin:/sbin', 'LANG': 'C.UTF-8'} and shell 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-xena-x86_64-5-bootstrap/root/home/centos9-xena/data/repos/component/baremetal/96/d2/96d2c3cb44f6c3a355c4b6ac51345009bfd25e10_4c152d56'] with env {'TERM': 'vt100', 'SHELL': '/bin/sh', 'HOME': '/builddir', 'HOSTNAME': '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-xena/data/repos/component/baremetal/96/d2/96d2c3cb44f6c3a355c4b6ac51345009bfd25e10_4c152d56/openstack-ironic-conductor-18.3.1-0.20240514115031.96d2c3c.el9.noarch.rpm /home/centos9-xena/data/repos/component/baremetal/96/d2/96d2c3cb44f6c3a355c4b6ac51345009bfd25e10_4c152d56/openstack-ironic-common-18.3.1-0.20240514115031.96d2c3c.el9.noarch.rpm /home/centos9-xena/data/repos/component/baremetal/96/d2/96d2c3cb44f6c3a355c4b6ac51345009bfd25e10_4c152d56/openstack-ironic-dnsmasq-tftp-server-18.3.1-0.20240514115031.96d2c3c.el9.noarch.rpm /home/centos9-xena/data/repos/component/baremetal/96/d2/96d2c3cb44f6c3a355c4b6ac51345009bfd25e10_4c152d56/openstack-ironic-api-18.3.1-0.20240514115031.96d2c3c.el9.noarch.rpm /home/centos9-xena/data/repos/component/baremetal/96/d2/96d2c3cb44f6c3a355c4b6ac51345009bfd25e10_4c152d56/python3-ironic-tests-18.3.1-0.20240514115031.96d2c3c.el9.noarch.rpm DEBUG file_util.py:17: ensuring that dir exists: /var/lib/mock/dlrn-centos9-xena-x86_64-5/root/installation-homedir DEBUG package_manager.py:197: ['/usr/bin/dnf', '--installroot', '/var/lib/mock/dlrn-centos9-xena-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-xena/data/repos/component/baremetal/96/d2/96d2c3cb44f6c3a355c4b6ac51345009bfd25e10_4c152d56/openstack-ironic-conductor-18.3.1-0.20240514115031.96d2c3c.el9.noarch.rpm', '/home/centos9-xena/data/repos/component/baremetal/96/d2/96d2c3cb44f6c3a355c4b6ac51345009bfd25e10_4c152d56/openstack-ironic-common-18.3.1-0.20240514115031.96d2c3c.el9.noarch.rpm', '/home/centos9-xena/data/repos/component/baremetal/96/d2/96d2c3cb44f6c3a355c4b6ac51345009bfd25e10_4c152d56/openstack-ironic-dnsmasq-tftp-server-18.3.1-0.20240514115031.96d2c3c.el9.noarch.rpm', '/home/centos9-xena/data/repos/component/baremetal/96/d2/96d2c3cb44f6c3a355c4b6ac51345009bfd25e10_4c152d56/openstack-ironic-api-18.3.1-0.20240514115031.96d2c3c.el9.noarch.rpm', '/home/centos9-xena/data/repos/component/baremetal/96/d2/96d2c3cb44f6c3a355c4b6ac51345009bfd25e10_4c152d56/python3-ironic-tests-18.3.1-0.20240514115031.96d2c3c.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-xena-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-xena/data/repos/component/baremetal/96/d2/96d2c3cb44f6c3a355c4b6ac51345009bfd25e10_4c152d56/openstack-ironic-conductor-18.3.1-0.20240514115031.96d2c3c.el9.noarch.rpm', '/home/centos9-xena/data/repos/component/baremetal/96/d2/96d2c3cb44f6c3a355c4b6ac51345009bfd25e10_4c152d56/openstack-ironic-common-18.3.1-0.20240514115031.96d2c3c.el9.noarch.rpm', '/home/centos9-xena/data/repos/component/baremetal/96/d2/96d2c3cb44f6c3a355c4b6ac51345009bfd25e10_4c152d56/openstack-ironic-dnsmasq-tftp-server-18.3.1-0.20240514115031.96d2c3c.el9.noarch.rpm', '/home/centos9-xena/data/repos/component/baremetal/96/d2/96d2c3cb44f6c3a355c4b6ac51345009bfd25e10_4c152d56/openstack-ironic-api-18.3.1-0.20240514115031.96d2c3c.el9.noarch.rpm', '/home/centos9-xena/data/repos/component/baremetal/96/d2/96d2c3cb44f6c3a355c4b6ac51345009bfd25e10_4c152d56/python3-ironic-tests-18.3.1-0.20240514115031.96d2c3c.el9.noarch.rpm', '--setopt=tsflags=nocontexts'] with env {'TERM': 'vt100', 'SHELL': '/bin/bash', 'HOME': '/var/lib/mock/dlrn-centos9-xena-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-openstack-ironic-inspector-12e63382fe9 33 kB/s | 3.0 kB 00:00 DEBUG util.py:445: delorean-openstack-cinder-6f61da6b46cd5cd054748 31 kB/s | 3.0 kB 00:00 DEBUG util.py:445: delorean-python-manilaclient-135cdf98c317827634 31 kB/s | 3.0 kB 00:00 DEBUG util.py:445: delorean-openstack-aodh-dd23f13d20de205dddd048e 26 kB/s | 3.0 kB 00:00 DEBUG util.py:445: delorean-openstack-trove-24d01cbd9adc856ffbec9d 25 kB/s | 3.0 kB 00:00 DEBUG util.py:445: delorean-openstack-nova-dbe1d4bb125799c15cbb05a 26 kB/s | 3.0 kB 00:00 DEBUG util.py:445: delorean-openstack-glance-e113723f3fa85cfbbab94 25 kB/s | 3.0 kB 00:00 DEBUG util.py:445: delorean-openstack-manila-68608563da45d199e6b94 26 kB/s | 3.0 kB 00:00 DEBUG util.py:445: delorean-openstack-neutron-vpnaas-8f84356bf9563 26 kB/s | 3.0 kB 00:00 DEBUG util.py:445: delorean-openstack-octavia-28f7d2e000a0419d2741 29 kB/s | 3.0 kB 00:00 DEBUG util.py:445: delorean-openstack-keystone-5f5e43b2902512288ee 26 kB/s | 3.0 kB 00:00 DEBUG util.py:445: delorean-openstack-swift-8c4f9526ac62ee23e60f71 26 kB/s | 3.0 kB 00:00 DEBUG util.py:445: delorean-openstack-tempest-1580f6f8437bd07e008c 31 kB/s | 3.0 kB 00:00 DEBUG util.py:445: delorean-openstack-heat-cd40593a115630d1f8dce3d 26 kB/s | 3.0 kB 00:00 DEBUG util.py:445: delorean-openstack-trove-ui-47b97e7b5896ae304d5 25 kB/s | 3.0 kB 00:00 DEBUG util.py:445: delorean-python-validations-libs-8d9e1b5dfd43be 25 kB/s | 3.0 kB 00:00 DEBUG util.py:445: CentOS Stream 9 - BaseOS 24 kB/s | 3.9 kB 00:00 DEBUG util.py:445: CentOS Stream 9 - AppStream 21 kB/s | 4.4 kB 00:00 DEBUG util.py:445: CentOS Stream 9 - CRB 14 kB/s | 2.9 kB 00:00 DEBUG util.py:445: CentOS Stream 9 - HighAvailability 14 kB/s | 3.0 kB 00:00 DEBUG util.py:445: dlrn-xena-testing 26 kB/s | 3.0 kB 00:00 DEBUG util.py:445: dlrn-xena-build-deps 25 kB/s | 3.0 kB 00:00 DEBUG util.py:445: centos9-rabbitmq 15 kB/s | 3.0 kB 00:00 DEBUG util.py:445: centos9-storage 19 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-api noarch 1:18.3.1-0.20240514115031.96d2c3c.el9 @commandline 8.9 k DEBUG util.py:445: openstack-ironic-common noarch 1:18.3.1-0.20240514115031.96d2c3c.el9 @commandline 1.2 M DEBUG util.py:445: openstack-ironic-conductor noarch 1:18.3.1-0.20240514115031.96d2c3c.el9 @commandline 8.1 k DEBUG util.py:445: openstack-ironic-dnsmasq-tftp-server noarch 1:18.3.1-0.20240514115031.96d2c3c.el9 @commandline 12 k DEBUG util.py:445: python3-ironic-tests noarch 1:18.3.1-0.20240514115031.96d2c3c.el9 @commandline 1.3 M DEBUG util.py:445: Installing dependencies: DEBUG util.py:445: dnsmasq x86_64 2.85-16.el9 appstream 327 k DEBUG util.py:445: libsodium x86_64 1.0.18-7.el9s delorean-xena-testing 161 k DEBUG util.py:445: libyaml x86_64 0.2.5-7.el9 baseos 61 k DEBUG util.py:445: python-oslo-cache-lang noarch 2.8.2-0.20220318083438.55cb199.el9 delorean-component-common 16 k DEBUG util.py:445: python-oslo-concurrency-lang noarch 4.4.1-0.20211117205442.8e08400.el9 delorean-component-common 13 k DEBUG util.py:445: python-oslo-db-lang noarch 11.0.0-0.20211117214750.75661fb.el9 delorean-component-common 13 k DEBUG util.py:445: python-oslo-i18n-lang noarch 5.1.0-0.20211117181855.b031d17.el9 delorean-component-common 13 k DEBUG util.py:445: python-oslo-log-lang noarch 4.6.0-0.20211117204802.41c8807.el9 delorean-component-common 12 k DEBUG util.py:445: python-oslo-middleware-lang noarch 4.4.0-0.20211117211553.da7987c.el9 delorean-component-common 11 k DEBUG util.py:445: python-oslo-policy-lang noarch 3.8.3-0.20211117210910.ff2a39f.el9 delorean-component-common 11 k DEBUG util.py:445: python-oslo-utils-lang noarch 4.10.2-0.20220513072911.90a5046.el9 delorean-component-common 12 k DEBUG util.py:445: python-oslo-versionedobjects-lang noarch 2.5.0-0.20211117221900.a85275f.el9 delorean-component-common 12 k DEBUG util.py:445: python-pycadf-common noarch 3.1.1-0.20211117213327.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.7.5-3.el9 appstream 896 k DEBUG util.py:445: python3-amqp noarch 5.0.6-1.el9s delorean-xena-testing 93 k DEBUG util.py:445: python3-appdirs noarch 1.4.4-4.el9 appstream 23 k DEBUG util.py:445: python3-attrs noarch 20.3.0-7.el9 appstream 87 k DEBUG util.py:445: python3-automaton noarch 2.4.0-0.20211117224632.0461d8e.el9 delorean-component-common 41 k DEBUG util.py:445: python3-autopage noarch 0.4.0-1.el9s delorean-xena-testing 39 k DEBUG util.py:445: python3-bcrypt x86_64 3.1.7-7.el9s delorean-xena-testing 43 k DEBUG util.py:445: python3-beautifulsoup4 noarch 4.9.3-2.el9s delorean-xena-testing 202 k DEBUG util.py:445: python3-cachetools noarch 4.2.2-1.el9s delorean-xena-testing 32 k DEBUG util.py:445: python3-cinderclient noarch 8.1.0-0.20211117215955.fab6ddf.el9 delorean-component-clients 216 k DEBUG util.py:445: python3-cliff noarch 3.9.0-0.20211117182955.734bc0c.el9 delorean-component-common 93 k DEBUG util.py:445: python3-cmd2 noarch 2.1.2-1.el9s delorean-xena-testing 286 k DEBUG util.py:445: python3-colorama noarch 0.4.4-2.el9s delorean-xena-testing 33 k DEBUG util.py:445: python3-dateutil noarch 1:2.8.1-7.el9 baseos 288 k DEBUG util.py:445: python3-debtcollector noarch 2.3.0-0.20211117180744.0bf5bf5.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-xena-testing 50 k DEBUG util.py:445: python3-dogpile-cache noarch 1.1.5-1.el9s delorean-xena-testing 88 k DEBUG util.py:445: python3-etcd3gw noarch 1.0.0-2.el9s delorean-xena-testing 42 k DEBUG util.py:445: python3-extras noarch 1.0.0-15.el9s delorean-xena-testing 19 k DEBUG util.py:445: python3-fasteners noarch 0.14.1-24.el9s delorean-xena-testing 42 k DEBUG util.py:445: python3-fixtures noarch 3.0.0-22.el9s delorean-xena-testing 92 k DEBUG util.py:445: python3-future noarch 0.18.2-9.el9s delorean-xena-testing 729 k DEBUG util.py:445: python3-futurist noarch 2.4.0-0.20211117191509.d70c7e5.el9 delorean-component-common 62 k DEBUG util.py:445: python3-glanceclient noarch 1:3.5.0-0.20211117195751.74a55bd.el9 delorean-component-clients 143 k DEBUG util.py:445: python3-ifaddr noarch 0.1.7-3.el9s delorean-xena-testing 22 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.0.1-0.20211125144845.b19124e.el9 delorean-component-baremetal 142 k DEBUG util.py:445: python3-iso8601 noarch 0.1.13-4.el9s delorean-xena-testing 23 k DEBUG util.py:445: python3-jeepney noarch 0.7.1-1.el9s delorean-xena-testing 307 k DEBUG util.py:445: python3-jmespath noarch 0.10.0-1.el9s delorean-xena-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-xena-testing 156 k DEBUG util.py:445: python3-keyring noarch 21.8.0-2.el9s delorean-xena-testing 76 k DEBUG util.py:445: python3-keystoneauth1 noarch 4.4.0-0.20240201063748.112bcae.el9 delorean-component-security 405 k DEBUG util.py:445: python3-keystoneclient noarch 1:4.3.0-0.20220713075914.d5cb761.el9 delorean-component-clients 237 k DEBUG util.py:445: python3-keystonemiddleware noarch 9.3.0-0.20211117213925.90df936.el9 delorean-component-security 90 k DEBUG util.py:445: python3-kombu noarch 1:5.1.0-3.el9s delorean-xena-testing 320 k DEBUG util.py:445: python3-logutils noarch 0.3.5-15.el9s delorean-xena-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-xena-testing 39 k DEBUG util.py:445: python3-migrate noarch 0.13.0-5.el9s delorean-xena-testing 222 k DEBUG util.py:445: python3-mock noarch 3.0.5-14.el9s delorean-xena-testing 51 k DEBUG util.py:445: python3-msgpack x86_64 1.0.2-2.el9s delorean-xena-testing 86 k DEBUG util.py:445: python3-munch noarch 2.5.0-4.el9s delorean-xena-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.59.0-0.20211117194915.d0d4d8b.el9 delorean-component-clients 749 k DEBUG util.py:445: python3-os-service-types noarch 1.7.0-0.20220222075507.0b2f473.el9 delorean-component-clients 36 k DEBUG util.py:445: python3-os-traits noarch 2.6.0-0.20211118001148.c323982.el9 delorean-component-common 44 k DEBUG util.py:445: python3-oslo-cache noarch 2.8.2-0.20220318083438.55cb199.el9 delorean-component-common 53 k DEBUG util.py:445: python3-oslo-concurrency noarch 4.4.1-0.20211117205442.8e08400.el9 delorean-component-common 40 k DEBUG util.py:445: python3-oslo-config noarch 2:8.7.1-0.20211122091811.1a7bd66.el9 delorean-component-common 216 k DEBUG util.py:445: python3-oslo-context noarch 3.3.2-0.20211117204246.7187c67.el9 delorean-component-common 25 k DEBUG util.py:445: python3-oslo-db noarch 11.0.0-0.20211117214750.75661fb.el9 delorean-component-common 140 k DEBUG util.py:445: python3-oslo-i18n noarch 5.1.0-0.20211117181855.b031d17.el9 delorean-component-common 56 k DEBUG util.py:445: python3-oslo-log noarch 4.6.0-0.20211117204802.41c8807.el9 delorean-component-common 62 k DEBUG util.py:445: python3-oslo-messaging noarch 12.9.4-0.20220627084903.49ec24c.el9 delorean-component-common 219 k DEBUG util.py:445: python3-oslo-metrics noarch 0.3.1-0.20220214085829.b904335.el9 delorean-component-common 23 k DEBUG util.py:445: python3-oslo-middleware noarch 4.4.0-0.20211117211553.da7987c.el9 delorean-component-common 56 k DEBUG util.py:445: python3-oslo-policy noarch 3.8.3-0.20211117210910.ff2a39f.el9 delorean-component-common 74 k DEBUG util.py:445: python3-oslo-rootwrap noarch 6.3.1-0.20220228092836.1b1b960.el9 delorean-component-common 44 k DEBUG util.py:445: python3-oslo-serialization noarch 4.2.0-0.20211117200938.2b94a4f.el9 delorean-component-common 32 k DEBUG util.py:445: python3-oslo-service noarch 2.6.2-0.20220513142338.03d4fdd.el9 delorean-component-common 69 k DEBUG util.py:445: python3-oslo-upgradecheck noarch 1.4.0-0.20211117215732.3ca8698.el9 delorean-component-common 26 k DEBUG util.py:445: python3-oslo-utils noarch 4.10.2-0.20220513072911.90a5046.el9 delorean-component-common 78 k DEBUG util.py:445: python3-oslo-versionedobjects noarch 2.5.0-0.20211117221900.a85275f.el9 delorean-component-common 76 k DEBUG util.py:445: python3-oslotest noarch 4.5.0-0.20211117192626.d4b1896.el9 delorean-component-clients 47 k DEBUG util.py:445: python3-osprofiler noarch 3.4.2-0.20211117224047.e475de6.el9 delorean-component-common 128 k DEBUG util.py:445: python3-paste noarch 3.5.0-3.el9s delorean-xena-testing 775 k DEBUG util.py:445: python3-paste-deploy noarch 2.1.1-2.el9s delorean-xena-testing 40 k DEBUG util.py:445: python3-pecan noarch 1.4.0-2.el9s delorean-xena-testing 272 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-xena-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-xena-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.20211117213327.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-pyghmi noarch 1.5.34-2.el9 appstream 392 k DEBUG util.py:445: python3-pynacl x86_64 1.4.0-2.el9s delorean-xena-testing 108 k DEBUG util.py:445: python3-pyngus noarch 2.3.0-8.el9s delorean-xena-testing 51 k DEBUG util.py:445: python3-pyperclip noarch 1.8.0-3.el9s delorean-xena-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-xena-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-xena-testing 408 k DEBUG util.py:445: python3-redis noarch 3.5.3-2.el9s delorean-xena-testing 132 k DEBUG util.py:445: python3-repoze-lru noarch 0.7-10.el9s delorean-xena-testing 31 k DEBUG util.py:445: python3-requestsexceptions noarch 1.4.0-0.20220222075317.d7ac0ff.el9 delorean-component-common 15 k DEBUG util.py:445: python3-rfc3986 noarch 1.4.0-5.el9s delorean-xena-testing 50 k DEBUG util.py:445: python3-routes noarch 2.5.1-1.el9s delorean-xena-testing 188 k DEBUG util.py:445: python3-secretstorage noarch 3.3.1-1.el9s delorean-xena-testing 35 k DEBUG util.py:445: python3-simplejson x86_64 3.17.5-1.el9s delorean-xena-testing 264 k DEBUG util.py:445: python3-smi noarch 0.3.4-10.el9s delorean-xena-testing 133 k DEBUG util.py:445: python3-soupsieve noarch 2.2.1-2.el9s delorean-xena-testing 66 k DEBUG util.py:445: python3-sqlparse noarch 0.4.1-1.el9s delorean-xena-testing 83 k DEBUG util.py:445: python3-statsd noarch 3.2.1-20.el9s delorean-xena-testing 34 k DEBUG util.py:445: python3-stestr noarch 2.6.0-8.el9s delorean-xena-testing 159 k DEBUG util.py:445: python3-stevedore noarch 3.4.2-0.20221021074429.1c12706.el9 delorean-component-clients 68 k DEBUG util.py:445: python3-subunit noarch 1.4.0-6.el9s delorean-xena-testing 90 k DEBUG util.py:445: python3-swiftclient noarch 3.12.0-0.20211117201905.38c435f.el9 delorean-component-clients 160 k DEBUG util.py:445: python3-tempita noarch 0.5.2-2.el9s delorean-xena-testing 36 k DEBUG util.py:445: python3-tenacity noarch 6.3.1-1.el9s delorean-xena-testing 50 k DEBUG util.py:445: python3-testresources noarch 2.0.1-2.el9s delorean-xena-testing 59 k DEBUG util.py:445: python3-testscenarios noarch 0.5.0-21.el9s delorean-xena-testing 37 k DEBUG util.py:445: python3-testtools noarch 2.5.0-2.el9s delorean-xena-testing 327 k DEBUG util.py:445: python3-tooz noarch 2.9.0-0.20211117211911.174065f.el9 delorean-component-common 105 k DEBUG util.py:445: python3-vine noarch 5.0.0-3.el9s delorean-xena-testing 25 k DEBUG util.py:445: python3-voluptuous noarch 0.12.1-2.el9s delorean-xena-testing 59 k DEBUG util.py:445: python3-waitress noarch 1.4.4-3.el9s delorean-xena-testing 94 k DEBUG util.py:445: python3-warlock noarch 1.3.3-5.el9s delorean-xena-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-xena-testing 230 k DEBUG util.py:445: python3-webtest noarch 2.0.35-6.el9s delorean-xena-testing 81 k DEBUG util.py:445: python3-wrapt x86_64 1.12.1-4.el9s delorean-xena-testing 53 k DEBUG util.py:445: python3-yappi x86_64 1.3.1-2.el9s delorean-xena-testing 55 k DEBUG util.py:445: python3-zake noarch 0.2.2-22.el9s delorean-xena-testing 45 k DEBUG util.py:445: python3-zeroconf noarch 0.29.0-1.el9s delorean-xena-testing 105 k DEBUG util.py:445: qpid-proton-c x86_64 0.35.0-2.el9s delorean-xena-testing 225 k DEBUG util.py:445: Installing weak dependencies: DEBUG util.py:445: ipmitool x86_64 1.8.18-27.el9 appstream 387 k DEBUG util.py:445: python3-dracclient noarch 7.0.1-0.20220113135335.382ba1c.el9 delorean-component-baremetal 178 k DEBUG util.py:445: python3-scciclient noarch 0.11.4-0.20220729095352.7c22357.el9 delorean-component-baremetal 122 k DEBUG util.py:445: python3-sushy noarch 3.12.6-0.20230120101535.e71373c.el9 delorean-component-baremetal 178 k DEBUG util.py:445: Transaction Summary DEBUG util.py:445: ========================================================================================================================= DEBUG util.py:445: Install 146 Packages DEBUG util.py:445: Total size: 22 M DEBUG util.py:445: Total download size: 387 k DEBUG util.py:445: Installed size: 101 M DEBUG util.py:445: Downloading Packages: DEBUG util.py:445: [SKIPPED] python3-dracclient-7.0.1-0.20220113135335.382ba1c.el9.noarch.rpm: Already downloaded DEBUG util.py:445: [SKIPPED] python3-ironic-lib-5.0.1-0.20211125144845.b19124e.el9.noarch.rpm: Already downloaded DEBUG util.py:445: [SKIPPED] python3-scciclient-0.11.4-0.20220729095352.7c22357.el9.noarch.rpm: Already downloaded DEBUG util.py:445: [SKIPPED] python3-sushy-3.12.6-0.20230120101535.e71373c.el9.noarch.rpm: Already downloaded DEBUG util.py:445: [SKIPPED] python3-cinderclient-8.1.0-0.20211117215955.fab6ddf.el9.noarch.rpm: Already downloaded DEBUG util.py:445: [SKIPPED] python3-glanceclient-3.5.0-0.20211117195751.74a55bd.el9.noarch.rpm: Already downloaded DEBUG util.py:445: [SKIPPED] python3-keystoneclient-4.3.0-0.20220713075914.d5cb761.el9.noarch.rpm: Already downloaded DEBUG util.py:445: [SKIPPED] python3-openstacksdk-0.59.0-0.20211117194915.d0d4d8b.el9.noarch.rpm: Already downloaded DEBUG util.py:445: [SKIPPED] python3-os-service-types-1.7.0-0.20220222075507.0b2f473.el9.noarch.rpm: Already downloaded DEBUG util.py:445: [SKIPPED] python3-oslotest-4.5.0-0.20211117192626.d4b1896.el9.noarch.rpm: Already downloaded DEBUG util.py:445: [SKIPPED] python3-stevedore-3.4.2-0.20221021074429.1c12706.el9.noarch.rpm: Already downloaded DEBUG util.py:445: [SKIPPED] python3-swiftclient-3.12.0-0.20211117201905.38c435f.el9.noarch.rpm: Already downloaded DEBUG util.py:445: [SKIPPED] python-oslo-cache-lang-2.8.2-0.20220318083438.55cb199.el9.noarch.rpm: Already downloaded DEBUG util.py:445: [SKIPPED] python-oslo-concurrency-lang-4.4.1-0.20211117205442.8e08400.el9.noarch.rpm: Already downloaded DEBUG util.py:445: [SKIPPED] python-oslo-db-lang-11.0.0-0.20211117214750.75661fb.el9.noarch.rpm: Already downloaded DEBUG util.py:445: [SKIPPED] python-oslo-i18n-lang-5.1.0-0.20211117181855.b031d17.el9.noarch.rpm: Already downloaded DEBUG util.py:445: [SKIPPED] python-oslo-log-lang-4.6.0-0.20211117204802.41c8807.el9.noarch.rpm: Already downloaded DEBUG util.py:445: [SKIPPED] python-oslo-middleware-lang-4.4.0-0.20211117211553.da7987c.el9.noarch.rpm: Already downloaded DEBUG util.py:445: [SKIPPED] python-oslo-policy-lang-3.8.3-0.20211117210910.ff2a39f.el9.noarch.rpm: Already downloaded DEBUG util.py:445: [SKIPPED] python-oslo-utils-lang-4.10.2-0.20220513072911.90a5046.el9.noarch.rpm: Already downloaded DEBUG util.py:445: [SKIPPED] python-oslo-versionedobjects-lang-2.5.0-0.20211117221900.a85275f.el9.noarch.rpm: Already downloaded DEBUG util.py:445: [SKIPPED] python-pycadf-common-3.1.1-0.20211117213327.4179996.el9.noarch.rpm: Already downloaded DEBUG util.py:445: [SKIPPED] python3-automaton-2.4.0-0.20211117224632.0461d8e.el9.noarch.rpm: Already downloaded DEBUG util.py:445: [SKIPPED] python3-cliff-3.9.0-0.20211117182955.734bc0c.el9.noarch.rpm: Already downloaded DEBUG util.py:445: [SKIPPED] python3-debtcollector-2.3.0-0.20211117180744.0bf5bf5.el9.noarch.rpm: Already downloaded DEBUG util.py:445: [SKIPPED] python3-futurist-2.4.0-0.20211117191509.d70c7e5.el9.noarch.rpm: Already downloaded DEBUG util.py:445: [SKIPPED] python3-os-traits-2.6.0-0.20211118001148.c323982.el9.noarch.rpm: Already downloaded DEBUG util.py:445: [SKIPPED] python3-oslo-cache-2.8.2-0.20220318083438.55cb199.el9.noarch.rpm: Already downloaded DEBUG util.py:445: [SKIPPED] python3-oslo-concurrency-4.4.1-0.20211117205442.8e08400.el9.noarch.rpm: Already downloaded DEBUG util.py:445: [SKIPPED] python3-oslo-config-8.7.1-0.20211122091811.1a7bd66.el9.noarch.rpm: Already downloaded DEBUG util.py:445: [SKIPPED] python3-oslo-context-3.3.2-0.20211117204246.7187c67.el9.noarch.rpm: Already downloaded DEBUG util.py:445: [SKIPPED] python3-oslo-db-11.0.0-0.20211117214750.75661fb.el9.noarch.rpm: Already downloaded DEBUG util.py:445: [SKIPPED] python3-oslo-i18n-5.1.0-0.20211117181855.b031d17.el9.noarch.rpm: Already downloaded DEBUG util.py:445: [SKIPPED] python3-oslo-log-4.6.0-0.20211117204802.41c8807.el9.noarch.rpm: Already downloaded DEBUG util.py:445: [SKIPPED] python3-oslo-messaging-12.9.4-0.20220627084903.49ec24c.el9.noarch.rpm: Already downloaded DEBUG util.py:445: [SKIPPED] python3-oslo-metrics-0.3.1-0.20220214085829.b904335.el9.noarch.rpm: Already downloaded DEBUG util.py:445: [SKIPPED] python3-oslo-middleware-4.4.0-0.20211117211553.da7987c.el9.noarch.rpm: Already downloaded DEBUG util.py:445: [SKIPPED] python3-oslo-policy-3.8.3-0.20211117210910.ff2a39f.el9.noarch.rpm: Already downloaded DEBUG util.py:445: [SKIPPED] python3-oslo-rootwrap-6.3.1-0.20220228092836.1b1b960.el9.noarch.rpm: Already downloaded DEBUG util.py:445: [SKIPPED] python3-oslo-serialization-4.2.0-0.20211117200938.2b94a4f.el9.noarch.rpm: Already downloaded DEBUG util.py:445: [SKIPPED] python3-oslo-service-2.6.2-0.20220513142338.03d4fdd.el9.noarch.rpm: Already downloaded DEBUG util.py:445: [SKIPPED] python3-oslo-upgradecheck-1.4.0-0.20211117215732.3ca8698.el9.noarch.rpm: Already downloaded DEBUG util.py:445: [SKIPPED] python3-oslo-utils-4.10.2-0.20220513072911.90a5046.el9.noarch.rpm: Already downloaded DEBUG util.py:445: [SKIPPED] python3-oslo-versionedobjects-2.5.0-0.20211117221900.a85275f.el9.noarch.rpm: Already downloaded DEBUG util.py:445: [SKIPPED] python3-osprofiler-3.4.2-0.20211117224047.e475de6.el9.noarch.rpm: Already downloaded DEBUG util.py:445: [SKIPPED] python3-pycadf-3.1.1-0.20211117213327.4179996.el9.noarch.rpm: Already downloaded DEBUG util.py:445: [SKIPPED] python3-requestsexceptions-1.4.0-0.20220222075317.d7ac0ff.el9.noarch.rpm: Already downloaded DEBUG util.py:445: [SKIPPED] python3-tooz-2.9.0-0.20211117211911.174065f.el9.noarch.rpm: Already downloaded DEBUG util.py:445: [SKIPPED] python3-keystoneauth1-4.4.0-0.20240201063748.112bcae.el9.noarch.rpm: Already downloaded DEBUG util.py:445: [SKIPPED] python3-keystonemiddleware-9.3.0-0.20211117213925.90df936.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] python3-dateutil-2.8.1-7.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-pyyaml-5.4.1-6.el9.x86_64.rpm: Already downloaded DEBUG util.py:445: [SKIPPED] dnsmasq-2.85-16.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-alembic-1.7.5-3.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-amqp-5.0.6-1.el9s.noarch.rpm: Already downloaded DEBUG util.py:445: [SKIPPED] python3-autopage-0.4.0-1.el9s.noarch.rpm: Already downloaded DEBUG util.py:445: [SKIPPED] python3-bcrypt-3.1.7-7.el9s.x86_64.rpm: Already downloaded DEBUG util.py:445: [SKIPPED] python3-beautifulsoup4-4.9.3-2.el9s.noarch.rpm: Already downloaded DEBUG util.py:445: [SKIPPED] python3-cachetools-4.2.2-1.el9s.noarch.rpm: Already downloaded DEBUG util.py:445: [SKIPPED] python3-cmd2-2.1.2-1.el9s.noarch.rpm: Already downloaded DEBUG util.py:445: [SKIPPED] python3-colorama-0.4.4-2.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-dogpile-cache-1.1.5-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.14.1-24.el9s.noarch.rpm: Already downloaded DEBUG util.py:445: [SKIPPED] python3-fixtures-3.0.0-22.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-iso8601-0.1.13-4.el9s.noarch.rpm: Already downloaded DEBUG util.py:445: [SKIPPED] python3-jeepney-0.7.1-1.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.1.0-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-3.0.5-14.el9s.noarch.rpm: Already downloaded DEBUG util.py:445: [SKIPPED] python3-msgpack-1.0.2-2.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.0-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-3.5.3-2.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-rfc3986-1.4.0-5.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.5-1.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-soupsieve-2.2.1-2.el9s.noarch.rpm: Already downloaded DEBUG util.py:445: [SKIPPED] python3-sqlparse-0.4.1-1.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-2.6.0-8.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-vine-5.0.0-3.el9s.noarch.rpm: Already downloaded DEBUG util.py:445: [SKIPPED] python3-voluptuous-0.12.1-2.el9s.noarch.rpm: Already downloaded DEBUG util.py:445: [SKIPPED] python3-waitress-1.4.4-3.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-2.0.35-6.el9s.noarch.rpm: Already downloaded DEBUG util.py:445: [SKIPPED] python3-wrapt-1.12.1-4.el9s.x86_64.rpm: Already downloaded DEBUG util.py:445: [SKIPPED] python3-yappi-1.3.1-2.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.29.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: (141/141): ipmitool-1.8.18-27.el9.x86_64.rpm 2.3 MB/s | 387 kB 00:00 DEBUG util.py:445: -------------------------------------------------------------------------------- DEBUG util.py:445: Total 2.2 MB/s | 387 kB 00:00 DEBUG util.py:445: Running transaction check DEBUG util.py:445: Transaction check succeeded. DEBUG util.py:445: Running transaction test DEBUG util.py:445: Transaction test succeeded. DEBUG util.py:445: Running transaction DEBUG util.py:445: Preparing : 1/1 DEBUG util.py:445: Installing : python3-stevedore-3.4.2-0.20221021074429.1c12706 1/146 DEBUG util.py:445: Installing : python3-webob-1.8.7-1.el9s.noarch 2/146 DEBUG util.py:445: Installing : python3-prettytable-0.7.2-27.el9.noarch 3/146 DEBUG util.py:445: Installing : python3-iso8601-0.1.13-4.el9s.noarch 4/146 DEBUG util.py:445: Installing : python3-netaddr-0.8.0-5.el9.noarch 5/146 DEBUG util.py:445: Installing : python3-decorator-4.4.2-6.el9.noarch 6/146 DEBUG util.py:445: Installing : python3-futurist-2.4.0-0.20211117191509.d70c7e5. 7/146 DEBUG util.py:445: Installing : python3-tenacity-6.3.1-1.el9s.noarch 8/146 DEBUG util.py:445: Installing : python3-mako-1.1.4-6.el9.noarch 9/146 DEBUG util.py:445: Installing : python3-dateutil-1:2.8.1-7.el9.noarch 10/146 DEBUG util.py:445: Installing : python3-os-service-types-1.7.0-0.20220222075507. 11/146 DEBUG util.py:445: Installing : python3-keystoneauth1-4.4.0-0.20240201063748.112 12/146 DEBUG util.py:445: Installing : python3-alembic-1.7.5-3.el9.noarch 13/146 DEBUG util.py:445: Installing : python3-dogpile-cache-1.1.5-1.el9s.noarch 14/146 DEBUG util.py:445: Installing : python3-wrapt-1.12.1-4.el9s.x86_64 15/146 DEBUG util.py:445: Installing : python3-debtcollector-2.3.0-0.20211117180744.0bf 16/146 DEBUG util.py:445: Installing : python3-oslo-context-3.3.2-0.20211117204246.7187 17/146 DEBUG util.py:445: Installing : python3-voluptuous-0.12.1-2.el9s.noarch 18/146 DEBUG util.py:445: Installing : python3-vine-5.0.0-3.el9s.noarch 19/146 DEBUG util.py:445: Installing : python3-amqp-5.0.6-1.el9s.noarch 20/146 DEBUG util.py:445: Installing : python3-tempita-0.5.2-2.el9s.noarch 21/146 DEBUG util.py:445: Installing : python3-rfc3986-1.4.0-5.el9s.noarch 22/146 DEBUG util.py:445: Installing : python3-pyOpenSSL-20.0.1-2.el9s.noarch 23/146 DEBUG util.py:445: Installing : python3-paste-3.5.0-3.el9s.noarch 24/146 DEBUG util.py:445: Installing : python3-msgpack-1.0.2-2.el9s.x86_64 25/146 DEBUG util.py:445: Installing : python3-jeepney-0.7.1-1.el9s.noarch 26/146 DEBUG util.py:445: Installing : python3-fasteners-0.14.1-24.el9s.noarch 27/146 DEBUG util.py:445: Installing : python3-extras-1.0.0-15.el9s.noarch 28/146 DEBUG util.py:445: Installing : python3-fixtures-3.0.0-22.el9s.noarch 29/146 DEBUG util.py:445: Installing : python3-testtools-2.5.0-2.el9s.noarch 30/146 DEBUG util.py:445: Installing : python3-subunit-1.4.0-6.el9s.noarch 31/146 DEBUG util.py:445: Installing : python3-bcrypt-3.1.7-7.el9s.x86_64 32/146 DEBUG util.py:445: Installing : python3-netifaces-0.10.6-15.el9.x86_64 33/146 DEBUG util.py:445: Installing : python3-attrs-20.3.0-7.el9.noarch 34/146 DEBUG util.py:445: Installing : python3-oslotest-4.5.0-0.20211117192626.d4b1896. 35/146 DEBUG util.py:445: Installing : python3-testscenarios-0.5.0-21.el9s.noarch 36/146 DEBUG util.py:445: Installing : python3-secretstorage-3.3.1-1.el9s.noarch 37/146 DEBUG util.py:445: Installing : python3-keyring-21.8.0-2.el9s.noarch 38/146 DEBUG util.py:445: Installing : python3-paste-deploy-2.1.1-2.el9s.noarch 39/146 DEBUG util.py:445: Installing : python3-kombu-1:5.1.0-3.el9s.noarch 40/146 DEBUG util.py:445: Installing : python3-sushy-3.12.6-0.20230120101535.e71373c.el 41/146 DEBUG util.py:445: Installing : python3-pyghmi-1.5.34-2.el9.noarch 42/146 DEBUG util.py:445: Installing : python3-etcd3gw-1.0.0-2.el9s.noarch 43/146 DEBUG util.py:445: Installing : python3-prometheus_client-0.9.0-2.el9s.noarch 44/146 DEBUG util.py:445: Installing : python3-automaton-2.4.0-0.20211117224632.0461d8e 45/146 DEBUG util.py:445: Installing : qpid-proton-c-0.35.0-2.el9s.x86_64 46/146 DEBUG util.py:445: Installing : python3-qpid-proton-0.35.0-2.el9s.x86_64 47/146 DEBUG util.py:445: Installing : python3-pyngus-2.3.0-8.el9s.noarch 48/146 DEBUG util.py:445: Installing : python3-yappi-1.3.1-2.el9s.x86_64 49/146 DEBUG util.py:445: Installing : python3-waitress-1.4.4-3.el9s.noarch 50/146 DEBUG util.py:445: Installing : python3-testresources-2.0.1-2.el9s.noarch 51/146 DEBUG util.py:445: Installing : python3-statsd-3.2.1-20.el9s.noarch 52/146 DEBUG util.py:445: Installing : python3-sqlparse-0.4.1-1.el9s.noarch 53/146 DEBUG util.py:445: Installing : python3-migrate-0.13.0-5.el9s.noarch 54/146 DEBUG util.py:445: Installing : python3-soupsieve-2.2.1-2.el9s.noarch 55/146 DEBUG util.py:445: Installing : python3-beautifulsoup4-4.9.3-2.el9s.noarch 56/146 DEBUG util.py:445: Installing : python3-lxml-4.6.5-3.el9.x86_64 57/146 DEBUG util.py:445: Installing : python3-dracclient-7.0.1-0.20220113135335.382ba1 58/146 DEBUG util.py:445: Installing : python3-webtest-2.0.35-6.el9s.noarch 59/146 DEBUG util.py:445: Installing : python3-smi-0.3.4-10.el9s.noarch 60/146 DEBUG util.py:445: Installing : python3-simplejson-3.17.5-1.el9s.x86_64 61/146 DEBUG util.py:445: Installing : python3-repoze-lru-0.7-10.el9s.noarch 62/146 DEBUG util.py:445: Installing : python3-routes-2.5.1-1.el9s.noarch 63/146 DEBUG util.py:445: Installing : python3-redis-3.5.3-2.el9s.noarch 64/146 DEBUG util.py:445: Installing : python3-pyperclip-1.8.0-3.el9s.noarch 65/146 DEBUG util.py:445: Installing : python3-munch-2.5.0-4.el9s.noarch 66/146 DEBUG util.py:445: Installing : python3-mock-3.0.5-14.el9s.noarch 67/146 DEBUG util.py:445: Installing : python3-memcached-1.59-3.el9s.noarch 68/146 DEBUG util.py:445: Installing : python3-logutils-0.3.5-15.el9s.noarch 69/146 DEBUG util.py:445: Installing : python3-pecan-1.4.0-2.el9s.noarch 70/146 DEBUG util.py:445: Installing : python3-kazoo-2.8.0-2.el9s.noarch 71/146 DEBUG util.py:445: Installing : python3-zake-0.2.2-22.el9s.noarch 72/146 DEBUG util.py:445: Installing : python3-jmespath-0.10.0-1.el9s.noarch 73/146 DEBUG util.py:445: Installing : python3-ifaddr-0.1.7-3.el9s.noarch 74/146 DEBUG util.py:445: Installing : python3-zeroconf-0.29.0-1.el9s.noarch 75/146 DEBUG util.py:445: Installing : python3-future-0.18.2-9.el9s.noarch 76/146 DEBUG util.py:445: Installing : python3-defusedxml-0.7.1-1.el9s.noarch 77/146 DEBUG util.py:445: Installing : python3-colorama-0.4.4-2.el9s.noarch 78/146 DEBUG util.py:445: Installing : python3-cachetools-4.2.2-1.el9s.noarch 79/146 DEBUG util.py:445: Installing : python3-autopage-0.4.0-1.el9s.noarch 80/146 DEBUG util.py:445: Installing : libsodium-1.0.18-7.el9s.x86_64 81/146 DEBUG util.py:445: Installing : python3-pynacl-1.4.0-2.el9s.x86_64 82/146 DEBUG util.py:445: Installing : python3-wcwidth-0.2.5-8.el9.noarch 83/146 DEBUG util.py:445: Installing : python3-cmd2-2.1.2-1.el9s.noarch 84/146 DEBUG util.py:445: Installing : python3-pyrsistent-0.17.3-8.el9.x86_64 85/146 DEBUG util.py:445: Installing : python3-jsonschema-3.2.0-13.el9.noarch 86/146 DEBUG util.py:445: Installing : python3-pycdlib-1.11.0-5.el9.noarch 87/146 DEBUG util.py:445: Installing : python3-pyasn1-0.4.8-6.el9.noarch 88/146 DEBUG util.py:445: Installing : python3-pysnmp-4.4.12-6.el9s.noarch 89/146 DEBUG util.py:445: Installing : python3-psutil-5.8.0-12.el9.x86_64 90/146 DEBUG util.py:445: Installing : python3-jsonpointer-2.0-4.el9.noarch 91/146 DEBUG util.py:445: Installing : python3-jsonpatch-1.21-16.el9.noarch 92/146 DEBUG util.py:445: Installing : python3-warlock-1.3.3-5.el9s.noarch 93/146 DEBUG util.py:445: Installing : python3-appdirs-1.4.4-4.el9.noarch 94/146 DEBUG util.py:445: Installing : python3-PyMySQL-0.10.1-6.el9.noarch 95/146 DEBUG util.py:445: Installing : ipmitool-1.8.18-27.el9.x86_64 96/146 DEBUG util.py:445: Running scriptlet: dnsmasq-2.85-16.el9.x86_64 97/146 DEBUG util.py:445: Installing : dnsmasq-2.85-16.el9.x86_64 97/146 DEBUG util.py:445: Running scriptlet: dnsmasq-2.85-16.el9.x86_64 97/146 DEBUG util.py:445: Installing : python3-inotify-0.9.6-25.el9.noarch 98/146 DEBUG util.py:445: Installing : libyaml-0.2.5-7.el9.x86_64 99/146 DEBUG util.py:445: Installing : python3-pyyaml-5.4.1-6.el9.x86_64 100/146 DEBUG util.py:445: Installing : python3-cliff-3.9.0-0.20211117182955.734bc0c.el9 101/146 DEBUG util.py:445: Installing : python3-stestr-2.6.0-8.el9s.noarch 102/146 DEBUG util.py:445: Installing : python3-requestsexceptions-1.4.0-0.2022022207531 103/146 DEBUG util.py:445: Installing : python3-openstacksdk-0.59.0-0.20211117194915.d0d 104/146 DEBUG util.py:445: Installing : python3-oslo-rootwrap-6.3.1-0.20220228092836.1b1 105/146 DEBUG util.py:445: Installing : python3-os-traits-2.6.0-0.20211118001148.c323982 106/146 DEBUG util.py:445: Installing : python-pycadf-common-3.1.1-0.20211117213327.4179 107/146 DEBUG util.py:445: Installing : python-oslo-versionedobjects-lang-2.5.0-0.202111 108/146 DEBUG util.py:445: Installing : python-oslo-utils-lang-4.10.2-0.20220513072911.9 109/146 DEBUG util.py:445: Installing : python-oslo-policy-lang-3.8.3-0.20211117210910.f 110/146 DEBUG util.py:445: Installing : python-oslo-middleware-lang-4.4.0-0.202111172115 111/146 DEBUG util.py:445: Installing : python-oslo-log-lang-4.6.0-0.20211117204802.41c8 112/146 DEBUG util.py:445: Installing : python-oslo-i18n-lang-5.1.0-0.20211117181855.b03 113/146 DEBUG util.py:445: Installing : python3-oslo-i18n-5.1.0-0.20211117181855.b031d17 114/146 DEBUG util.py:445: Installing : python3-oslo-utils-4.10.2-0.20220513072911.90a50 115/146 DEBUG util.py:445: Installing : python3-oslo-config-2:8.7.1-0.20211122091811.1a7 116/146 DEBUG util.py:445: Installing : python3-oslo-serialization-4.2.0-0.2021111720093 117/146 DEBUG util.py:445: Installing : python3-oslo-log-4.6.0-0.20211117204802.41c8807. 118/146 DEBUG util.py:445: Installing : python3-keystoneclient-1:4.3.0-0.20220713075914. 119/146 DEBUG util.py:445: Installing : python3-oslo-policy-3.8.3-0.20211117210910.ff2a3 120/146 DEBUG util.py:445: Installing : python3-oslo-middleware-4.4.0-0.20211117211553.d 121/146 DEBUG util.py:445: Installing : python3-oslo-upgradecheck-1.4.0-0.20211117215732 122/146 DEBUG util.py:445: Installing : python3-swiftclient-3.12.0-0.20211117201905.38c4 123/146 DEBUG util.py:445: Installing : python3-oslo-metrics-0.3.1-0.20220214085829.b904 124/146 DEBUG util.py:445: Installing : python3-scciclient-0.11.4-0.20220729095352.7c223 125/146 DEBUG util.py:445: Installing : python3-pycadf-3.1.1-0.20211117213327.4179996.el 126/146 DEBUG util.py:445: Installing : python3-tooz-2.9.0-0.20211117211911.174065f.el9. 127/146 DEBUG util.py:445: Installing : python3-cinderclient-8.1.0-0.20211117215955.fab6 128/146 DEBUG util.py:445: Installing : python3-glanceclient-1:3.5.0-0.20211117195751.74 129/146 DEBUG util.py:445: Installing : python-oslo-db-lang-11.0.0-0.20211117214750.7566 130/146 DEBUG util.py:445: Installing : python3-oslo-db-11.0.0-0.20211117214750.75661fb. 131/146 DEBUG util.py:445: Installing : python-oslo-concurrency-lang-4.4.1-0.20211117205 132/146 DEBUG util.py:445: Installing : python3-oslo-concurrency-4.4.1-0.20211117205442. 133/146 DEBUG util.py:445: Installing : python3-oslo-service-2.6.2-0.20220513142338.03d4 134/146 DEBUG util.py:445: Installing : python3-oslo-messaging-12.9.4-0.20220627084903.4 135/146 DEBUG util.py:445: Installing : python3-oslo-versionedobjects-2.5.0-0.2021111722 136/146 DEBUG util.py:445: Installing : python3-osprofiler-3.4.2-0.20211117224047.e475de 137/146 DEBUG util.py:445: Installing : python3-ironic-lib-5.0.1-0.20211125144845.b19124 138/146 DEBUG util.py:445: warning: group ironic does not exist - using root DEBUG util.py:445: Installing : python-oslo-cache-lang-2.8.2-0.20220318083438.55 139/146 DEBUG util.py:445: Installing : python3-oslo-cache-2.8.2-0.20220318083438.55cb19 140/146 DEBUG util.py:445: Installing : python3-keystonemiddleware-9.3.0-0.2021111721392 141/146 DEBUG util.py:445: Running scriptlet: openstack-ironic-common-1:18.3.1-0.2024051411503 142/146 DEBUG util.py:445: Installing : openstack-ironic-common-1:18.3.1-0.2024051411503 142/146 DEBUG util.py:445: Installing : openstack-ironic-conductor-1:18.3.1-0.2024051411 143/146 DEBUG util.py:445: Running scriptlet: openstack-ironic-conductor-1:18.3.1-0.2024051411 143/146 DEBUG util.py:445: Installing : openstack-ironic-api-1:18.3.1-0.20240514115031.9 144/146 DEBUG util.py:445: Running scriptlet: openstack-ironic-api-1:18.3.1-0.20240514115031.9 144/146 DEBUG util.py:445: Installing : python3-ironic-tests-1:18.3.1-0.20240514115031.9 145/146 DEBUG util.py:445: Installing : openstack-ironic-dnsmasq-tftp-server-1:18.3.1-0. 146/146 DEBUG util.py:445: Running scriptlet: openstack-ironic-dnsmasq-tftp-server-1:18.3.1-0. 146/146 DEBUG util.py:445: Verifying : python3-dracclient-7.0.1-0.20220113135335.382ba1 1/146 DEBUG util.py:445: Verifying : python3-ironic-lib-5.0.1-0.20211125144845.b19124 2/146 DEBUG util.py:445: Verifying : python3-scciclient-0.11.4-0.20220729095352.7c223 3/146 DEBUG util.py:445: Verifying : python3-sushy-3.12.6-0.20230120101535.e71373c.el 4/146 DEBUG util.py:445: Verifying : python3-cinderclient-8.1.0-0.20211117215955.fab6 5/146 DEBUG util.py:445: Verifying : python3-glanceclient-1:3.5.0-0.20211117195751.74 6/146 DEBUG util.py:445: Verifying : python3-keystoneclient-1:4.3.0-0.20220713075914. 7/146 DEBUG util.py:445: Verifying : python3-openstacksdk-0.59.0-0.20211117194915.d0d 8/146 DEBUG util.py:445: Verifying : python3-os-service-types-1.7.0-0.20220222075507. 9/146 DEBUG util.py:445: Verifying : python3-oslotest-4.5.0-0.20211117192626.d4b1896. 10/146 DEBUG util.py:445: Verifying : python3-stevedore-3.4.2-0.20221021074429.1c12706 11/146 DEBUG util.py:445: Verifying : python3-swiftclient-3.12.0-0.20211117201905.38c4 12/146 DEBUG util.py:445: Verifying : python-oslo-cache-lang-2.8.2-0.20220318083438.55 13/146 DEBUG util.py:445: Verifying : python-oslo-concurrency-lang-4.4.1-0.20211117205 14/146 DEBUG util.py:445: Verifying : python-oslo-db-lang-11.0.0-0.20211117214750.7566 15/146 DEBUG util.py:445: Verifying : python-oslo-i18n-lang-5.1.0-0.20211117181855.b03 16/146 DEBUG util.py:445: Verifying : python-oslo-log-lang-4.6.0-0.20211117204802.41c8 17/146 DEBUG util.py:445: Verifying : python-oslo-middleware-lang-4.4.0-0.202111172115 18/146 DEBUG util.py:445: Verifying : python-oslo-policy-lang-3.8.3-0.20211117210910.f 19/146 DEBUG util.py:445: Verifying : python-oslo-utils-lang-4.10.2-0.20220513072911.9 20/146 DEBUG util.py:445: Verifying : python-oslo-versionedobjects-lang-2.5.0-0.202111 21/146 DEBUG util.py:445: Verifying : python-pycadf-common-3.1.1-0.20211117213327.4179 22/146 DEBUG util.py:445: Verifying : python3-automaton-2.4.0-0.20211117224632.0461d8e 23/146 DEBUG util.py:445: Verifying : python3-cliff-3.9.0-0.20211117182955.734bc0c.el9 24/146 DEBUG util.py:445: Verifying : python3-debtcollector-2.3.0-0.20211117180744.0bf 25/146 DEBUG util.py:445: Verifying : python3-futurist-2.4.0-0.20211117191509.d70c7e5. 26/146 DEBUG util.py:445: Verifying : python3-os-traits-2.6.0-0.20211118001148.c323982 27/146 DEBUG util.py:445: Verifying : python3-oslo-cache-2.8.2-0.20220318083438.55cb19 28/146 DEBUG util.py:445: Verifying : python3-oslo-concurrency-4.4.1-0.20211117205442. 29/146 DEBUG util.py:445: Verifying : python3-oslo-config-2:8.7.1-0.20211122091811.1a7 30/146 DEBUG util.py:445: Verifying : python3-oslo-context-3.3.2-0.20211117204246.7187 31/146 DEBUG util.py:445: Verifying : python3-oslo-db-11.0.0-0.20211117214750.75661fb. 32/146 DEBUG util.py:445: Verifying : python3-oslo-i18n-5.1.0-0.20211117181855.b031d17 33/146 DEBUG util.py:445: Verifying : python3-oslo-log-4.6.0-0.20211117204802.41c8807. 34/146 DEBUG util.py:445: Verifying : python3-oslo-messaging-12.9.4-0.20220627084903.4 35/146 DEBUG util.py:445: Verifying : python3-oslo-metrics-0.3.1-0.20220214085829.b904 36/146 DEBUG util.py:445: Verifying : python3-oslo-middleware-4.4.0-0.20211117211553.d 37/146 DEBUG util.py:445: Verifying : python3-oslo-policy-3.8.3-0.20211117210910.ff2a3 38/146 DEBUG util.py:445: Verifying : python3-oslo-rootwrap-6.3.1-0.20220228092836.1b1 39/146 DEBUG util.py:445: Verifying : python3-oslo-serialization-4.2.0-0.2021111720093 40/146 DEBUG util.py:445: Verifying : python3-oslo-service-2.6.2-0.20220513142338.03d4 41/146 DEBUG util.py:445: Verifying : python3-oslo-upgradecheck-1.4.0-0.20211117215732 42/146 DEBUG util.py:445: Verifying : python3-oslo-utils-4.10.2-0.20220513072911.90a50 43/146 DEBUG util.py:445: Verifying : python3-oslo-versionedobjects-2.5.0-0.2021111722 44/146 DEBUG util.py:445: Verifying : python3-osprofiler-3.4.2-0.20211117224047.e475de 45/146 DEBUG util.py:445: Verifying : python3-pycadf-3.1.1-0.20211117213327.4179996.el 46/146 DEBUG util.py:445: Verifying : python3-requestsexceptions-1.4.0-0.2022022207531 47/146 DEBUG util.py:445: Verifying : python3-tooz-2.9.0-0.20211117211911.174065f.el9. 48/146 DEBUG util.py:445: Verifying : python3-keystoneauth1-4.4.0-0.20240201063748.112 49/146 DEBUG util.py:445: Verifying : python3-keystonemiddleware-9.3.0-0.2021111721392 50/146 DEBUG util.py:445: Verifying : libyaml-0.2.5-7.el9.x86_64 51/146 DEBUG util.py:445: Verifying : python3-dateutil-1:2.8.1-7.el9.noarch 52/146 DEBUG util.py:445: Verifying : python3-decorator-4.4.2-6.el9.noarch 53/146 DEBUG util.py:445: Verifying : python3-inotify-0.9.6-25.el9.noarch 54/146 DEBUG util.py:445: Verifying : python3-pyyaml-5.4.1-6.el9.x86_64 55/146 DEBUG util.py:445: Verifying : dnsmasq-2.85-16.el9.x86_64 56/146 DEBUG util.py:445: Verifying : ipmitool-1.8.18-27.el9.x86_64 57/146 DEBUG util.py:445: Verifying : python3-PyMySQL-0.10.1-6.el9.noarch 58/146 DEBUG util.py:445: Verifying : python3-alembic-1.7.5-3.el9.noarch 59/146 DEBUG util.py:445: Verifying : python3-appdirs-1.4.4-4.el9.noarch 60/146 DEBUG util.py:445: Verifying : python3-attrs-20.3.0-7.el9.noarch 61/146 DEBUG util.py:445: Verifying : python3-jsonpatch-1.21-16.el9.noarch 62/146 DEBUG util.py:445: Verifying : python3-jsonpointer-2.0-4.el9.noarch 63/146 DEBUG util.py:445: Verifying : python3-jsonschema-3.2.0-13.el9.noarch 64/146 DEBUG util.py:445: Verifying : python3-lxml-4.6.5-3.el9.x86_64 65/146 DEBUG util.py:445: Verifying : python3-mako-1.1.4-6.el9.noarch 66/146 DEBUG util.py:445: Verifying : python3-netaddr-0.8.0-5.el9.noarch 67/146 DEBUG util.py:445: Verifying : python3-netifaces-0.10.6-15.el9.x86_64 68/146 DEBUG util.py:445: Verifying : python3-prettytable-0.7.2-27.el9.noarch 69/146 DEBUG util.py:445: Verifying : python3-psutil-5.8.0-12.el9.x86_64 70/146 DEBUG util.py:445: Verifying : python3-pyasn1-0.4.8-6.el9.noarch 71/146 DEBUG util.py:445: Verifying : python3-pycdlib-1.11.0-5.el9.noarch 72/146 DEBUG util.py:445: Verifying : python3-pyghmi-1.5.34-2.el9.noarch 73/146 DEBUG util.py:445: Verifying : python3-pyrsistent-0.17.3-8.el9.x86_64 74/146 DEBUG util.py:445: Verifying : python3-wcwidth-0.2.5-8.el9.noarch 75/146 DEBUG util.py:445: Verifying : libsodium-1.0.18-7.el9s.x86_64 76/146 DEBUG util.py:445: Verifying : python3-amqp-5.0.6-1.el9s.noarch 77/146 DEBUG util.py:445: Verifying : python3-autopage-0.4.0-1.el9s.noarch 78/146 DEBUG util.py:445: Verifying : python3-bcrypt-3.1.7-7.el9s.x86_64 79/146 DEBUG util.py:445: Verifying : python3-beautifulsoup4-4.9.3-2.el9s.noarch 80/146 DEBUG util.py:445: Verifying : python3-cachetools-4.2.2-1.el9s.noarch 81/146 DEBUG util.py:445: Verifying : python3-cmd2-2.1.2-1.el9s.noarch 82/146 DEBUG util.py:445: Verifying : python3-colorama-0.4.4-2.el9s.noarch 83/146 DEBUG util.py:445: Verifying : python3-defusedxml-0.7.1-1.el9s.noarch 84/146 DEBUG util.py:445: Verifying : python3-dogpile-cache-1.1.5-1.el9s.noarch 85/146 DEBUG util.py:445: Verifying : python3-etcd3gw-1.0.0-2.el9s.noarch 86/146 DEBUG util.py:445: Verifying : python3-extras-1.0.0-15.el9s.noarch 87/146 DEBUG util.py:445: Verifying : python3-fasteners-0.14.1-24.el9s.noarch 88/146 DEBUG util.py:445: Verifying : python3-fixtures-3.0.0-22.el9s.noarch 89/146 DEBUG util.py:445: Verifying : python3-future-0.18.2-9.el9s.noarch 90/146 DEBUG util.py:445: Verifying : python3-ifaddr-0.1.7-3.el9s.noarch 91/146 DEBUG util.py:445: Verifying : python3-iso8601-0.1.13-4.el9s.noarch 92/146 DEBUG util.py:445: Verifying : python3-jeepney-0.7.1-1.el9s.noarch 93/146 DEBUG util.py:445: Verifying : python3-jmespath-0.10.0-1.el9s.noarch 94/146 DEBUG util.py:445: Verifying : python3-kazoo-2.8.0-2.el9s.noarch 95/146 DEBUG util.py:445: Verifying : python3-keyring-21.8.0-2.el9s.noarch 96/146 DEBUG util.py:445: Verifying : python3-kombu-1:5.1.0-3.el9s.noarch 97/146 DEBUG util.py:445: Verifying : python3-logutils-0.3.5-15.el9s.noarch 98/146 DEBUG util.py:445: Verifying : python3-memcached-1.59-3.el9s.noarch 99/146 DEBUG util.py:445: Verifying : python3-migrate-0.13.0-5.el9s.noarch 100/146 DEBUG util.py:445: Verifying : python3-mock-3.0.5-14.el9s.noarch 101/146 DEBUG util.py:445: Verifying : python3-msgpack-1.0.2-2.el9s.x86_64 102/146 DEBUG util.py:445: Verifying : python3-munch-2.5.0-4.el9s.noarch 103/146 DEBUG util.py:445: Verifying : python3-paste-3.5.0-3.el9s.noarch 104/146 DEBUG util.py:445: Verifying : python3-paste-deploy-2.1.1-2.el9s.noarch 105/146 DEBUG util.py:445: Verifying : python3-pecan-1.4.0-2.el9s.noarch 106/146 DEBUG util.py:445: Verifying : python3-prometheus_client-0.9.0-2.el9s.noarch 107/146 DEBUG util.py:445: Verifying : python3-pyOpenSSL-20.0.1-2.el9s.noarch 108/146 DEBUG util.py:445: Verifying : python3-pynacl-1.4.0-2.el9s.x86_64 109/146 DEBUG util.py:445: Verifying : python3-pyngus-2.3.0-8.el9s.noarch 110/146 DEBUG util.py:445: Verifying : python3-pyperclip-1.8.0-3.el9s.noarch 111/146 DEBUG util.py:445: Verifying : python3-pysnmp-4.4.12-6.el9s.noarch 112/146 DEBUG util.py:445: Verifying : python3-qpid-proton-0.35.0-2.el9s.x86_64 113/146 DEBUG util.py:445: Verifying : python3-redis-3.5.3-2.el9s.noarch 114/146 DEBUG util.py:445: Verifying : python3-repoze-lru-0.7-10.el9s.noarch 115/146 DEBUG util.py:445: Verifying : python3-rfc3986-1.4.0-5.el9s.noarch 116/146 DEBUG util.py:445: Verifying : python3-routes-2.5.1-1.el9s.noarch 117/146 DEBUG util.py:445: Verifying : python3-secretstorage-3.3.1-1.el9s.noarch 118/146 DEBUG util.py:445: Verifying : python3-simplejson-3.17.5-1.el9s.x86_64 119/146 DEBUG util.py:445: Verifying : python3-smi-0.3.4-10.el9s.noarch 120/146 DEBUG util.py:445: Verifying : python3-soupsieve-2.2.1-2.el9s.noarch 121/146 DEBUG util.py:445: Verifying : python3-sqlparse-0.4.1-1.el9s.noarch 122/146 DEBUG util.py:445: Verifying : python3-statsd-3.2.1-20.el9s.noarch 123/146 DEBUG util.py:445: Verifying : python3-stestr-2.6.0-8.el9s.noarch 124/146 DEBUG util.py:445: Verifying : python3-subunit-1.4.0-6.el9s.noarch 125/146 DEBUG util.py:445: Verifying : python3-tempita-0.5.2-2.el9s.noarch 126/146 DEBUG util.py:445: Verifying : python3-tenacity-6.3.1-1.el9s.noarch 127/146 DEBUG util.py:445: Verifying : python3-testresources-2.0.1-2.el9s.noarch 128/146 DEBUG util.py:445: Verifying : python3-testscenarios-0.5.0-21.el9s.noarch 129/146 DEBUG util.py:445: Verifying : python3-testtools-2.5.0-2.el9s.noarch 130/146 DEBUG util.py:445: Verifying : python3-vine-5.0.0-3.el9s.noarch 131/146 DEBUG util.py:445: Verifying : python3-voluptuous-0.12.1-2.el9s.noarch 132/146 DEBUG util.py:445: Verifying : python3-waitress-1.4.4-3.el9s.noarch 133/146 DEBUG util.py:445: Verifying : python3-warlock-1.3.3-5.el9s.noarch 134/146 DEBUG util.py:445: Verifying : python3-webob-1.8.7-1.el9s.noarch 135/146 DEBUG util.py:445: Verifying : python3-webtest-2.0.35-6.el9s.noarch 136/146 DEBUG util.py:445: Verifying : python3-wrapt-1.12.1-4.el9s.x86_64 137/146 DEBUG util.py:445: Verifying : python3-yappi-1.3.1-2.el9s.x86_64 138/146 DEBUG util.py:445: Verifying : python3-zake-0.2.2-22.el9s.noarch 139/146 DEBUG util.py:445: Verifying : python3-zeroconf-0.29.0-1.el9s.noarch 140/146 DEBUG util.py:445: Verifying : qpid-proton-c-0.35.0-2.el9s.x86_64 141/146 DEBUG util.py:445: Verifying : openstack-ironic-conductor-1:18.3.1-0.2024051411 142/146 DEBUG util.py:445: Verifying : openstack-ironic-common-1:18.3.1-0.2024051411503 143/146 DEBUG util.py:445: Verifying : openstack-ironic-dnsmasq-tftp-server-1:18.3.1-0. 144/146 DEBUG util.py:445: Verifying : openstack-ironic-api-1:18.3.1-0.20240514115031.9 145/146 DEBUG util.py:445: Verifying : python3-ironic-tests-1:18.3.1-0.20240514115031.9 146/146 DEBUG util.py:445: Installed: DEBUG util.py:445: dnsmasq-2.85-16.el9.x86_64 DEBUG util.py:445: ipmitool-1.8.18-27.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: openstack-ironic-api-1:18.3.1-0.20240514115031.96d2c3c.el9.noarch DEBUG util.py:445: openstack-ironic-common-1:18.3.1-0.20240514115031.96d2c3c.el9.noarch DEBUG util.py:445: openstack-ironic-conductor-1:18.3.1-0.20240514115031.96d2c3c.el9.noarch DEBUG util.py:445: openstack-ironic-dnsmasq-tftp-server-1:18.3.1-0.20240514115031.96d2c3c.el9.noarch DEBUG util.py:445: python-oslo-cache-lang-2.8.2-0.20220318083438.55cb199.el9.noarch DEBUG util.py:445: python-oslo-concurrency-lang-4.4.1-0.20211117205442.8e08400.el9.noarch DEBUG util.py:445: python-oslo-db-lang-11.0.0-0.20211117214750.75661fb.el9.noarch DEBUG util.py:445: python-oslo-i18n-lang-5.1.0-0.20211117181855.b031d17.el9.noarch DEBUG util.py:445: python-oslo-log-lang-4.6.0-0.20211117204802.41c8807.el9.noarch DEBUG util.py:445: python-oslo-middleware-lang-4.4.0-0.20211117211553.da7987c.el9.noarch DEBUG util.py:445: python-oslo-policy-lang-3.8.3-0.20211117210910.ff2a39f.el9.noarch DEBUG util.py:445: python-oslo-utils-lang-4.10.2-0.20220513072911.90a5046.el9.noarch DEBUG util.py:445: python-oslo-versionedobjects-lang-2.5.0-0.20211117221900.a85275f.el9.noarch DEBUG util.py:445: python-pycadf-common-3.1.1-0.20211117213327.4179996.el9.noarch DEBUG util.py:445: python3-PyMySQL-0.10.1-6.el9.noarch DEBUG util.py:445: python3-alembic-1.7.5-3.el9.noarch DEBUG util.py:445: python3-amqp-5.0.6-1.el9s.noarch DEBUG util.py:445: python3-appdirs-1.4.4-4.el9.noarch DEBUG util.py:445: python3-attrs-20.3.0-7.el9.noarch DEBUG util.py:445: python3-automaton-2.4.0-0.20211117224632.0461d8e.el9.noarch DEBUG util.py:445: python3-autopage-0.4.0-1.el9s.noarch DEBUG util.py:445: python3-bcrypt-3.1.7-7.el9s.x86_64 DEBUG util.py:445: python3-beautifulsoup4-4.9.3-2.el9s.noarch DEBUG util.py:445: python3-cachetools-4.2.2-1.el9s.noarch DEBUG util.py:445: python3-cinderclient-8.1.0-0.20211117215955.fab6ddf.el9.noarch DEBUG util.py:445: python3-cliff-3.9.0-0.20211117182955.734bc0c.el9.noarch DEBUG util.py:445: python3-cmd2-2.1.2-1.el9s.noarch DEBUG util.py:445: python3-colorama-0.4.4-2.el9s.noarch DEBUG util.py:445: python3-dateutil-1:2.8.1-7.el9.noarch DEBUG util.py:445: python3-debtcollector-2.3.0-0.20211117180744.0bf5bf5.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-dogpile-cache-1.1.5-1.el9s.noarch DEBUG util.py:445: python3-dracclient-7.0.1-0.20220113135335.382ba1c.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.14.1-24.el9s.noarch DEBUG util.py:445: python3-fixtures-3.0.0-22.el9s.noarch DEBUG util.py:445: python3-future-0.18.2-9.el9s.noarch DEBUG util.py:445: python3-futurist-2.4.0-0.20211117191509.d70c7e5.el9.noarch DEBUG util.py:445: python3-glanceclient-1:3.5.0-0.20211117195751.74a55bd.el9.noarch DEBUG util.py:445: python3-ifaddr-0.1.7-3.el9s.noarch DEBUG util.py:445: python3-inotify-0.9.6-25.el9.noarch DEBUG util.py:445: python3-ironic-lib-5.0.1-0.20211125144845.b19124e.el9.noarch DEBUG util.py:445: python3-ironic-tests-1:18.3.1-0.20240514115031.96d2c3c.el9.noarch DEBUG util.py:445: python3-iso8601-0.1.13-4.el9s.noarch DEBUG util.py:445: python3-jeepney-0.7.1-1.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-4.4.0-0.20240201063748.112bcae.el9.noarch DEBUG util.py:445: python3-keystoneclient-1:4.3.0-0.20220713075914.d5cb761.el9.noarch DEBUG util.py:445: python3-keystonemiddleware-9.3.0-0.20211117213925.90df936.el9.noarch DEBUG util.py:445: python3-kombu-1:5.1.0-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-3.0.5-14.el9s.noarch DEBUG util.py:445: python3-msgpack-1.0.2-2.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.59.0-0.20211117194915.d0d4d8b.el9.noarch DEBUG util.py:445: python3-os-service-types-1.7.0-0.20220222075507.0b2f473.el9.noarch DEBUG util.py:445: python3-os-traits-2.6.0-0.20211118001148.c323982.el9.noarch DEBUG util.py:445: python3-oslo-cache-2.8.2-0.20220318083438.55cb199.el9.noarch DEBUG util.py:445: python3-oslo-concurrency-4.4.1-0.20211117205442.8e08400.el9.noarch DEBUG util.py:445: python3-oslo-config-2:8.7.1-0.20211122091811.1a7bd66.el9.noarch DEBUG util.py:445: python3-oslo-context-3.3.2-0.20211117204246.7187c67.el9.noarch DEBUG util.py:445: python3-oslo-db-11.0.0-0.20211117214750.75661fb.el9.noarch DEBUG util.py:445: python3-oslo-i18n-5.1.0-0.20211117181855.b031d17.el9.noarch DEBUG util.py:445: python3-oslo-log-4.6.0-0.20211117204802.41c8807.el9.noarch DEBUG util.py:445: python3-oslo-messaging-12.9.4-0.20220627084903.49ec24c.el9.noarch DEBUG util.py:445: python3-oslo-metrics-0.3.1-0.20220214085829.b904335.el9.noarch DEBUG util.py:445: python3-oslo-middleware-4.4.0-0.20211117211553.da7987c.el9.noarch DEBUG util.py:445: python3-oslo-policy-3.8.3-0.20211117210910.ff2a39f.el9.noarch DEBUG util.py:445: python3-oslo-rootwrap-6.3.1-0.20220228092836.1b1b960.el9.noarch DEBUG util.py:445: python3-oslo-serialization-4.2.0-0.20211117200938.2b94a4f.el9.noarch DEBUG util.py:445: python3-oslo-service-2.6.2-0.20220513142338.03d4fdd.el9.noarch DEBUG util.py:445: python3-oslo-upgradecheck-1.4.0-0.20211117215732.3ca8698.el9.noarch DEBUG util.py:445: python3-oslo-utils-4.10.2-0.20220513072911.90a5046.el9.noarch DEBUG util.py:445: python3-oslo-versionedobjects-2.5.0-0.20211117221900.a85275f.el9.noarch DEBUG util.py:445: python3-oslotest-4.5.0-0.20211117192626.d4b1896.el9.noarch DEBUG util.py:445: python3-osprofiler-3.4.2-0.20211117224047.e475de6.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.0-2.el9s.noarch DEBUG util.py:445: python3-prettytable-0.7.2-27.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.20211117213327.4179996.el9.noarch DEBUG util.py:445: python3-pycdlib-1.11.0-5.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-3.5.3-2.el9s.noarch DEBUG util.py:445: python3-repoze-lru-0.7-10.el9s.noarch DEBUG util.py:445: python3-requestsexceptions-1.4.0-0.20220222075317.d7ac0ff.el9.noarch DEBUG util.py:445: python3-rfc3986-1.4.0-5.el9s.noarch DEBUG util.py:445: python3-routes-2.5.1-1.el9s.noarch DEBUG util.py:445: python3-scciclient-0.11.4-0.20220729095352.7c22357.el9.noarch DEBUG util.py:445: python3-secretstorage-3.3.1-1.el9s.noarch DEBUG util.py:445: python3-simplejson-3.17.5-1.el9s.x86_64 DEBUG util.py:445: python3-smi-0.3.4-10.el9s.noarch DEBUG util.py:445: python3-soupsieve-2.2.1-2.el9s.noarch DEBUG util.py:445: python3-sqlparse-0.4.1-1.el9s.noarch DEBUG util.py:445: python3-statsd-3.2.1-20.el9s.noarch DEBUG util.py:445: python3-stestr-2.6.0-8.el9s.noarch DEBUG util.py:445: python3-stevedore-3.4.2-0.20221021074429.1c12706.el9.noarch DEBUG util.py:445: python3-subunit-1.4.0-6.el9s.noarch DEBUG util.py:445: python3-sushy-3.12.6-0.20230120101535.e71373c.el9.noarch DEBUG util.py:445: python3-swiftclient-3.12.0-0.20211117201905.38c435f.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-2.9.0-0.20211117211911.174065f.el9.noarch DEBUG util.py:445: python3-vine-5.0.0-3.el9s.noarch DEBUG util.py:445: python3-voluptuous-0.12.1-2.el9s.noarch DEBUG util.py:445: python3-waitress-1.4.4-3.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-2.0.35-6.el9s.noarch DEBUG util.py:445: python3-wrapt-1.12.1-4.el9s.x86_64 DEBUG util.py:445: python3-yappi-1.3.1-2.el9s.x86_64 DEBUG util.py:445: python3-zake-0.2.2-22.el9s.noarch DEBUG util.py:445: python3-zeroconf-0.29.0-1.el9s.noarch DEBUG util.py:445: qpid-proton-c-0.35.0-2.el9s.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-xena-x86_64-5-bootstrap/root/home/centos9-xena/data/repos/component/baremetal/96/d2/96d2c3cb44f6c3a355c4b6ac51345009bfd25e10_4c152d56'] with env {'TERM': 'vt100', 'SHELL': '/bin/sh', 'HOME': '/builddir', 'HOSTNAME': 'mock', 'PATH': '/usr/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-xena-x86_64-5-bootstrap/root/var/lib/mock/dlrn-centos9-xena-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-xena-x86_64-5-bootstrap/root/var/lib/mock/dlrn-centos9-xena-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-xena-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-xena-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-xena-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-xena-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-xena-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-xena-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-xena-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-xena-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-xena-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-xena-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-xena-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-xena-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-xena-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-xena-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-xena-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-xena-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-xena-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-xena-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-xena-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-xena-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-xena-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